mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-29 18:04:42 +08:00
docs: 完善文档
This commit is contained in:
@@ -6,4 +6,13 @@
|
||||
>
|
||||
> [《微信支付开发者文档 - 证书/密钥/签名介绍:私钥和证书 - 声明所使用的证书》](https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay3_1.shtml#part-3)
|
||||
>
|
||||
> [《微信支付开发者文档 - 常见问题:证书相关 - 如何查看证书序列号?》](https://pay.weixin.qq.com/wiki/doc/apiv3_partner/wechatpay/wechatpay7_0.shtml#part-5)
|
||||
> [《微信支付开发者文档 - 常见问题:证书相关 - 如何查看证书序列号?》](https://pay.weixin.qq.com/wiki/doc/apiv3_partner/wechatpay/wechatpay7_0.shtml#part-5)
|
||||
|
||||
请开发者按上面参考阅读给出的方法自行查看证书序列号。
|
||||
|
||||
如果你已有 CER/CRT 格式的证书文件,你也可以利用本库提供的提供的 `RSAUtility` 工具类导出证书序列号:
|
||||
|
||||
```csharp
|
||||
string certificate = "CRT/CER 证书内容";
|
||||
string serialNumber = RSAUtility.ExportSerialNumber(certificate);
|
||||
```
|
||||
@@ -97,7 +97,7 @@ var client = new WechatTenpayClient(options);
|
||||
|
||||
```csharp
|
||||
var manager = new InMemoryCertificateManager(); // 为便于后续使用,该对象可使用全局单例的方式声明
|
||||
var options = new WechatTenpayClientOptions() { CertificateManager = certManager };
|
||||
var options = new WechatTenpayClientOptions() { CertificateManager = manager };
|
||||
var client = new WechatTenpayClient(options);
|
||||
```
|
||||
|
||||
@@ -109,7 +109,7 @@ var client = new WechatTenpayClient(options);
|
||||
/* 注意:QueryCertificatesAsync() 接口返回值需解密后再存入 */
|
||||
/* 存入的证书式请参考上一小节给出的 CRT/CER 证书文件示例 */
|
||||
/* 示例项目中也包含一段关于此的演示程序 */
|
||||
certManager.SetEntry(new CertificateEntry("CRT/CER 证书序列号", "CRT/CER 证书内容", "证书生效时间", "证书过期时间"));
|
||||
manager.SetEntry(new CertificateEntry("CRT/CER 证书序列号", "CRT/CER 证书内容", "证书生效时间", "证书过期时间"));
|
||||
```
|
||||
|
||||
当然,现在的平台证书离过期还有很久,你也可以选择“偷懒”:提前下载好平台证书,在程序启动时记录一次即可。
|
||||
|
||||
@@ -39,14 +39,14 @@ using SKIT.FlurlHttpClient.Wechat;
|
||||
using SKIT.FlurlHttpClient.Wechat.TenpayV3;
|
||||
using SKIT.FlurlHttpClient.Wechat.TenpayV3.Settings;
|
||||
|
||||
var certManager = new InMemoryCertificateManager();
|
||||
var manager = new InMemoryCertificateManager();
|
||||
var options = new WechatTenpayClientOptions()
|
||||
{
|
||||
MerchantId = "微信商户号",
|
||||
MerchantV3Secret = "微信商户 v3 API 密钥",
|
||||
MerchantCertSerialNumber = "微信商户证书序列号",
|
||||
MerchantCertPrivateKey = "-----BEGIN PRIVATE KEY-----微信商户证书私钥-----END PRIVATE KEY-----",
|
||||
CertificateManager = certManager // 证书管理器的具体用法请参阅下文的高级技巧
|
||||
CertificateManager = manager // 证书管理器的具体用法请参阅下文的高级技巧
|
||||
};
|
||||
var client = new WechatTenpayClient(options);
|
||||
```
|
||||
@@ -100,16 +100,16 @@ else
|
||||
|
||||
- [如何使用拦截器?](./Advanced_Interceptor.md)
|
||||
|
||||
- [如何验证响应签名?](./Advanced_ResponseSignatureVerification.md)
|
||||
|
||||
- [如何加密请求中的敏感数据?](./Advanced_RequestSensitiveDataEncryption.md)
|
||||
|
||||
- [如何解密响应中的敏感数据?](./Advanced_ResponseSensitiveDataDecryption.md)
|
||||
|
||||
- [如何验证回调通知事件签名?](./Advanced_EventSignatureVerification.md)
|
||||
- [如何验证响应签名?](./Advanced_ResponseSignatureVerification.md)
|
||||
|
||||
- [如何解密回调通知事件中的敏感数据?](./Advanced_EventResourceDecryption.md)
|
||||
|
||||
- [如何验证回调通知事件签名?](./Advanced_EventSignatureVerification.md)
|
||||
|
||||
- [如何生成客户端调起支付时所需的参数及签名?](./Advanced_Payment.md)
|
||||
|
||||
- [如何扩展额外的 API?](./Advanced_Extensions.md)
|
||||
|
||||
Reference in New Issue
Block a user