AlipayReturnController.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System.Threading.Tasks;
  2. using Essensoft.Paylink.Alipay;
  3. using Essensoft.Paylink.Alipay.Notify;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.Extensions.Logging;
  6. using Microsoft.Extensions.Options;
  7. namespace WebApplicationSample.Controllers
  8. {
  9. [Route("alipay/return")]
  10. public class AlipayReturnController : Controller
  11. {
  12. private readonly ILogger<AlipayReturnController> _logger;
  13. private readonly IAlipayNotifyClient _client;
  14. private readonly IOptions<AlipayOptions> _optionsAccessor;
  15. public AlipayReturnController(ILogger<AlipayReturnController> logger, IAlipayNotifyClient client, IOptions<AlipayOptions> optionsAccessor)
  16. {
  17. _logger = logger;
  18. _client = client;
  19. _optionsAccessor = optionsAccessor;
  20. }
  21. /// <summary>
  22. /// 电脑网站支付 - 同步跳转
  23. /// </summary>
  24. [Route("pagepay")]
  25. [HttpGet]
  26. public async Task<IActionResult> PagePay()
  27. {
  28. try
  29. {
  30. var notify = await _client.ExecuteAsync<AlipayTradePagePayReturn>(Request, _optionsAccessor.Value);
  31. ViewData["response"] = "支付成功";
  32. return View();
  33. }
  34. catch (AlipayException ex)
  35. {
  36. _logger.LogWarning("出现异常: " + ex.Message);
  37. ViewData["response"] = "出现错误";
  38. return View();
  39. }
  40. }
  41. /// <summary>
  42. /// 手机网站支付 - 同步跳转
  43. /// </summary>
  44. [HttpGet]
  45. [Route("wappay")]
  46. public async Task<IActionResult> WapPay()
  47. {
  48. try
  49. {
  50. var notify = await _client.ExecuteAsync<AlipayTradeWapPayReturn>(Request, _optionsAccessor.Value);
  51. ViewData["response"] = "支付成功";
  52. return View();
  53. }
  54. catch (AlipayException ex)
  55. {
  56. _logger.LogWarning("出现异常: " + ex.Message);
  57. ViewData["response"] = "出现错误";
  58. return View();
  59. }
  60. }
  61. }
  62. }