diff --git a/docs/WechatTenpayV3/Basic_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md
index aefa0866..c431a5c9 100644
--- a/docs/WechatTenpayV3/Basic_ModelDefinition.md
+++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md
@@ -48,6 +48,7 @@
| √ | 经营能力:微信支付分签约计划 | 直连商户 & 合作伙伴 | |
| √ | 经营能力:平台收付通 | 合作伙伴 | |
| √ | 经营能力:平台保证金 | 合作伙伴 | |
+| √ | 经营能力:个人收款(二手交易) | 合作伙伴 | |
| √ | 运营工具:代金券 | 直连商户 & 合作伙伴 | |
| √ | 运营工具:商家券 | 直连商户 & 合作伙伴 | |
| √ | 运营工具:消费金 | 直连商户 | |
@@ -82,7 +83,7 @@
| √ | 其他:微信点餐订单 | 合作伙伴 | |
| √ | 其他:微信寄快递 | 合作伙伴 | |
| √ | 其他:品牌小店营销 | 合作伙伴 | |
-| √ | 其他:银行多笔立减 | 直连商户 | |
+| √ | 其他:银行多笔立减 | 直连商户 | |
| √ | 其他:银行定向促活 | 直连商户 & 合作伙伴 | |
| √ | 其他:银行提现免费券 | 合作伙伴 | |
| √ | 其他:银行周周惠 | 合作伙伴 | |
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/CombineTransactions/CombineTransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/CombineTransactions/CombineTransactionResource.cs
index 5dcf4eba..12848bef 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/CombineTransactions/CombineTransactionResource.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/CombineTransactions/CombineTransactionResource.cs
@@ -5,7 +5,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
///
/// REF:
///
- ///
+ ///
+ ///
///
///
public class CombineTransactionResource : WechatTenpayEvent.Types.IDecryptedResource
@@ -46,6 +47,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
[System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string CombineOutTradeNumber { get; set; } = default!;
+ ///
+ /// 获取或设置合单微信支付订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_transaction_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_transaction_id")]
+ public string CombineTransactionId { get; set; } = default!;
+
///
/// 获取或设置子单列表。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Refund/PartnerRefundResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Refund/PartnerRefundResource.cs
index 645142b3..405b3e69 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Refund/PartnerRefundResource.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Refund/PartnerRefundResource.cs
@@ -16,7 +16,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
///
///
///
- ///
+ ///
+ ///
///
///
public class PartnerRefundResource : WechatTenpayEvent.Types.IDecryptedResource
@@ -56,6 +57,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = default!;
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
///
/// 获取或设置商户退款单号。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteAbnormalFundProcessingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteAbnormalFundProcessingExtensions.cs
new file mode 100644
index 00000000..ab23e166
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteAbnormalFundProcessingExtensions.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+using Flurl;
+using Flurl.Http;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
+{
+ public static class WechatTenpayClientExecuteAbnormalFundProcessingExtensions
+ {
+ ///
+ /// 异步调用 [POST] /abnormal-fund-processing/receipts/{receipt_id}/transfer-instructions 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateAbnormalFundProcessingReceiptTransferInstructionAsync(this WechatTenpayClient client, Models.CreateAbnormalFundProcessingReceiptTransferInstructionRequest 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, "abnormal-fund-processing", "receipts", request.ReceiptId, "transfer-instructions");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [GET] /abnormal-fund-processing/receipts/{receipt_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetAbnormalFundProcessingReceiptByReceiptIdAsync(this WechatTenpayClient client, Models.GetAbnormalFundProcessingReceiptByReceiptIdRequest 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.Get, "abnormal-fund-processing", "receipts", request.ReceiptId);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs
index 4a993d82..4114869c 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteCombineTransactionExtensions.cs
@@ -14,7 +14,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// REF:
///
///
- ///
+ ///
+ ///
///
///
///
@@ -155,13 +156,48 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
+ ///
+ /// 异步调用 [POST] /combine-transactions/miniprogram 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateCombineTransactionMiniProgramAsync(this WechatTenpayClient client, Models.CreateCombineTransactionMiniProgramRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ if (request.CombineMerchantId is null)
+ request.CombineMerchantId = client.Credentials.MerchantId;
+
+ if (request.SubOrderList is not null)
+ {
+ foreach (var subOrder in request.SubOrderList)
+ {
+ if (subOrder.MerchantId is null)
+ subOrder.MerchantId = request.CombineMerchantId;
+ }
+ }
+
+ IFlurlRequest flurlReq = client
+ .CreateFlurlRequest(request, HttpMethod.Post, "combine-transactions", "miniprogram");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
///
/// 异步调用 [GET] /combine-transactions/out-trade-no/{combine_out_trade_no} 接口。
///
/// REF:
///
///
- ///
+ ///
+ ///
///
///
///
@@ -179,6 +215,28 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
+ ///
+ /// 异步调用 [GET] /combine-transactions/id/{combine_transaction_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetCombineTransactionByCombineTransactionIdAsync(this WechatTenpayClient client, Models.GetCombineTransactionByCombineTransactionIdRequest 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.Get, "combine-transactions", "id", request.CombineTransactionId);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
///
/// 异步调用 [POST] /combine-transactions/out-trade-no/{combine_out_trade_no}/close 接口。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs
index 23b30107..779eedec 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs
@@ -303,6 +303,30 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
}
#endregion
+ #region IndividualContracts
+ ///
+ /// 异步调用 [GET] /ecommerce/individual-contracts/{openid} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetEcommerceIndividualContractByOpenIdAsync(this WechatTenpayClient client, Models.GetEcommerceIndividualContractByOpenIdRequest 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.Get, "ecommerce", "individual-contracts", request.OpenId);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
#region MerchantTransfer
///
/// 异步调用 [POST] /ecommerce/mch-transfer/authorizations 接口。
@@ -691,7 +715,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// 异步调用 [POST] /ecommerce/refunds/apply 接口。
///
/// REF:
- ///
+ ///
+ ///
///
///
///
@@ -713,7 +738,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// 异步调用 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口。
///
/// REF:
- ///
+ ///
+ ///
///
///
///
@@ -727,7 +753,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber)
- .SetQueryParam("sub_mchid", request.SubMerchantId);
+ .SetQueryParam("sub_mchid", request.SubMerchantId)
+ .SetQueryParam("individual_auth_id", request.IndividualAuthId);
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
@@ -736,7 +763,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// 异步调用 [GET] /ecommerce/refunds/id/{refund_id} 接口。
///
/// REF:
- ///
+ ///
+ ///
///
///
///
@@ -750,7 +778,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId)
- .SetQueryParam("sub_mchid", request.SubMerchantId);
+ .SetQueryParam("sub_mchid", request.SubMerchantId)
+ .SetQueryParam("individual_auth_id", request.IndividualAuthId);
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
@@ -804,7 +833,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// 异步调用 [POST] /ecommerce/refunds/{refund_id}/apply-abnormal-refund 接口。
///
/// REF:
- ///
+ ///
+ ///
///
///
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePlatformSolutionExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePlatformSolutionExtensions.cs
index 465fd2c0..99c5ec0c 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePlatformSolutionExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePlatformSolutionExtensions.cs
@@ -695,6 +695,74 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
#endregion
#endregion
+ #region EcommerceSettle
+ ///
+ /// 异步调用 [POST] /platsolution/ecommerce/settle/prepay-settle-orders 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreatePlatformSolutionEcommerceSettlePrepaySettleOrderAsync(this WechatTenpayClient client, Models.CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest 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, "platsolution", "ecommerce", "settle", "prepay-settle-orders");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [GET] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberAsync(this WechatTenpayClient client, Models.GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberRequest 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.Get, "platsolution", "ecommerce", "settle", "prepay-settle-orders", request.SettleBatchNumber);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no}/apply-abnormal-settle 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleAsync(this WechatTenpayClient client, Models.ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest 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, "platsolution", "ecommerce", "settle", "prepay-settle-orders", request.SettleBatchNumber, "apply-abnormal-settle");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ #endregion
+
#region InsuranceMerchantTransfer
///
/// 异步调用 [POST] /platsolution/insurance/mch-transfer/batches/apply 接口。
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientParameterExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientParameterExtensions.cs
index 83b156de..fa84b70b 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientParameterExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientParameterExtensions.cs
@@ -22,7 +22,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
///
///
///
- ///
+ ///
+ ///
///
///
///
@@ -62,7 +63,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
///
///
///
- ///
+ ///
+ ///
///
///
///
@@ -82,7 +84,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
///
///
///
- ///
+ ///
+ ///
///
///
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionRequest.cs
new file mode 100644
index 00000000..5a4767aa
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionRequest.cs
@@ -0,0 +1,45 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /abnormal-fund-processing/receipts/{receipt_id}/transfer-instructions 接口的请求。
+ ///
+ public class CreateAbnormalFundProcessingReceiptTransferInstructionRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置微信支付在途异常资金付款单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string ReceiptId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置微信 AppId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public IList AppIdList { get; set; } = new List();
+
+ ///
+ /// 获取或设置商户指令编号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_instruction_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_instruction_no")]
+ public string OutInstructionNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置付款方式。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_mode")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_mode")]
+ public string TransferMode { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置回调通知地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("notify_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("notify_url")]
+ public string? NotifyUrl { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionResponse.cs
new file mode 100644
index 00000000..9fd36fb2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /abnormal-fund-processing/receipts/{receipt_id}/transfer-instructions 接口的响应。
+ ///
+ public class CreateAbnormalFundProcessingReceiptTransferInstructionResponse : GetAbnormalFundProcessingReceiptByReceiptIdResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdRequest.cs
new file mode 100644
index 00000000..2738f7bc
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /abnormal-fund-processing/receipts/{receipt_id} 接口的请求。
+ ///
+ public class GetAbnormalFundProcessingReceiptByReceiptIdRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置微信支付在途异常资金付款单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string ReceiptId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdResponse.cs
new file mode 100644
index 00000000..6d1a1b68
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdResponse.cs
@@ -0,0 +1,167 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /abnormal-fund-processing/receipts/{receipt_id} 接口的响应。
+ ///
+ public class GetAbnormalFundProcessingReceiptByReceiptIdResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class Amount
+ {
+ ///
+ /// 获取或设置付款金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("total")]
+ [System.Text.Json.Serialization.JsonPropertyName("total")]
+ public int Total { get; set; }
+
+ ///
+ /// 获取或设置付款币种。
+ ///
+ [Newtonsoft.Json.JsonProperty("currency")]
+ [System.Text.Json.Serialization.JsonPropertyName("currency")]
+ public string? Currency { get; set; }
+ }
+
+ public class Instruction
+ {
+ public static class Types
+ {
+ public class Commander
+ {
+ ///
+ /// 获取或设置发起付款请求的角色。
+ ///
+ [Newtonsoft.Json.JsonProperty("operator")]
+ [System.Text.Json.Serialization.JsonPropertyName("operator")]
+ public string Operator { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public string? MerchantId { get; set; }
+ }
+
+ public class Receiver
+ {
+ ///
+ /// 获取或设置入账账户类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("account_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("account_type")]
+ public string? AccountType { get; set; }
+
+ ///
+ /// 获取或设置微信 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public string? AppId { get; set; }
+
+ ///
+ /// 获取或设置用户 OpenId。
+ ///
+ [Newtonsoft.Json.JsonProperty("openid")]
+ [System.Text.Json.Serialization.JsonPropertyName("openid")]
+ public string? OpenId { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置商户指令编号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_instruction_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_instruction_no")]
+ public string? OutInstructionNumber { get; set; }
+
+ ///
+ /// 获取或设置指令发起方信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("commander")]
+ [System.Text.Json.Serialization.JsonPropertyName("commander")]
+ public Types.Commander Commander { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款方式。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_mode")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_mode")]
+ public string TransferMode { get; set; } = default!;
+
+ ///
+ /// 获取或设置入账用户信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("receiver")]
+ [System.Text.Json.Serialization.JsonPropertyName("receiver")]
+ public Types.Receiver? Receiver { get; set; }
+
+ ///
+ /// 获取或设置入账成功时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("success_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("success_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset? SuccessTime { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置业务名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("product_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("product_name")]
+ public string ProductName { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信支付在途异常资金付款单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("receipt_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("receipt_id")]
+ public string ReceiptId { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款金额信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_amount")]
+ public Types.Amount Amount { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款指令信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("instruction")]
+ [System.Text.Json.Serialization.JsonPropertyName("instruction")]
+ public Types.Instruction Instruction { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("receipt_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("receipt_state")]
+ public string ReceiptState { get; set; } = default!;
+
+ ///
+ /// 获取或设置单据创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset CreateTime { get; set; }
+
+ ///
+ /// 获取或设置单据更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("last_update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("last_update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset UpdateTime { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CloseCombineTransactionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CloseCombineTransactionRequest.cs
index 7f357de6..0d9ad60e 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CloseCombineTransactionRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CloseCombineTransactionRequest.cs
@@ -32,6 +32,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
public string? SubAppId { get; set; }
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
///
/// 获取或设置子单商户订单号。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionAppRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionAppRequest.cs
index 0a52ef91..c9ffd94f 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionAppRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionAppRequest.cs
@@ -71,14 +71,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? SubAppId { get; set; }
///
- /// 获取或设置商品单个人收款方受理授权 ID。
+ /// 获取或设置个人收款方受理授权 ID。
///
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
///
- /// 获取或设置商品单个人收款方平台昵称。
+ /// 获取或设置个人收款方平台昵称。
///
[Newtonsoft.Json.JsonProperty("individual_name")]
[System.Text.Json.Serialization.JsonPropertyName("individual_name")]
@@ -228,5 +228,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; }
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionH5Request.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionH5Request.cs
index 25bda3db..81804b9e 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionH5Request.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionH5Request.cs
@@ -126,5 +126,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; }
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionJsapiRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionJsapiRequest.cs
index 163dca62..6f5ba1c7 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionJsapiRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionJsapiRequest.cs
@@ -89,5 +89,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; }
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionMiniProgramRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionMiniProgramRequest.cs
new file mode 100644
index 00000000..b370e4e4
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionMiniProgramRequest.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /combine-transactions/miniprogram 接口的请求。
+ ///
+ public class CreateCombineTransactionMiniProgramRequest : WechatTenpayRequest
+ {
+ public static class Types
+ {
+ public class SubOrder : CreateCombineTransactionJsapiRequest.Types.SubOrder
+ {
+ }
+
+ public class Payer : CreateCombineTransactionJsapiRequest.Types.Payer
+ {
+ }
+
+ public class Scene : CreateCombineTransactionJsapiRequest.Types.Scene
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置合单发起方的微信 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_appid")]
+ public string CombineAppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置合单发起方的微信商户号。如果不指定将使用构造 时的 参数。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_mchid")]
+ public string? CombineMerchantId { get; set; }
+
+ ///
+ /// 获取或设置合单商户订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_out_trade_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
+ public string CombineOutTradeNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置交易起始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("time_start")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("time_start")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset? StartTime { get; set; }
+
+ ///
+ /// 获取或设置交易结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("time_expire")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("time_expire")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset? ExpireTime { get; set; }
+
+ ///
+ /// 获取或设置回调通知地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("notify_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("notify_url")]
+ public string? NotifyUrl { get; set; }
+
+ ///
+ /// 获取或设置子单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_orders")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_orders")]
+ public IList SubOrderList { get; set; } = new List();
+
+ ///
+ /// 获取或设置支付者信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_payer_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_payer_info")]
+ public Types.Payer? CombinePayer { get; set; }
+
+ ///
+ /// 获取或设置场景信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("scene_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("scene_info")]
+ public Types.Scene? Scene { get; set; }
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionMiniProgramResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionMiniProgramResponse.cs
new file mode 100644
index 00000000..423a1723
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionMiniProgramResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /combine-transactions/miniprogram 接口的响应。
+ ///
+ public class CreateCombineTransactionMiniProgramResponse : CreateCombineTransactionJsapiResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionNativeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionNativeRequest.cs
index f162cdf0..0a539049 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionNativeRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/CreateCombineTransactionNativeRequest.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
@@ -78,5 +78,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; }
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineOutTradeNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineOutTradeNumberResponse.cs
index 00801d88..229aa28d 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineOutTradeNumberResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineOutTradeNumberResponse.cs
@@ -116,14 +116,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? BankType { get; set; }
///
- /// 获取或设置商品单个人收款方受理授权 ID。
+ /// 获取或设置个人收款方受理授权 ID。
///
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
///
- /// 获取或设置商品单个人收款方平台昵称。
+ /// 获取或设置个人收款方平台昵称。
///
[Newtonsoft.Json.JsonProperty("individual_name")]
[System.Text.Json.Serialization.JsonPropertyName("individual_name")]
@@ -195,6 +195,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string CombineOutTradeNumber { get; set; } = default!;
+ ///
+ /// 获取或设置合单微信支付订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_transaction_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_transaction_id")]
+ public string CombineTransactionId { get; set; } = default!;
+
///
/// 获取或设置子单列表。
///
@@ -215,5 +222,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; }
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineTransactionIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineTransactionIdRequest.cs
new file mode 100644
index 00000000..7d10a76b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineTransactionIdRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /combine-transactions/id/{combine_transaction_id} 接口的请求。
+ ///
+ public class GetCombineTransactionByCombineTransactionIdRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置合单微信支付订单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string CombineTransactionId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineTransactionIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineTransactionIdResponse.cs
new file mode 100644
index 00000000..d2334a3e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/CombineTransactions/GetCombineTransactionByCombineTransactionIdResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /combine-transactions/id/{combine_transaction_id} 接口的响应。
+ ///
+ public class GetCombineTransactionByCombineTransactionIdResponse : GetCombineTransactionByCombineOutTradeNumberResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdRequest.cs
new file mode 100644
index 00000000..21be9e50
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdRequest.cs
@@ -0,0 +1,29 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /ecommerce/individual-contracts/{openid} 接口的请求。
+ ///
+ public class GetEcommerceIndividualContractByOpenIdRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置微信 AppId。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string AppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置用户 OpenId。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string OpenId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置权限类型。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string? PermissionType { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdResponse.cs
new file mode 100644
index 00000000..197c27ea
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdResponse.cs
@@ -0,0 +1,33 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /ecommerce/individual-contracts/{openid} 接口的响应。
+ ///
+ public class GetEcommerceIndividualContractByOpenIdResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string IndividualAuthId { get; set; } = default!;
+
+ ///
+ /// 获取或设置操作时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("operation_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("operation_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset OperateTime { get; set; }
+
+ ///
+ /// 获取或设置授权状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("auth_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("auth_state")]
+ public string AuthState { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceAbnormalRefundApplyRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceAbnormalRefundApplyRequest.cs
index 1615899f..cca21198 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceAbnormalRefundApplyRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceAbnormalRefundApplyRequest.cs
@@ -69,6 +69,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string? CombineOutTradeNumber { get; set; }
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
///
/// 获取或设置微信退款单号。
///
@@ -83,13 +90,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("out_refund_no")]
public string OutRefundNumber { get; set; } = string.Empty;
- ///
- /// 获取或设置个人收款方受理授权 ID。
- ///
- [Newtonsoft.Json.JsonProperty("individual_auth_id")]
- [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
- public string? IndividualAuthId { get; set; }
-
///
/// 获取或设置异常退款处理方式。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceRefundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceRefundRequest.cs
index 148c508e..d5fe1476 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceRefundRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/CreateEcommerceRefundRequest.cs
@@ -68,6 +68,20 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string? TransactionId { get; set; }
+ ///
+ /// 获取或设置合单微信支付订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("combine_transaction_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("combine_transaction_id")]
+ public string? CombineTransactionId { get; set; }
+
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
///
/// 获取或设置商户退款单号。
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberRequest.cs
index a0a5ded1..aa6b4ae5 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberRequest.cs
@@ -1,4 +1,4 @@
-namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
///
/// 表示 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口的请求。
@@ -18,5 +18,12 @@
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutRefundNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string? IndividualAuthId { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByRefundIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByRefundIdRequest.cs
index fe8dda96..5873860f 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByRefundIdRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/Refunds/GetEcommerceRefundByRefundIdRequest.cs
@@ -1,4 +1,4 @@
-namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
///
/// 表示 [GET] /ecommerce/refunds/id/{refund_id} 接口的请求。
@@ -18,5 +18,12 @@
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string RefundId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string? IndividualAuthId { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest.cs
new file mode 100644
index 00000000..800fec0b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no}/apply-abnormal-settle 接口的请求。
+ ///
+ public class ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
+ ///
+ /// 获取或设置微信支付结算批次单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string SettleBatchNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置商户异常结算批次单处理单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_abnormal_settle_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_abnormal_settle_batch_no")]
+ public string OutAbnormalSettleBatchNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置异常处理方式。
+ ///
+ [Newtonsoft.Json.JsonProperty("abnormal_settle_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("abnormal_settle_type")]
+ public string AbnormalSettleType { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置异常处理说明。
+ ///
+ [Newtonsoft.Json.JsonProperty("description")]
+ [System.Text.Json.Serialization.JsonPropertyName("description")]
+ public string? Description { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse.cs
new file mode 100644
index 00000000..20273d8a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no}/apply-abnormal-settle 接口的响应。
+ ///
+ public class ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse : GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest.cs
new file mode 100644
index 00000000..75e44152
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest.cs
@@ -0,0 +1,144 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders 接口的请求。
+ ///
+ public class CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest : WechatTenpayRequest
+ {
+ public static class Types
+ {
+ public class SettleInfo
+ {
+ ///
+ /// 获取或设置微信支付订单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("transaction_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
+ public string TransactionId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置商户结算单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_settle_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_settle_no")]
+ public string OutSettleNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置结算明细单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("settle_detail_info_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("settle_detail_info_list")]
+ public IList SettleDetailInfoList { get; set; } = new List();
+ }
+
+ public class SettleDetailInfo
+ {
+ public static class Types
+ {
+ public class Amount
+ {
+ ///
+ /// 获取或设置结算金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("amount")]
+ public int Total { get; set; }
+
+ ///
+ /// 获取或设置结算币种。
+ ///
+ [Newtonsoft.Json.JsonProperty("currency")]
+ [System.Text.Json.Serialization.JsonPropertyName("currency")]
+ public string? Currency { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置商户结算明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_settle_detail_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_settle_detail_no")]
+ public string OutSettleDetailNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置结算类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("settle_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("settle_type")]
+ public string SettleType { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置接收方类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("receiver_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("receiver_type")]
+ public string? ReceiverType { get; set; }
+
+ ///
+ /// 获取或设置接收方账号。
+ ///
+ [Newtonsoft.Json.JsonProperty("receiver_account")]
+ [System.Text.Json.Serialization.JsonPropertyName("receiver_account")]
+ public string? ReceiverAccount { get; set; }
+
+ ///
+ /// 获取或设置金额信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("amount")]
+ public Types.Amount Amount { get; set; } = new Types.Amount();
+ }
+ }
+
+ ///
+ /// 获取或设置微信 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public string? AppId { get; set; }
+
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
+ ///
+ /// 获取或设置商户结算批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_settle_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_settle_batch_no")]
+ public string OutSettleBatchNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置结算信息列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("settle_info_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("settle_info_list")]
+ public IList SettleInfoList { get; set; } = new List();
+
+ ///
+ /// 获取或设置回调通知地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("notify_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("notify_url")]
+ public string? NotifyUrl { get; set; }
+
+ ///
+ /// 获取或设置收款方描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("description")]
+ [System.Text.Json.Serialization.JsonPropertyName("description")]
+ public string Description { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse.cs
new file mode 100644
index 00000000..b92b5d02
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders 接口的响应。
+ ///
+ public class CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse : GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberRequest.cs
new file mode 100644
index 00000000..32b7f03b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no} 接口的请求。
+ ///
+ public class GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置微信支付结算批次单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string SettleBatchNumber { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse.cs
new file mode 100644
index 00000000..cda47cad
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse.cs
@@ -0,0 +1,120 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no} 接口的响应。
+ ///
+ public class GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class AbnormalSettleResult
+ {
+ ///
+ /// 获取或设置异常处理方式。
+ ///
+ [Newtonsoft.Json.JsonProperty("abnormal_settle_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("abnormal_settle_type")]
+ public string AbnormalSettleType { get; set; } = default!;
+
+ ///
+ /// 获取或设置商户异常结算批次单处理单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_abnormal_settle_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_abnormal_settle_batch_no")]
+ public string OutAbnormalSettleBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信支付异常资金付款单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("abnormal_fund_receipt_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("abnormal_fund_receipt_id")]
+ public string AbnormalFundReceiptId { get; set; } = default!;
+
+ ///
+ /// 获取或设置申请成功时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("apply_success_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("apply_success_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset ApplySuccessTime { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置个人收款方受理授权 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("individual_auth_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
+ public string? IndividualAuthId { get; set; }
+
+ ///
+ /// 获取或设置商户结算批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_settle_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_settle_batch_no")]
+ public string OutSettleBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信支付结算批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("settle_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("settle_batch_no")]
+ public string SettleBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("state")]
+ [System.Text.Json.Serialization.JsonPropertyName("state")]
+ public string State { get; set; } = default!;
+
+ ///
+ /// 获取或设置收款方描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("description")]
+ [System.Text.Json.Serialization.JsonPropertyName("description")]
+ public string Description { get; set; } = default!;
+
+ ///
+ /// 获取或设置交易场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("trade_scenario")]
+ [System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
+ public string? TradeScenario { get; set; }
+
+ ///
+ /// 获取或设置批次创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset CreateTime { get; set; }
+
+ ///
+ /// 获取或设置批次完成时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("finish_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("finish_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
+ public DateTimeOffset? FinishTime { get; set; }
+
+ ///
+ /// 获取或设置异常原因类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("abnormal_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("abnormal_type")]
+ public string? AbnormalType { get; set; }
+
+ ///
+ /// 获取或设置异常结算处理结果信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("abnormal_settle_result")]
+ [System.Text.Json.Serialization.JsonPropertyName("abnormal_settle_result")]
+ public Types.AbnormalSettleResult? AbnormalSettleResult { get; set; }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionRequest.json
new file mode 100644
index 00000000..b1b1ef0f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionRequest.json
@@ -0,0 +1,8 @@
+{
+ "out_instruction_no": "1200002",
+ "appid": [
+ "wxf636efh567hg4356"
+ ],
+ "transfer_mode": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
+ "notify_url": "https://weixin.qq.com"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionResponse.json
new file mode 100644
index 00000000..95b1e0ac
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/CreateAbnormalFundProcessingReceiptTransferInstructionResponse.json
@@ -0,0 +1,20 @@
+{
+ "product_name": "C2C",
+ "receipt_id": "0100011742874700562078230000",
+ "transfer_amount": {
+ "total": 100,
+ "currency": "CNY"
+ },
+ "receipt_state": "RECEIPT_STATE_PENDING",
+ "create_time": "2023-10-01T12:34:56+08:00",
+ "last_update_time": "2023-10-01T12:34:56+08:00",
+ "instruction": {
+ "out_instruction_no": "1200002",
+ "commander": {
+ "operator": "MERCHANT",
+ "mchid": "990055040"
+ },
+ "transfer_mode": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
+ "success_time": "2023-10-01T12:34:56+08:00"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdResponse.json
new file mode 100644
index 00000000..dd587245
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/AbnormalFundProcessing/GetAbnormalFundProcessingReceiptByReceiptIdResponse.json
@@ -0,0 +1,25 @@
+{
+ "product_name": "C2C",
+ "receipt_id": "0100011742874700562078230000",
+ "transfer_amount": {
+ "total": 100,
+ "currency": "CNY"
+ },
+ "receipt_state": "RECEIPT_STATE_PENDING",
+ "create_time": "2023-10-01T12:34:56+08:00",
+ "last_update_time": "2023-10-01T12:34:56+08:00",
+ "instruction": {
+ "out_instruction_no": "1200002",
+ "commander": {
+ "operator": "MERCHANT",
+ "mchid": "990055040"
+ },
+ "transfer_mode": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
+ "receiver": {
+ "account_type": "OTHERS",
+ "openid": "eoCuiA7RW33Tc3jtz_5CNLegC9kN0",
+ "appid": "wxf636efh567hg4356"
+ },
+ "success_time": "2023-10-01T12:34:56+08:00"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CloseCombineTransactionRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CloseCombineTransactionRequest.json
index 6b30dc8d..34714277 100644
--- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CloseCombineTransactionRequest.json
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CloseCombineTransactionRequest.json
@@ -1,10 +1,11 @@
-{
+{
"combine_appid": "wxd678efh567hg6787",
"sub_orders": [
{
"mchid": "1900000109",
"out_trade_no": "20150806125346",
- "sub_mchid": "1230000109"
+ "sub_mchid": "1230000109",
+ "individual_auth_id": "1900000109"
}
]
}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CreateCombineTransactionMiniProgramRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CreateCombineTransactionMiniProgramRequest.json
new file mode 100644
index 00000000..362b8eb0
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CreateCombineTransactionMiniProgramRequest.json
@@ -0,0 +1,29 @@
+{
+ "combine_appid": "wxd678efh567hg6787",
+ "combine_mchid": "1230000109",
+ "combine_out_trade_no": "P20150806125346",
+ "combine_payer_info": {
+ "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
+ },
+ "scene_info": {
+ "device_id": "POS1:1",
+ "payer_client_ip": "127.0.0.1"
+ },
+ "sub_orders": [
+ {
+ "mchid": "1230000109",
+ "individual_auth_id": "1900000109",
+ "individual_name": "哈哈哈小店",
+ "out_trade_no": "20150806125346",
+ "amount": {
+ "total_amount": 10,
+ "currency": "CNY"
+ },
+ "attach": "深圳分店",
+ "description": "Image形象店-深圳腾大-QQ公仔"
+ }
+ ],
+ "time_expire": "2018-06-08T10:34:56+08:00",
+ "notify_url": "https://yourapp.com/notify",
+ "trade_scenario": "RECOMMERCE"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CreateCombineTransactionMiniProgramResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CreateCombineTransactionMiniProgramResponse.json
new file mode 100644
index 00000000..38a9418a
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/CreateCombineTransactionMiniProgramResponse.json
@@ -0,0 +1,3 @@
+{
+ "prepay_id": "wx201410272009395522657a690389285100"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/GetCombineTransactionByCombineTransactionIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/GetCombineTransactionByCombineTransactionIdResponse.json
new file mode 100644
index 00000000..16f5a73d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/CombineTransactions/GetCombineTransactionByCombineTransactionIdResponse.json
@@ -0,0 +1,34 @@
+{
+ "combine_appid": "wxd678efh567hg6787",
+ "combine_mchid": "1230000109",
+ "combine_out_trade_no": "P20150806125346",
+ "combine_transaction_id": "1217752501201407033233368018",
+ "combine_payer_info": {
+ "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o\t"
+ },
+ "scene_info": {
+ "device_id": "POS1:1"
+ },
+ "sub_orders": [
+ {
+ "mchid": "1900000109",
+ "individual_auth_id": "1900000109",
+ "individual_name": "哈哈哈小店",
+ "out_trade_no": "20150806125346",
+ "transaction_id": "1009660380201506130728806387",
+ "trade_type": "MINIPROGRAM",
+ "trade_state": "SUCCESS",
+ "bank_type": "CMC",
+ "attach": "深圳分店",
+ "success_time": "2015-05-20T13:29:35.120+08:00",
+ "amount": {
+ "total_amount": 10,
+ "payer_amount": 10,
+ "currency": "CNY",
+ "payer_currency": "CNY",
+ "settlement_rate": 650000000
+ }
+ }
+ ],
+ "trade_scenario": "RECOMMERCE"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdResponse.json
new file mode 100644
index 00000000..314d5522
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/Ecommerce/IndividualContracts/GetEcommerceIndividualContractByOpenIdResponse.json
@@ -0,0 +1,5 @@
+{
+ "individual_auth_id": "1900000109",
+ "operation_time": "2018-06-08T10:34:56+08:00",
+ "auth_state": "AUTHORIZED"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest.json
new file mode 100644
index 00000000..db3174ef
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest.json
@@ -0,0 +1,6 @@
+{
+ "individual_auth_id": "256322110225",
+ "out_abnormal_settle_batch_no": "1236698745558870",
+ "abnormal_settle_type": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
+ "description": "xx结算失败,转付至原用户"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse.json
new file mode 100644
index 00000000..8f856b19
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse.json
@@ -0,0 +1,17 @@
+{
+ "out_settle_batch_no": "123699878455555",
+ "settle_batch_no": "123688554855555666",
+ "individual_auth_id": "1900000109",
+ "description": "共计2笔订单,订单金额xxx元,平台服务费xxx元,合计收款xxx元",
+ "state": "SUCCESS",
+ "trade_scenario": "RECOMMERCE",
+ "create_time": "2024-06-08T10:34:56+08:00",
+ "finish_time": "2024-06-08T10:34:56+08:00",
+ "abnormal_type": "AUTH_RELATIONSHIP_INVALID",
+ "abnormal_settle_result": {
+ "abnormal_settle_type": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
+ "apply_success_time": "2025-04-22T10:34:56+08:00",
+ "abnormal_fund_receipt_id": "2123685544886666",
+ "out_abnormal_settle_batch_no": "1236698745558870"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest.json
new file mode 100644
index 00000000..dbb8161b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest.json
@@ -0,0 +1,26 @@
+{
+ "appid": "WXA12368855126622",
+ "out_settle_batch_no": "1236698745558870",
+ "individual_auth_id": "256322110225",
+ "notify_url": "https://www.weixin.qq.com/wxpay/pay.php",
+ "description": "共计2笔订单,订单金额xxx元,平台服务费xxx元,合计收款xxx元",
+ "trade_scenario": "RECOMMERCE",
+ "settle_info_list": [
+ {
+ "out_settle_no": "12369666555136622",
+ "transaction_id": "4207752501201407033233368018",
+ "settle_detail_info_list": [
+ {
+ "out_settle_detail_no": "123688556699666554",
+ "settle_type": "RECEIVE",
+ "receiver_type": "MERCHANT",
+ "receiver_account": "1234567890",
+ "amount": {
+ "amount": 11000,
+ "currency": "CNY"
+ }
+ }
+ ]
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse.json
new file mode 100644
index 00000000..e751b1a3
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse.json
@@ -0,0 +1,10 @@
+{
+ "out_settle_batch_no": "123699878455555",
+ "settle_batch_no": "123688554855555666",
+ "individual_auth_id": "1900000109",
+ "description": "共计2笔订单,订单金额xxx元,平台服务费xxx元,合计收款xxx元",
+ "state": "SUCCESS",
+ "trade_scenario": "RECOMMERCE",
+ "create_time": "2024-06-08T10:34:56+08:00",
+ "finish_time": "2024-06-08T10:34:56+08:00"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse.json
new file mode 100644
index 00000000..e751b1a3
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PlatformSolution/EcommerceSettle/GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse.json
@@ -0,0 +1,10 @@
+{
+ "out_settle_batch_no": "123699878455555",
+ "settle_batch_no": "123688554855555666",
+ "individual_auth_id": "1900000109",
+ "description": "共计2笔订单,订单金额xxx元,平台服务费xxx元,合计收款xxx元",
+ "state": "SUCCESS",
+ "trade_scenario": "RECOMMERCE",
+ "create_time": "2024-06-08T10:34:56+08:00",
+ "finish_time": "2024-06-08T10:34:56+08:00"
+}