DotNetCore.SKIT.FlurlHttpCl.../docs/WechatTenpayV3/Basic_Parameters.md

46 lines
1.8 KiB
Markdown
Raw Normal View History

2022-12-19 22:34:23 +08:00
## 如何生成客户端JSAPI、App、小程序等所需的参数及二次签名
2021-05-10 15:30:00 +08:00
---
> 请先自行阅读:
>
> [《微信支付开发者文档 - 基础支付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)
2021-06-07 00:32:04 +08:00
你可根据官方文档的规则利用本库提供的 `RSAUtility` 工具类自行进行签名生成。
2021-05-10 15:30:00 +08:00
2021-11-25 21:15:54 +08:00
此外,本库还封装了直接生成参数及签名的扩展方法,下面给出一个示例代码:
2021-05-10 15:30:00 +08:00
```csharp
2021-09-11 18:46:00 +08:00
/* 以生成 JSAPI 调起支付所需参数为例 */
2023-03-09 21:45:57 +08:00
var request = new CreatePayTransactionJsapiRequest()
2021-05-10 15:30:00 +08:00
{
OutTradeNumber = "商户订单号",
AppId = "公众号 AppId",
Description = "描述",
NotifyUrl = "回调地址",
2023-03-09 21:45:57 +08:00
Amount = new CreatePayTransactionJsapiRequest.Types.Amount()
2021-05-10 15:30:00 +08:00
{
Total = 0
},
2023-03-09 21:45:57 +08:00
Payer = new CreatePayTransactionJsapiRequest.Types.Payer()
2021-05-10 15:30:00 +08:00
{
OpenId = "用户 OpenId"
}
};
2022-03-10 17:36:27 +08:00
var response = await client.ExecuteCreatePayTransactionJsapiAsync(request);
2022-12-19 22:34:23 +08:00
/* 下面的参数字典可直接以 JSON 格式返回给客户端,客户端反序列化后再原样传递给 WeixinJSBridge.invoke('getBrandWCPayRequest') 方法即可 */
2021-05-10 15:30:00 +08:00
var paramMap = client.GenerateParametersForJsapiPayRequest(request.AppId, response.PrepayId);
```
2022-01-10 12:24:15 +08:00
---
### 【附】生成参数相关扩展方法速查表:
- 生成客户端 JSAPI / 小程序调起支付所需的参数字典:`GenerateParametersForJsapiPayRequest`
2022-01-25 15:46:59 +08:00
- 生成客户端 APP 调起支付所需的参数字典:`GenerateParametersForAppPayRequest`