Reverse.cshtml.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Essensoft.Paylinks.WeChatPay.Client;
  2. using Essensoft.Paylinks.WeChatPay.Payments.Model;
  3. using Essensoft.Paylinks.WeChatPay.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.WeChatPay.Payments;
  8. public class ReverseModel(IWeChatPayClient client, IOptions<PaylinksOptions> options) : PageModel
  9. {
  10. private readonly WeChatPayClientOptions _options = options.Value.WeChatPay;
  11. [BindProperty]
  12. public string OutTradeNo { get; set; }
  13. [BindProperty]
  14. public WeChatPayReverseBodyModel Input { get; set; }
  15. public void OnGet()
  16. {
  17. Input = new WeChatPayReverseBodyModel
  18. {
  19. AppId = _options.AppId,
  20. MchId = _options.MchId
  21. };
  22. }
  23. public async Task OnPostAsync()
  24. {
  25. var request = new WeChatPayReverseRequest { OutTradeNo = OutTradeNo };
  26. request.SetBodyModel(Input);
  27. var response = await client.ExecuteAsync(request, _options);
  28. ViewData["response"] = response.Body;
  29. }
  30. }