| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- using System.Text.Json;
 
- using Essensoft.Paylinks.WeChatPay.Client;
 
- using Essensoft.Paylinks.WeChatPay.Payments.Domain;
 
- using Essensoft.Paylinks.WeChatPay.Payments.Model;
 
- using Essensoft.Paylinks.WeChatPay.Payments.Request;
 
- using Microsoft.AspNetCore.Mvc;
 
- using Microsoft.AspNetCore.Mvc.RazorPages;
 
- using Microsoft.Extensions.Options;
 
- namespace Essensoft.Paylinks.Sample.Web.Pages.WeChatPay.Payments;
 
- public class JsapiPrepayModel(IWeChatPayClient client, IOptions<PaylinksOptions> options) : PageModel
 
- {
 
-     private readonly WeChatPayClientOptions _options = options.Value.WeChatPay;
 
-     [BindProperty]
 
-     public WeChatPayTransactionsJsapiBodyModel Input { get; set; }
 
-     public void OnGet()
 
-     {
 
-         Input = new WeChatPayTransactionsJsapiBodyModel
 
-         {
 
-             AppId = _options.AppId,
 
-             MchId = _options.MchId,
 
-             Description = "JSAPI下单测试",
 
-             OutTradeNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff"),
 
-             NotifyUrl = "https://www.domain.com/WeChatPay/Payments/Notify/TransactionSuccess",
 
-             Amount = new CommReqAmountInfo { Total = 1 },
 
-             Payer = new JsapiReqPayerInfo { OpenId = string.Empty }
 
-         };
 
-     }
 
-     public async Task OnPostAsync()
 
-     {
 
-         var request = new WeChatPayTransactionsJsapiRequest();
 
-         request.SetBodyModel(Input);
 
-         var response = await client.ExecuteAsync(request, _options);
 
-         ViewData["response"] = response.Body;
 
-         if (response.IsSuccessful)
 
-         {
 
-             var sdkRequest = new WeChatPayJsapiTransferPaymentRequest { AppId = Input.AppId, Package = "prepay_id=" + response.PrepayId };
 
-             var sdkResponse = await client.SdkExecuteAsync(sdkRequest, _options);
 
-             ViewData["parameter"] = JsonSerializer.Serialize(sdkResponse);
 
-         }
 
-     }
 
- }
 
 
  |