DotNetCore.SKIT.FlurlHttpCl.../docs/WechatTenpayV3/Advanced_Parameters.md
2022-03-10 17:36:27 +08:00

45 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 如何生成客户端调起支付时所需的参数及签名?
---
> 请先自行阅读:
>
> [《微信支付开发者文档 - 基础支付JSAPI 调起支付 API》](https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_4.shtml)
>
> [《微信支付开发者文档 - 基础支付APP 调起支付 API》](https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_4.shtml)
>
> [《微信支付开发者文档 - 基础支付:小程序调起支付 API》](https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_4.shtml)
你可根据官方文档的规则利用本库提供的 `RSAUtility` 工具类自行进行签名生成。
此外,本库还封装了直接生成参数及签名的扩展方法,下面给出一个示例代码:
```csharp
/* 以生成 JSAPI 调起支付所需参数为例 */
var request = new Models.CreatePayTransactionJsapiRequest()
{
OutTradeNumber = "商户订单号",
AppId = "公众号 AppId",
Description = "描述",
NotifyUrl = "回调地址",
Amount = new Models.CreatePayTransactionJsapiRequest.Types.Amount()
{
Total = 0
},
Payer = new Models.CreatePayTransactionJsapiRequest.Types.Payer()
{
OpenId = "用户 OpenId"
}
};
var response = await client.ExecuteCreatePayTransactionJsapiAsync(request);
var paramMap = client.GenerateParametersForJsapiPayRequest(request.AppId, response.PrepayId);
```
---
### 【附】生成参数相关扩展方法速查表:
- 生成客户端 JSAPI / 小程序调起支付所需的参数字典:`GenerateParametersForJsapiPayRequest`
- 生成客户端 APP 调起支付所需的参数字典:`GenerateParametersForAppPayRequest`