JdPayController.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using Microsoft.AspNetCore.Mvc;
  2. using Essensoft.AspNetCore.JdPay.Request;
  3. using Essensoft.AspNetCore.JdPay;
  4. using System.Threading.Tasks;
  5. namespace WebApplicationSample.Controllers
  6. {
  7. public class JdPayController : Controller
  8. {
  9. public readonly JdPayClient _client = null;
  10. public JdPayController(JdPayClient client)
  11. {
  12. _client = client;
  13. }
  14. [HttpPost]
  15. public async Task<IActionResult> Uniorder(string tradeNum, string tradeName, string tradeDesc, string tradeTime, string amount,
  16. string orderType, string currency, string note, string notifyUrl, string tradeType)
  17. {
  18. var request = new JdPayUnifiedOrderRequest()
  19. {
  20. TradeNum = tradeNum,
  21. TradeName = tradeName,
  22. TradeDesc = tradeDesc,
  23. TradeTime = tradeTime,
  24. Amount = amount,
  25. OrderType = orderType,
  26. Currency = currency,
  27. Note = note,
  28. NotifyUrl = notifyUrl,
  29. TradeType = tradeType
  30. };
  31. var response = await _client.ExecuteAsync(request);
  32. return Content(response.Body);
  33. }
  34. [HttpPost]
  35. public async Task<IActionResult> OrderQuery(string tradeNum, string oTradeNum)
  36. {
  37. var request = new JdPayOrderQueryRequest()
  38. {
  39. TradeNum = tradeNum,
  40. OTradeNum = oTradeNum
  41. };
  42. var response = await _client.ExecuteAsync(request);
  43. return Content(response.Body);
  44. }
  45. [HttpPost]
  46. public async Task<IActionResult> Refund(string tradeNum, string oTradeNum, long amount, string currency)
  47. {
  48. var request = new JdPayRefundRequest()
  49. {
  50. TradeNum = tradeNum,
  51. OTradeNum = oTradeNum,
  52. Amount = amount,
  53. Currency = currency,
  54. };
  55. var response = await _client.ExecuteAsync(request);
  56. return Content(response.Body);
  57. }
  58. [HttpPost]
  59. public async Task<IActionResult> RefundQuery(string tradeNum, string oTradeNum)
  60. {
  61. var request = new JdPayRefundQueryRequest()
  62. {
  63. TradeNum = tradeNum,
  64. OTradeNum = oTradeNum
  65. };
  66. var response = await _client.ExecuteAsync(request);
  67. return Content(response.Body);
  68. }
  69. }
  70. }