feat(tenpayv3): 新增个人收款二手交易场景相关接口
Some checks are pending
CodeQL / Analyze (csharp) (push) Waiting to run
CodeLint / Lint (push) Waiting to run

This commit is contained in:
Fu Diwei
2025-07-14 20:04:33 +08:00
parent 49a89eedd0
commit 048a51abb7
47 changed files with 1304 additions and 30 deletions

View File

@@ -0,0 +1,45 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /abnormal-fund-processing/receipts/{receipt_id}/transfer-instructions 接口的请求。</para>
/// </summary>
public class CreateAbnormalFundProcessingReceiptTransferInstructionRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置微信支付在途异常资金付款单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ReceiptId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置微信 AppId 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public IList<string> AppIdList { get; set; } = new List<string>();
/// <summary>
/// 获取或设置商户指令编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_instruction_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_instruction_no")]
public string OutInstructionNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置付款方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_mode")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_mode")]
public string TransferMode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string? NotifyUrl { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /abnormal-fund-processing/receipts/{receipt_id}/transfer-instructions 接口的响应。</para>
/// </summary>
public class CreateAbnormalFundProcessingReceiptTransferInstructionResponse : GetAbnormalFundProcessingReceiptByReceiptIdResponse
{
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /abnormal-fund-processing/receipts/{receipt_id} 接口的请求。</para>
/// </summary>
public class GetAbnormalFundProcessingReceiptByReceiptIdRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置微信支付在途异常资金付款单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ReceiptId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,167 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /abnormal-fund-processing/receipts/{receipt_id} 接口的响应。</para>
/// </summary>
public class GetAbnormalFundProcessingReceiptByReceiptIdResponse : WechatTenpayResponse
{
public static class Types
{
public class Amount
{
/// <summary>
/// 获取或设置付款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("total")]
[System.Text.Json.Serialization.JsonPropertyName("total")]
public int Total { get; set; }
/// <summary>
/// 获取或设置付款币种。
/// </summary>
[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
{
/// <summary>
/// 获取或设置发起付款请求的角色。
/// </summary>
[Newtonsoft.Json.JsonProperty("operator")]
[System.Text.Json.Serialization.JsonPropertyName("operator")]
public string Operator { get; set; } = default!;
/// <summary>
/// 获取或设置微信商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("mchid")]
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
public string? MerchantId { get; set; }
}
public class Receiver
{
/// <summary>
/// 获取或设置入账账户类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_type")]
[System.Text.Json.Serialization.JsonPropertyName("account_type")]
public string? AccountType { get; set; }
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
/// <summary>
/// 获取或设置用户 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string? OpenId { get; set; }
}
}
/// <summary>
/// 获取或设置商户指令编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_instruction_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_instruction_no")]
public string? OutInstructionNumber { get; set; }
/// <summary>
/// 获取或设置指令发起方信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("commander")]
[System.Text.Json.Serialization.JsonPropertyName("commander")]
public Types.Commander Commander { get; set; } = default!;
/// <summary>
/// 获取或设置付款方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_mode")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_mode")]
public string TransferMode { get; set; } = default!;
/// <summary>
/// 获取或设置入账用户信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver")]
[System.Text.Json.Serialization.JsonPropertyName("receiver")]
public Types.Receiver? Receiver { get; set; }
/// <summary>
/// 获取或设置入账成功时间。
/// </summary>
[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; }
}
}
/// <summary>
/// 获取或设置业务名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_name")]
[System.Text.Json.Serialization.JsonPropertyName("product_name")]
public string ProductName { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付在途异常资金付款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("receipt_id")]
[System.Text.Json.Serialization.JsonPropertyName("receipt_id")]
public string ReceiptId { get; set; } = default!;
/// <summary>
/// 获取或设置付款金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_amount")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_amount")]
public Types.Amount Amount { get; set; } = default!;
/// <summary>
/// 获取或设置付款指令信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("instruction")]
[System.Text.Json.Serialization.JsonPropertyName("instruction")]
public Types.Instruction Instruction { get; set; } = default!;
/// <summary>
/// 获取或设置付款状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("receipt_state")]
[System.Text.Json.Serialization.JsonPropertyName("receipt_state")]
public string ReceiptState { get; set; } = default!;
/// <summary>
/// 获取或设置单据创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置单据更新时间。
/// </summary>
[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; }
}
}

View File

@@ -32,6 +32,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
public string? SubAppId { get; set; }
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置子单商户订单号。
/// </summary>

View File

@@ -71,14 +71,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? SubAppId { get; set; }
/// <summary>
/// 获取或设置商品单个人收款方受理授权 ID。
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置商品单个人收款方平台昵称。
/// 获取或设置个人收款方平台昵称。
/// </summary>
[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; }
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -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; }
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -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; }
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /combine-transactions/miniprogram 接口的请求。</para>
/// </summary>
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
{
}
}
/// <summary>
/// 获取或设置合单发起方的微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("combine_appid")]
[System.Text.Json.Serialization.JsonPropertyName("combine_appid")]
public string CombineAppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置合单发起方的微信商户号。如果不指定将使用构造 <see cref="WechatTenpayClient"/> 时的 <see cref="WechatTenpayClientOptions.MerchantId"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("combine_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("combine_mchid")]
public string? CombineMerchantId { get; set; }
/// <summary>
/// 获取或设置合单商户订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("combine_out_trade_no")]
[System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string CombineOutTradeNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置交易起始时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置交易结束时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string? NotifyUrl { get; set; }
/// <summary>
/// 获取或设置子单列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_orders")]
[System.Text.Json.Serialization.JsonPropertyName("sub_orders")]
public IList<Types.SubOrder> SubOrderList { get; set; } = new List<Types.SubOrder>();
/// <summary>
/// 获取或设置支付者信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("combine_payer_info")]
[System.Text.Json.Serialization.JsonPropertyName("combine_payer_info")]
public Types.Payer? CombinePayer { get; set; }
/// <summary>
/// 获取或设置场景信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; }
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /combine-transactions/miniprogram 接口的响应。</para>
/// </summary>
public class CreateCombineTransactionMiniProgramResponse : CreateCombineTransactionJsapiResponse
{
}
}

View File

@@ -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; }
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -116,14 +116,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? BankType { get; set; }
/// <summary>
/// 获取或设置商品单个人收款方受理授权 ID。
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置商品单个人收款方平台昵称。
/// 获取或设置个人收款方平台昵称。
/// </summary>
[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!;
/// <summary>
/// 获取或设置合单微信支付订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("combine_transaction_id")]
[System.Text.Json.Serialization.JsonPropertyName("combine_transaction_id")]
public string CombineTransactionId { get; set; } = default!;
/// <summary>
/// 获取或设置子单列表。
/// </summary>
@@ -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; }
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /combine-transactions/id/{combine_transaction_id} 接口的请求。</para>
/// </summary>
public class GetCombineTransactionByCombineTransactionIdRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置合单微信支付订单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CombineTransactionId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /combine-transactions/id/{combine_transaction_id} 接口的响应。</para>
/// </summary>
public class GetCombineTransactionByCombineTransactionIdResponse : GetCombineTransactionByCombineOutTradeNumberResponse
{
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /ecommerce/individual-contracts/{openid} 接口的请求。</para>
/// </summary>
public class GetEcommerceIndividualContractByOpenIdRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户 OpenId。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置权限类型。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? PermissionType { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /ecommerce/individual-contracts/{openid} 接口的响应。</para>
/// </summary>
public class GetEcommerceIndividualContractByOpenIdResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string IndividualAuthId { get; set; } = default!;
/// <summary>
/// 获取或设置操作时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置授权状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_state")]
[System.Text.Json.Serialization.JsonPropertyName("auth_state")]
public string AuthState { get; set; } = default!;
}
}

View File

@@ -69,6 +69,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string? CombineOutTradeNumber { get; set; }
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置微信退款单号。
/// </summary>
@@ -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;
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置异常退款处理方式。
/// </summary>

View File

@@ -68,6 +68,20 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string? TransactionId { get; set; }
/// <summary>
/// 获取或设置合单微信支付订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("combine_transaction_id")]
[System.Text.Json.Serialization.JsonPropertyName("combine_transaction_id")]
public string? CombineTransactionId { get; set; }
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置商户退款单号。
/// </summary>

View File

@@ -1,4 +1,4 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口的请求。</para>
@@ -18,5 +18,12 @@
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutRefundNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? IndividualAuthId { get; set; }
}
}

View File

@@ -1,4 +1,4 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /ecommerce/refunds/id/{refund_id} 接口的请求。</para>
@@ -18,5 +18,12 @@
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string RefundId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? IndividualAuthId { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no}/apply-abnormal-settle 接口的请求。</para>
/// </summary>
public class ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置微信支付结算批次单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string SettleBatchNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户异常结算批次单处理单号。
/// </summary>
[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;
/// <summary>
/// 获取或设置异常处理方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("abnormal_settle_type")]
[System.Text.Json.Serialization.JsonPropertyName("abnormal_settle_type")]
public string AbnormalSettleType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置异常处理说明。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no}/apply-abnormal-settle 接口的响应。</para>
/// </summary>
public class ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse : GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse
{
}
}

View File

@@ -0,0 +1,144 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders 接口的请求。</para>
/// </summary>
public class CreatePlatformSolutionEcommerceSettlePrepaySettleOrderRequest : WechatTenpayRequest
{
public static class Types
{
public class SettleInfo
{
/// <summary>
/// 获取或设置微信支付订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_id")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户结算单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_settle_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_settle_no")]
public string OutSettleNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结算明细单列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("settle_detail_info_list")]
[System.Text.Json.Serialization.JsonPropertyName("settle_detail_info_list")]
public IList<SettleDetailInfo> SettleDetailInfoList { get; set; } = new List<SettleDetailInfo>();
}
public class SettleDetailInfo
{
public static class Types
{
public class Amount
{
/// <summary>
/// 获取或设置结算金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public int Total { get; set; }
/// <summary>
/// 获取或设置结算币种。
/// </summary>
[Newtonsoft.Json.JsonProperty("currency")]
[System.Text.Json.Serialization.JsonPropertyName("currency")]
public string? Currency { get; set; }
}
}
/// <summary>
/// 获取或设置商户结算明细单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_settle_detail_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_settle_detail_no")]
public string OutSettleDetailNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结算类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("settle_type")]
[System.Text.Json.Serialization.JsonPropertyName("settle_type")]
public string SettleType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置接收方类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver_type")]
[System.Text.Json.Serialization.JsonPropertyName("receiver_type")]
public string? ReceiverType { get; set; }
/// <summary>
/// 获取或设置接收方账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver_account")]
[System.Text.Json.Serialization.JsonPropertyName("receiver_account")]
public string? ReceiverAccount { get; set; }
/// <summary>
/// 获取或设置金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public Types.Amount Amount { get; set; } = new Types.Amount();
}
}
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string? AppId { get; set; }
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置商户结算批次单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_settle_batch_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_settle_batch_no")]
public string OutSettleBatchNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结算信息列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("settle_info_list")]
[System.Text.Json.Serialization.JsonPropertyName("settle_info_list")]
public IList<Types.SettleInfo> SettleInfoList { get; set; } = new List<Types.SettleInfo>();
/// <summary>
/// 获取或设置回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string? NotifyUrl { get; set; }
/// <summary>
/// 获取或设置收款方描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/settle/prepay-settle-orders 接口的响应。</para>
/// </summary>
public class CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse : GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse
{
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no} 接口的请求。</para>
/// </summary>
public class GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置微信支付结算批次单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string SettleBatchNumber { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,120 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no} 接口的响应。</para>
/// </summary>
public class GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse : WechatTenpayResponse
{
public static class Types
{
public class AbnormalSettleResult
{
/// <summary>
/// 获取或设置异常处理方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("abnormal_settle_type")]
[System.Text.Json.Serialization.JsonPropertyName("abnormal_settle_type")]
public string AbnormalSettleType { get; set; } = default!;
/// <summary>
/// 获取或设置商户异常结算批次单处理单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_abnormal_settle_batch_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_abnormal_settle_batch_no")]
public string OutAbnormalSettleBatchNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付异常资金付款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("abnormal_fund_receipt_id")]
[System.Text.Json.Serialization.JsonPropertyName("abnormal_fund_receipt_id")]
public string AbnormalFundReceiptId { get; set; } = default!;
/// <summary>
/// 获取或设置申请成功时间。
/// </summary>
[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; }
}
}
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary>
/// 获取或设置商户结算批次单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_settle_batch_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_settle_batch_no")]
public string OutSettleBatchNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付结算批次单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("settle_batch_no")]
[System.Text.Json.Serialization.JsonPropertyName("settle_batch_no")]
public string SettleBatchNumber { get; set; } = default!;
/// <summary>
/// 获取或设置批次状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置收款方描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string Description { get; set; } = default!;
/// <summary>
/// 获取或设置交易场景。
/// </summary>
[Newtonsoft.Json.JsonProperty("trade_scenario")]
[System.Text.Json.Serialization.JsonPropertyName("trade_scenario")]
public string? TradeScenario { get; set; }
/// <summary>
/// 获取或设置批次创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置批次完成时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置异常原因类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("abnormal_type")]
[System.Text.Json.Serialization.JsonPropertyName("abnormal_type")]
public string? AbnormalType { get; set; }
/// <summary>
/// 获取或设置异常结算处理结果信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("abnormal_settle_result")]
[System.Text.Json.Serialization.JsonPropertyName("abnormal_settle_result")]
public Types.AbnormalSettleResult? AbnormalSettleResult { get; set; }
}
}