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" +}