123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- using Essensoft.AspNetCore.QPay;
- using Essensoft.AspNetCore.QPay.Request;
- using Microsoft.AspNetCore.Mvc;
- using System.Threading.Tasks;
- namespace WebApplicationSample.Controllers
- {
- public class QPayController : Controller
- {
- public readonly QPayClient _client = null;
- public readonly QPayCertificateClient _certClient = null;
- public QPayController(QPayClient client, QPayCertificateClient certClient)
- {
- _client = client;
- _certClient = certClient;
- }
- [HttpPost]
- public async Task<IActionResult> UnifiedOrder(string out_trade_no, string body, int total_fee, string spbill_create_ip, string notify_url, string trade_type)
- {
- var request = new QPayUnifiedOrderRequest()
- {
- OutTradeNo = out_trade_no,
- Body = body,
- TotalFee = total_fee,
- SpbillCreateIp = spbill_create_ip,
- NotifyUrl = notify_url,
- TradeType = trade_type,
- };
- var response = await _client.ExecuteAsync(request);
- return Ok(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> OrderQuery(string transaction_id, string out_trade_no)
- {
- var request = new QPayOrderQueryRequest()
- {
- TransactionId = transaction_id,
- OutTradeNo = out_trade_no,
- };
- var response = await _client.ExecuteAsync(request);
- return Ok(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> CloseOrder(string out_trade_no)
- {
- var request = new QPayCloseOrderRequest()
- {
- OutTradeNo = out_trade_no,
- };
- var response = await _client.ExecuteAsync(request);
- return Ok(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> Refund(string out_refund_no, string transaction_id, string out_trade_no, int refund_fee, string op_user_id, string op_user_passwd)
- {
- var request = new QPayRefundRequest()
- {
- OutRefundNo = out_refund_no,
- TransactionId = transaction_id,
- OutTradeNo = out_trade_no,
- RefundFee = refund_fee,
- OpUserId = op_user_id,
- OpUserPasswd = op_user_passwd,
- };
- var response = await _certClient.ExecuteAsync(request);
- return Ok(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> RefundQuery(string refund_id, string out_refund_no, string transaction_id, string out_trade_no)
- {
- var request = new QPayRefundQueryRequest()
- {
- RefundId = refund_id,
- OutRefundNo = out_refund_no,
- TransactionId = transaction_id,
- OutTradeNo = out_trade_no,
- };
- var response = await _client.ExecuteAsync(request);
- return Ok(response.Body);
- }
- }
- }
|