123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- using Essensoft.AspNetCore.Payment.JdPay;
- using Essensoft.AspNetCore.Payment.JdPay.Notify;
- using Essensoft.AspNetCore.Payment.JdPay.Request;
- using Microsoft.AspNetCore.Mvc;
- using System.Threading.Tasks;
- namespace WebApplicationSample.Controllers
- {
- public class JdPayController : Controller
- {
- private readonly JdPayClient _client = null;
- private readonly JdPayNotifyClient _notifyClient = null;
- public JdPayController(JdPayClient client, JdPayNotifyClient notifyClient)
- {
- _client = client;
- _notifyClient = notifyClient;
- }
- [HttpPost]
- public async Task<IActionResult> SaveOrderPC(string tradeNum, string tradeName, string tradeDesc, string tradeTime, string amount, string orderType, string currency, string note, string callbackUrl, string notifyUrl, string tradeType)
- {
- var request = new JdPaySaveOrderPCRequest()
- {
- TradeNum = tradeNum,
- TradeName = tradeName,
- TradeDesc = tradeDesc,
- TradeTime = tradeTime,
- Amount = amount,
- OrderType = orderType,
- Currency = currency,
- Note = note,
- CallbackUrl = callbackUrl,
- NotifyUrl = notifyUrl,
- };
- var response = await _client.PageExecuteAsync(request, "POST");
- return Content(response.Body, "text/html");
- }
- [HttpPost]
- public async Task<IActionResult> SaveOrderH5(string tradeNum, string tradeName, string tradeDesc, string tradeTime, string amount, string orderType, string currency, string note, string callbackUrl, string notifyUrl, string tradeType)
- {
- var request = new JdPaySaveOrderH5Request()
- {
- TradeNum = tradeNum,
- TradeName = tradeName,
- TradeDesc = tradeDesc,
- TradeTime = tradeTime,
- Amount = amount,
- OrderType = orderType,
- Currency = currency,
- Note = note,
- CallbackUrl = callbackUrl,
- NotifyUrl = notifyUrl,
- };
- var response = await _client.PageExecuteAsync(request, "POST");
- return Content(response.Body, "text/html");
- }
- [HttpPost]
- public async Task<IActionResult> Uniorder(string tradeNum, string tradeName, string tradeDesc, string tradeTime, string amount,
- string orderType, string currency, string note, string notifyUrl, string tradeType)
- {
- var request = new JdPayUnifiedOrderRequest()
- {
- TradeNum = tradeNum,
- TradeName = tradeName,
- TradeDesc = tradeDesc,
- TradeTime = tradeTime,
- Amount = amount,
- OrderType = orderType,
- Currency = currency,
- Note = note,
- NotifyUrl = notifyUrl,
- TradeType = tradeType
- };
- var response = await _client.ExecuteAsync(request);
- return Content(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> OrderQuery(string tradeNum, string oTradeNum)
- {
- var request = new JdPayOrderQueryRequest()
- {
- TradeNum = tradeNum,
- OTradeNum = oTradeNum
- };
- var response = await _client.ExecuteAsync(request);
- return Content(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> Refund(string tradeNum, string oTradeNum, long amount, string currency, string notifyUrl)
- {
- var request = new JdPayRefundRequest()
- {
- TradeNum = tradeNum,
- OTradeNum = oTradeNum,
- Amount = amount,
- Currency = currency,
- NotifyUrl = notifyUrl
- };
- var response = await _client.ExecuteAsync(request);
- return Content(response.Body);
- }
- [HttpPost]
- public async Task<IActionResult> RefundQuery(string tradeNum, string oTradeNum)
- {
- var request = new JdPayQueryRefundRequest()
- {
- TradeNum = tradeNum,
- OTradeNum = oTradeNum
- };
- var response = await _client.ExecuteAsync(request);
- return Content(response.Body);
- }
- [HttpGet] // h5 get
- [HttpPost] // pc post
- public async Task<IActionResult> Return()
- {
- try
- {
- var notify = await _notifyClient.ExecuteAsync<JdPaySyncReturnResponse>(Request);
- return Content("success", "text/plain");
- }
- catch
- {
- return Content("error", "text/plain");
- }
- }
- }
- }
|