From 3dae2573df898994b38d59e61eccf0b800676e13 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Sun, 18 Feb 2024 21:00:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenpayv3):=20=E6=96=B0=E5=A2=9E=E9=93=B6?= =?UTF-8?q?=E8=A1=8C=E4=BB=8E=E4=B8=9A=E7=BB=93=E6=9E=84=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=88=86=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E3=80=81=E5=90=8C=E6=AD=A5=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=AD=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tExecutePayScoreAcquiringBankExtensions.cs | 58 ++++++++++++++++--- ...ayScoreAcquiringBankServiceOrderRequest.cs | 15 +++++ ...yScoreAcquiringBankServiceOrderResponse.cs | 9 +++ ...oreAcquiringBankServiceOrderSyncRequest.cs | 15 +++++ ...reAcquiringBankServiceOrderSyncResponse.cs | 9 +++ ...ScoreAcquiringBankServiceOrderRequest.json | 23 ++++++++ ...eAcquiringBankServiceOrderSyncRequest.json | 9 +++ 7 files changed, 131 insertions(+), 7 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreAcquiringBankExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreAcquiringBankExtensions.cs index 45d8820e..7cce10e0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreAcquiringBankExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreAcquiringBankExtensions.cs @@ -14,7 +14,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// 异步调用 [POST] /payscore/acquiringbank/permissions 接口。 /// /// REF:
- /// + /// ///
/// /// @@ -36,7 +36,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// 异步调用 [GET] /payscore/acquiringbank/permissions/authorization-code/{authorization_code} 接口。 /// /// REF:
- /// + /// ///
/// /// @@ -60,7 +60,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// 异步调用 [POST] /payscore/acquiringbank/permissions/authorization-code/{authorization_code}/terminate 接口。 /// /// REF:
- /// + /// ///
/// /// @@ -84,7 +84,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// 异步调用 [POST] /payscore/acquiringbank/serviceorder 接口。 /// /// REF:
- /// + /// ///
/// /// @@ -106,7 +106,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// 异步调用 [GET] /payscore/acquiringbank/serviceorder 接口。 /// /// REF:
- /// + /// ///
/// /// @@ -132,7 +132,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// 异步调用 [GET] /payscore/acquiringbank/serviceorder 接口。 /// /// REF:
- /// + /// ///
/// /// @@ -176,11 +176,33 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + /// + /// 异步调用 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/modify 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteModifyPayScoreAcquiringBankServiceOrderAsync(this WechatTenpayClient client, Models.ModifyPayScoreAcquiringBankServiceOrderRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "payscore", "acquiringbank", "serviceorder", request.OutOrderNumber, "modify"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + /// /// 异步调用 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/complete 接口。 /// /// REF:
- /// + /// ///
///
/// @@ -198,6 +220,28 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + /// + /// 异步调用 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/sync 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteSetPayScoreAcquiringBankServiceOrderSyncAsync(this WechatTenpayClient client, Models.SetPayScoreAcquiringBankServiceOrderSyncRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "payscore", "acquiringbank", "serviceorder", request.OutOrderNumber, "sync"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + /// /// 异步调用 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/registerdeductinfo 接口。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.cs new file mode 100644 index 00000000..29be8096 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/modify 接口的请求。 + /// + public class ModifyPayScoreAcquiringBankServiceOrderRequest : ModifyPayScorePartnerServiceOrderRequest + { + /// + /// 获取或设置渠道商商户号。 + /// + [Newtonsoft.Json.JsonProperty("channel_id")] + [System.Text.Json.Serialization.JsonPropertyName("channel_id")] + public string ChannelId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderResponse.cs new file mode 100644 index 00000000..1bb3e15b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/modify 接口的响应。 + /// + public class ModifyPayScoreAcquiringBankServiceOrderResponse : ModifyPayScorePartnerServiceOrderResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.cs new file mode 100644 index 00000000..e33c16ab --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/sync 接口的请求。 + /// + public class SetPayScoreAcquiringBankServiceOrderSyncRequest : SetPayScorePartnerServiceOrderSyncRequest + { + /// + /// 获取或设置渠道商商户号。 + /// + [Newtonsoft.Json.JsonProperty("channel_id")] + [System.Text.Json.Serialization.JsonPropertyName("channel_id")] + public string ChannelId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncResponse.cs new file mode 100644 index 00000000..d710c3e0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/acquiringbank/serviceorder/{out_order_no}/sync 接口的响应。 + /// + public class SetPayScoreAcquiringBankServiceOrderSyncResponse : SetPayScorePartnerServiceOrderSyncResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.json new file mode 100644 index 00000000..1f33f297 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/ModifyPayScoreAcquiringBankServiceOrderRequest.json @@ -0,0 +1,23 @@ +{ + "service_id": "2002000000000558128851361561536", + "sub_mchid": "1900000109", + "channel_id": "1230000109", + "post_payments": [ + { + "name": "就餐费用", + "amount": 40000, + "description": "就餐人均100元", + "count": 4 + } + ], + "post_discounts": [ + { + "name": "满20减1元", + "description": "不与其他优惠叠加", + "amount": 100, + "count": 2 + } + ], + "total_amount": 50000, + "reason": "用户投诉" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.json new file mode 100644 index 00000000..0480995b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderSyncRequest.json @@ -0,0 +1,9 @@ +{ + "service_id": "2002000000000558128851361561536", + "sub_mchid": "1900000109", + "channel_id": "1230000109", + "type": "Order_Paid", + "detail": { + "paid_time": "20091225091210" + } +}