From 1702b01ca5677a1875fabd7d68b3b7556863365f Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Tue, 6 Jul 2021 13:05:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenpayv3):=20=E6=96=B0=E5=A2=9E=E5=88=86?= =?UTF-8?q?=E8=B4=A6=E7=9B=B8=E5=85=B3=20API=20=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...payClientExecuteProfitSharingExtensions.cs | 212 ++++++++++++++++++ ...tProfitSharingTransactionAmountsRequest.cs | 18 ++ ...ProfitSharingTransactionAmountsResponse.cs | 25 +++ .../CreateProfitSharingOrderRequest.cs | 101 +++++++++ .../CreateProfitSharingOrderResponse.cs | 12 + .../CreateProfitSharingReturnOrderRequest.cs | 60 +++++ .../CreateProfitSharingReturnOrderResponse.cs | 12 + ...ofitSharingOrderByOutOrderNumberRequest.cs | 32 +++ ...fitSharingOrderByOutOrderNumberResponse.cs | 119 ++++++++++ ...aringReturnOrderByOutOrderNumberRequest.cs | 32 +++ ...ringReturnOrderByOutOrderNumberResponse.cs | 99 ++++++++ .../GetProfitSharingMerchantConfigsRequest.cs | 18 ++ ...GetProfitSharingMerchantConfigsResponse.cs | 25 +++ .../AddProfitSharingReceiverRequest.cs | 67 ++++++ .../AddProfitSharingReceiverResponse.cs | 53 +++++ .../DeleteProfitSharingReceiverRequest.cs | 46 ++++ .../DeleteProfitSharingReceiverResponse.cs | 32 +++ .../SetProfitSharingOrderUnfrozenRequest.cs | 39 ++++ .../SetProfitSharingOrderUnfrozenResponse.cs | 12 + 19 files changed, 1014 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs new file mode 100644 index 00000000..cbcf705b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteProfitSharingExtensions.cs @@ -0,0 +1,212 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供分账相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecuteProfitSharingExtensions + { + /// + /// 异步调用 [POST] /profitsharing/orders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_1.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateProfitSharingOrderAsync(this WechatTenpayClient client, Models.CreateProfitSharingOrderRequest 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 + .CreateRequest(HttpMethod.Post, "profitsharing", "orders") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /profitsharing/orders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_2.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetProfitSharingOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetProfitSharingOrderByOutOrderNumberRequest 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 + .CreateRequest(HttpMethod.Get, "profitsharing", "orders") + .SetOptions(request) + .SetQueryParam("transaction_id", request.TransactionId) + .SetQueryParam("out_order_no", request.OutOrderNumber); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /profitsharing/return-orders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_3.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateProfitSharingReturnOrderAsync(this WechatTenpayClient client, Models.CreateProfitSharingReturnOrderRequest 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 + .CreateRequest(HttpMethod.Post, "profitsharing", "return-orders") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /profitsharing/return-orders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_4.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetProfitSharingReturnOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetProfitSharingReturnOrderByOutOrderNumberRequest 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 + .CreateRequest(HttpMethod.Get, "profitsharing", "return-orders") + .SetOptions(request) + .SetQueryParam("out_order_no", request.OutOrderNumber) + .SetQueryParam("out_return_no", request.OutReturnNumber); + + if (!string.IsNullOrEmpty(request.SubMerchantId)) + flurlReq.SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /profitsharing/orders/unfreeze 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_5.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteSetProfitSharingOrderUnfrozenAsync(this WechatTenpayClient client, Models.SetProfitSharingOrderUnfrozenRequest 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 + .CreateRequest(HttpMethod.Post, "profitsharing", "orders", "unfreeze") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /profitsharing/transactions/{transaction_id}/amounts 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_6.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_6.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetProfitSharingTransactionAmountsAsync(this WechatTenpayClient client, Models.GetProfitSharingTransactionAmountsRequest 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 + .CreateRequest(HttpMethod.Get, "profitsharing", "transactions", request.TransactionId, "amounts") + .SetOptions(request); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /profitsharing/merchant-configs/{sub_mchid} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_7.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetProfitSharingMerchantConfigsAsync(this WechatTenpayClient client, Models.GetProfitSharingMerchantConfigsRequest 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 + .CreateRequest(HttpMethod.Get, "profitsharing", "merchant-configs", request.SubMerchantId) + .SetOptions(request); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /profitsharing/receivers/add 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_8.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_8.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteAddProfitSharingReceiverAsync(this WechatTenpayClient client, Models.AddProfitSharingReceiverRequest 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 + .CreateRequest(HttpMethod.Post, "profitsharing", "receivers", "add") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /profitsharing/receivers/delete 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_1_9.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_1_9.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteDeleteProfitSharingReceiverAsync(this WechatTenpayClient client, Models.DeleteProfitSharingReceiverRequest 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 + .CreateRequest(HttpMethod.Post, "profitsharing", "receivers", "delete") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsRequest.cs new file mode 100644 index 00000000..efe8d32e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/transactions/{transaction_id}/amounts 接口的请求。 + /// + public class GetProfitSharingTransactionAmountsRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信订单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string TransactionId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsResponse.cs new file mode 100644 index 00000000..bffa32df --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Amounts/GetProfitSharingTransactionAmountsResponse.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/transactions/{transaction_id}/amounts 接口的响应。 + /// + public class GetProfitSharingTransactionAmountsResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string TransactionId { get; set; } = default!; + + /// + /// 获取或设置订单剩余待分金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("unsplit_amount")] + [System.Text.Json.Serialization.JsonPropertyName("unsplit_amount")] + public int UnsplitAmount { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderRequest.cs new file mode 100644 index 00000000..a67b82aa --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderRequest.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/orders 接口的请求。 + /// + public class CreateProfitSharingOrderRequest : WechatTenpayRequest + { + public static class Types + { + public class Receiver + { + /// + /// 获取或设置分账接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置分账接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = string.Empty; + + /// + /// 获取或设置分账个人姓名(需使用微信支付平台公钥加密)。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? NameEncryptedData { get; set; } + + /// + /// 获取或设置分账金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置分账描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置微信订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string TransactionId { get; set; } = string.Empty; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = string.Empty; + + /// + /// 获取或设置分账接收方列表。 + /// + [Newtonsoft.Json.JsonProperty("receivers")] + [System.Text.Json.Serialization.JsonPropertyName("receivers")] + public IList ReceiverList { get; set; } = new List(); + + /// + /// 获取或设置是否解冻剩余未分资金。 + /// + [Newtonsoft.Json.JsonProperty("unfreeze_unsplit")] + [System.Text.Json.Serialization.JsonPropertyName("unfreeze_unsplit")] + public bool IsUnsplitAmountUnfrozen { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderResponse.cs new file mode 100644 index 00000000..f8e598e9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingOrderResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/orders 接口的响应。 + /// + public class CreateProfitSharingOrderResponse : GetProfitSharingOrderByOutOrderNumberResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderRequest.cs new file mode 100644 index 00000000..f323a242 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderRequest.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/return-orders 接口的请求。 + /// + public class CreateProfitSharingReturnOrderRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信二级商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置商户分账单号。与字段 二选一。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string? OutOrderNumber { get; set; } + + /// + /// 获取或设置微信分账单号。与字段 二选一。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string? OrderId { get; set; } + + /// + /// 获取或设置商户回退单号。 + /// + [Newtonsoft.Json.JsonProperty("out_return_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_return_no")] + public string OutReturnNumber { get; set; } = string.Empty; + + /// + /// 获取或设置回退商户号。 + /// + [Newtonsoft.Json.JsonProperty("return_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("return_mchid")] + public string ReturnMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置回退金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置回退描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderResponse.cs new file mode 100644 index 00000000..0177b6d3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/CreateProfitSharingReturnOrderResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/return-orders 接口的响应。 + /// + public class CreateProfitSharingReturnOrderResponse : GetProfitSharingReturnOrderByOutOrderNumberResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberRequest.cs new file mode 100644 index 00000000..00a3438e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/orders 接口的请求。 + /// + public class GetProfitSharingOrderByOutOrderNumberRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置微信订单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string TransactionId { get; set; } = string.Empty; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutOrderNumber { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberResponse.cs new file mode 100644 index 00000000..72e6455e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingOrderByOutOrderNumberResponse.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/orders 接口的响应。 + /// + public class GetProfitSharingOrderByOutOrderNumberResponse : WechatTenpayResponse + { + public static class Types + { + public class Receiver + { + /// + /// 获取或设置分账接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置分账接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = default!; + + /// + /// 获取或设置分账金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置分账描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = default!; + + /// + /// 获取或设置分账结果。 + /// + [Newtonsoft.Json.JsonProperty("result")] + [System.Text.Json.Serialization.JsonPropertyName("result")] + public string Result { get; set; } = default!; + + /// + /// 获取或设置分账失败原因。 + /// + [Newtonsoft.Json.JsonProperty("fail_reason")] + [System.Text.Json.Serialization.JsonPropertyName("fail_reason")] + public string? FailReason { get; set; } + + /// + /// 获取或设置分账创建时间。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset CreateTime { get; set; } + + /// + /// 获取或设置分账完成时间。 + /// + [Newtonsoft.Json.JsonProperty("finish_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("finish_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? FinishTime { get; set; } + } + } + + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置微信订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string TransactionId { get; set; } = default!; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = default!; + + /// + /// 获取或设置微信分账单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = default!; + + /// + /// 获取或设置分账单状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public string State { get; set; } = default!; + + /// + /// 获取或设置分账接收方列表。 + /// + [Newtonsoft.Json.JsonProperty("receivers")] + [System.Text.Json.Serialization.JsonPropertyName("receivers")] + public Types.Receiver[]? ReceiverList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberRequest.cs new file mode 100644 index 00000000..bbc969f7 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/return-orders 接口的请求。 + /// + public class GetProfitSharingReturnOrderByOutOrderNumberRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutOrderNumber { get; set; } = string.Empty; + + /// + /// 获取或设置商户回退单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutReturnNumber { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberResponse.cs new file mode 100644 index 00000000..863e8c6c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/GetProfitSharingReturnOrderByOutOrderNumberResponse.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/return-orders 接口的响应。 + /// + public class GetProfitSharingReturnOrderByOutOrderNumberResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = default!; + + /// + /// 获取或设置微信分账单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = default!; + + /// + /// 获取或设置商户回退单号。 + /// + [Newtonsoft.Json.JsonProperty("out_return_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_return_no")] + public string OutReturnNumber { get; set; } = default!; + + /// + /// 获取或设置微信回退单号。 + /// + [Newtonsoft.Json.JsonProperty("return_id")] + [System.Text.Json.Serialization.JsonPropertyName("return_id")] + public string ReturnId { get; set; } = default!; + + /// + /// 获取或设置回退商户号。 + /// + [Newtonsoft.Json.JsonProperty("return_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("return_mchid")] + public string ReturnMerchantId { get; set; } = default!; + + /// + /// 获取或设置回退金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置回退描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = default!; + + /// + /// 获取或设置回退结果。 + /// + [Newtonsoft.Json.JsonProperty("result")] + [System.Text.Json.Serialization.JsonPropertyName("result")] + public string Result { get; set; } = default!; + + /// + /// 获取或设置回退失败原因。 + /// + [Newtonsoft.Json.JsonProperty("fail_reason")] + [System.Text.Json.Serialization.JsonPropertyName("fail_reason")] + public string? FailReason { get; set; } + + /// + /// 获取或设置回退创建时间。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset CreateTime { get; set; } + + /// + /// 获取或设置回退完成时间。 + /// + [Newtonsoft.Json.JsonProperty("finish_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("finish_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? FinishTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsRequest.cs new file mode 100644 index 00000000..546479f4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/merchant-configs/{sub_mchid} 接口的请求。 + /// + public class GetProfitSharingMerchantConfigsRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsResponse.cs new file mode 100644 index 00000000..5b93eb49 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/MerchantConfigs/GetProfitSharingMerchantConfigsResponse.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /profitsharing/merchant-configs/{sub_mchid} 接口的响应。 + /// + public class GetProfitSharingMerchantConfigsResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置最大分账比例(单位:万分比)。 + /// + [Newtonsoft.Json.JsonProperty("max_ratio")] + [System.Text.Json.Serialization.JsonPropertyName("max_ratio")] + public int MaxRatio { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverRequest.cs new file mode 100644 index 00000000..524ed8c5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverRequest.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/receivers/add 接口的请求。 + /// + public class AddProfitSharingReceiverRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = string.Empty; + + /// + /// 获取或设置接收方名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置与分账方的关系类型。 + /// + [Newtonsoft.Json.JsonProperty("relation_type")] + [System.Text.Json.Serialization.JsonPropertyName("relation_type")] + public string RelationType { get; set; } = string.Empty; + + /// + /// 获取或设置自定义的分账关系。 + /// + [Newtonsoft.Json.JsonProperty("custom_relation")] + [System.Text.Json.Serialization.JsonPropertyName("custom_relation")] + public string? CustomRelation { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverResponse.cs new file mode 100644 index 00000000..ab70b54c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/AddProfitSharingReceiverResponse.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/receivers/add 接口的响应。 + /// + public class AddProfitSharingReceiverResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = default!; + + /// + /// 获取或设置接收方名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置与分账方的关系类型。 + /// + [Newtonsoft.Json.JsonProperty("relation_type")] + [System.Text.Json.Serialization.JsonPropertyName("relation_type")] + public string RelationType { get; set; } = default!; + + /// + /// 获取或设置自定义的分账关系。 + /// + [Newtonsoft.Json.JsonProperty("custom_relation")] + [System.Text.Json.Serialization.JsonPropertyName("custom_relation")] + public string? CustomRelation { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverRequest.cs new file mode 100644 index 00000000..f56c53b5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverRequest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/receivers/delete 接口的请求。 + /// + public class DeleteProfitSharingReceiverRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverResponse.cs new file mode 100644 index 00000000..5e659c2d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/Receivers/DeleteProfitSharingReceiverResponse.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/receivers/delete 接口的响应。 + /// + public class DeleteProfitSharingReceiverResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenRequest.cs new file mode 100644 index 00000000..ce273a31 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenRequest.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/orders/unfreeze 接口的请求。 + /// + public class SetProfitSharingOrderUnfrozenRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置微信订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string TransactionId { get; set; } = string.Empty; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = string.Empty; + + /// + /// 获取或设置分账描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenResponse.cs new file mode 100644 index 00000000..b8d60b29 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/ProfitSharing/SetProfitSharingOrderUnfrozenResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /profitsharing/orders/unfreeze 接口的响应。 + /// + public class SetProfitSharingOrderUnfrozenResponse : GetProfitSharingOrderByOutOrderNumberResponse + { + } +}