AlipayReturnController.cs 2.0 KB

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