QueryByOutTradeNo.cshtml.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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 QueryByOutTradeNoModel(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 WeChatPayQueryByOutTradeNoQueryModel Input { get; set; }
  15. public void OnGet()
  16. {
  17. Input = new WeChatPayQueryByOutTradeNoQueryModel { MchId = _options.MchId };
  18. }
  19. public async Task OnPostAsync()
  20. {
  21. var request = new WeChatPayQueryByOutTradeNoRequest { OutTradeNo = OutTradeNo };
  22. request.SetQueryModel(Input);
  23. var response = await client.ExecuteAsync(request, _options);
  24. ViewData["response"] = response.Body;
  25. }
  26. }