Refund.cshtml.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. using Essensoft.Paylinks.Alipay.Client;
  2. using Essensoft.Paylinks.Alipay.Payments.Model;
  3. using Essensoft.Paylinks.Alipay.Payments.Request;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.AspNetCore.Mvc.RazorPages;
  6. using Microsoft.Extensions.Options;
  7. namespace Essensoft.Paylinks.Sample.Web.Pages.Alipay.Payments;
  8. public class RefundModel(IAlipayClient client, IOptions<PaylinksOptions> options) : PageModel
  9. {
  10. private readonly AlipayClientOptions _options = options.Value.Alipay;
  11. [BindProperty]
  12. public AlipayTradeRefundBodyModel Input { get; set; }
  13. public void OnGet()
  14. {
  15. Input = new AlipayTradeRefundBodyModel
  16. {
  17. RefundAmount = "0.01",
  18. OutRequestNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff"),
  19. };
  20. }
  21. public async Task OnPostAsync()
  22. {
  23. var request = new AlipayTradeRefundRequest();
  24. request.SetBodyModel(Input);
  25. var response = await client.ExecuteAsync(request, _options);
  26. ViewData["response"] = response.Body;
  27. }
  28. }