mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-19 10:08:20 +08:00
docs: 完善文档
This commit is contained in:
@@ -15,13 +15,13 @@
|
||||
```csharp
|
||||
string callbackJson = "..."; // 微信支付平台发来的通知内容
|
||||
|
||||
var callbackModel = client.DeserializeCallback(callbackJson); // 得到通知对象
|
||||
var callbackModel = client.DeserializeEvent(callbackJson); // 得到通知对象
|
||||
if ("TRANSACTION.SUCCESS".Equals(callbackModel.EventType))
|
||||
{
|
||||
var callbackResource = client.DecryptCallbackResource<Resources.TransactionResource>(callbackModel); // 得到支付通知敏感数据
|
||||
var callbackResource = client.DecryptEventResource<Events.TransactionResource>(callbackModel); // 得到支付通知敏感数据
|
||||
string outTradeNumber = callbackResource.OutTradeNumber;
|
||||
string transactionId = callbackResource.TransactionId;
|
||||
}
|
||||
```
|
||||
|
||||
完整的回调通知模型定义可以参考项目目录下的 _src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources_ 目录。
|
||||
完整的回调通知模型定义可以参考项目目录下的 _src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events_ 目录。
|
@@ -34,7 +34,7 @@ public class WechatTenpayClientFactory
|
||||
|
||||
public Flurl.Http.IFlurlClient Get(Flurl.Url url)
|
||||
{
|
||||
return new FlurlClient(_httpClientFactory.CreateClient(url));
|
||||
return new FlurlClient(_httpClientFactory.CreateClient(url.ToUri()));
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
@@ -53,7 +53,7 @@ public class WechatTenpayClientFactory
|
||||
_httpClientFactory = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory));
|
||||
_wechatTenpayClientOptions = wechatTenpayClientOptions ?? throw new ArgumentNullException(nameof(wechatTenpayClientOptions));
|
||||
|
||||
FlurlHttp.Configure(settings => settings.FlurlClientFactory = new DelegatingFlurlClientFactory(_httpClientFactory));
|
||||
Flurl.Http.FlurlHttp.GlobalSettings.FlurlClientFactory = new DelegatingFlurlClientFactory(_httpClientFactory);
|
||||
}
|
||||
|
||||
public WechatTenpayClient CreateClient()
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
本库提供的请求模型、响应模型和接口方法,三者均保持同名。
|
||||
|
||||
例如,发起退款的请求是 `CreateRefundDomesticRefundRequest`,响应是 `CreateRefundDomesticRefundResponse`,接口是 `CreateRefundDomesticRefundAsync()`。知道其中一个,其余两个就可以快速地推断出了。
|
||||
例如,发起退款的请求是 `CreateRefundDomesticRefundRequest`,响应是 `CreateRefundDomesticRefundResponse`,接口是 `ExecuteCreateRefundDomesticRefundAsync()`。知道其中一个,其余两个就可以快速地推断出了。
|
||||
|
||||
再有,每个对象的命名与官方文档的接口地址大体保持一致。例如刚刚提到的发起退款,它的接口地址是 `[POST] /refund/domestic/refunds`,将其中的反斜杠去掉、并以大驼峰命名法的方式调整它,就可以得到前文提到的几个对象了。
|
||||
|
||||
|
@@ -107,7 +107,7 @@ var request = new CreatePayTransactionJsapiRequest()
|
||||
},
|
||||
Payer = new Models.CreatePayTransactionJsapiRequest.Types.Payer()
|
||||
{
|
||||
OpenId = TestConfigs.WechatOpenId
|
||||
OpenId = "微信 OpenId"
|
||||
}
|
||||
};
|
||||
var response = await TestClients.Instance.ExecuteCreatePayTransactionJsapiAsync(request);
|
||||
@@ -121,7 +121,7 @@ var response = await TestClients.Instance.ExecuteCreatePayTransactionJsapiAsync(
|
||||
|
||||
- [如何验证微信响应签名?](./Advanced_ResponseSignatureVerification.md)
|
||||
|
||||
- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Advanced_ModelDefinition.md)
|
||||
- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Advanced_ModelDefinition.md)
|
||||
|
||||
- [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md)
|
||||
|
||||
@@ -129,7 +129,7 @@ var response = await TestClients.Instance.ExecuteCreatePayTransactionJsapiAsync(
|
||||
|
||||
- [如何解密响应中的敏感数据?](./Advanced_ResponseDataDecryption.md)
|
||||
|
||||
- [如何解密回调通知事件中的敏感数据?](./Advanced_CallbackDataDecryption.md)
|
||||
- [如何解密回调通知事件中的敏感数据?](./Advanced_EventDataDecryption.md)
|
||||
|
||||
- [如何生成客户端调起支付时所需的参数及签名?](./Advanced_Payment.md)
|
||||
|
||||
|
Reference in New Issue
Block a user