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

@ -48,6 +48,7 @@
| √ | 经营能力:微信支付分签约计划 | 直连商户 & 合作伙伴 | | | √ | 经营能力:微信支付分签约计划 | 直连商户 & 合作伙伴 | |
| √ | 经营能力:平台收付通 | 合作伙伴 | | | √ | 经营能力:平台收付通 | 合作伙伴 | |
| √ | 经营能力:平台保证金 | 合作伙伴 | | | √ | 经营能力:平台保证金 | 合作伙伴 | |
| √ | 经营能力:个人收款(二手交易) | 合作伙伴 | |
| √ | 运营工具:代金券 | 直连商户 & 合作伙伴 | | | √ | 运营工具:代金券 | 直连商户 & 合作伙伴 | |
| √ | 运营工具:商家券 | 直连商户 & 合作伙伴 | | | √ | 运营工具:商家券 | 直连商户 & 合作伙伴 | |
| √ | 运营工具:消费金 | 直连商户 | | | √ | 运营工具:消费金 | 直连商户 | |

View File

@ -5,7 +5,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
/// <para> /// <para>
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/merchant/4012158598 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/merchant/4012158598 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012231898 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012231898 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015124358 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
public class CombineTransactionResource : WechatTenpayEvent.Types.IDecryptedResource 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")] [System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string CombineOutTradeNumber { get; set; } = default!; 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>
/// 获取或设置子单列表。 /// 获取或设置子单列表。
/// </summary> /// </summary>

View File

@ -16,7 +16,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012124635 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012124635 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012231901 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012231901 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080628 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080628 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080241 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080241 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012650317 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
public class PartnerRefundResource : WechatTenpayEvent.Types.IDecryptedResource public class PartnerRefundResource : WechatTenpayEvent.Types.IDecryptedResource
@ -56,6 +57,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")] [System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = default!; public string TransactionId { get; set; } = default!;
/// <summary>
/// 获取或设置个人收款方受理授权 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; }
/// <summary> /// <summary>
/// 获取或设置商户退款单号。 /// 获取或设置商户退款单号。
/// </summary> /// </summary>

View File

@ -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
{
/// <summary>
/// <para>异步调用 [POST] /abnormal-fund-processing/receipts/{receipt_id}/transfer-instructions 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015408022 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreateAbnormalFundProcessingReceiptTransferInstructionResponse> 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<Models.CreateAbnormalFundProcessingReceiptTransferInstructionResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /abnormal-fund-processing/receipts/{receipt_id} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015408031 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetAbnormalFundProcessingReceiptByReceiptIdResponse> 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<Models.GetAbnormalFundProcessingReceiptByReceiptIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
}
}

View File

@ -14,7 +14,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/merchant/4012556944 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/merchant/4012556944 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012758021 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012758021 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012760622 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012760622 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015001933 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -155,13 +156,48 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync<Models.CreateCombineTransactionNativeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); return await client.SendFlurlRequestAsJsonAsync<Models.CreateCombineTransactionNativeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
} }
/// <summary>
/// <para>异步调用 [POST] /combine-transactions/miniprogram 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012602225 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreateCombineTransactionMiniProgramResponse> 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<Models.CreateCombineTransactionMiniProgramResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary> /// <summary>
/// <para>异步调用 [GET] /combine-transactions/out-trade-no/{combine_out_trade_no} 接口。</para> /// <para>异步调用 [GET] /combine-transactions/out-trade-no/{combine_out_trade_no} 接口。</para>
/// <para> /// <para>
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/merchant/4012557006 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/merchant/4012557006 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012761049 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012761049 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012761057 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012761057 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012602253 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -179,6 +215,28 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync<Models.GetCombineTransactionByCombineOutTradeNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); return await client.SendFlurlRequestAsJsonAsync<Models.GetCombineTransactionByCombineOutTradeNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
} }
/// <summary>
/// <para>异步调用 [GET] /combine-transactions/id/{combine_transaction_id} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012602242 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetCombineTransactionByCombineTransactionIdResponse> 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<Models.GetCombineTransactionByCombineTransactionIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary> /// <summary>
/// <para>异步调用 [POST] /combine-transactions/out-trade-no/{combine_out_trade_no}/close 接口。</para> /// <para>异步调用 [POST] /combine-transactions/out-trade-no/{combine_out_trade_no}/close 接口。</para>
/// <para> /// <para>

View File

@ -303,6 +303,30 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
} }
#endregion #endregion
#region IndividualContracts
/// <summary>
/// <para>异步调用 [GET] /ecommerce/individual-contracts/{openid} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012739528 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetEcommerceIndividualContractByOpenIdResponse> 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<Models.GetEcommerceIndividualContractByOpenIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region MerchantTransfer #region MerchantTransfer
/// <summary> /// <summary>
/// <para>异步调用 [POST] /ecommerce/mch-transfer/authorizations 接口。</para> /// <para>异步调用 [POST] /ecommerce/mch-transfer/authorizations 接口。</para>
@ -691,7 +715,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <para>异步调用 [POST] /ecommerce/refunds/apply 接口。</para> /// <para>异步调用 [POST] /ecommerce/refunds/apply 接口。</para>
/// <para> /// <para>
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012476892 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012476892 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012649457 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -713,7 +738,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <para>异步调用 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口。</para> /// <para>异步调用 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口。</para>
/// <para> /// <para>
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012476911 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012476911 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012650314 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -727,7 +753,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
IFlurlRequest flurlReq = client IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber) .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<Models.GetEcommerceRefundByOutRefundNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); return await client.SendFlurlRequestAsJsonAsync<Models.GetEcommerceRefundByOutRefundNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
} }
@ -736,7 +763,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <para>异步调用 [GET] /ecommerce/refunds/id/{refund_id} 接口。</para> /// <para>异步调用 [GET] /ecommerce/refunds/id/{refund_id} 接口。</para>
/// <para> /// <para>
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012476908 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012476908 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012650253 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -750,7 +778,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
IFlurlRequest flurlReq = client IFlurlRequest flurlReq = client
.CreateFlurlRequest(request, HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId) .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<Models.GetEcommerceRefundByRefundIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); return await client.SendFlurlRequestAsJsonAsync<Models.GetEcommerceRefundByRefundIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
} }
@ -804,7 +833,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <para>异步调用 [POST] /ecommerce/refunds/{refund_id}/apply-abnormal-refund 接口。</para> /// <para>异步调用 [POST] /ecommerce/refunds/{refund_id}/apply-abnormal-refund 接口。</para>
/// <para> /// <para>
/// REF: <br/> /// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080627 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080627 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012649274 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>

View File

@ -695,6 +695,74 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
#endregion #endregion
#endregion #endregion
#region EcommerceSettle
/// <summary>
/// <para>异步调用 [POST] /platsolution/ecommerce/settle/prepay-settle-orders 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012649847 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse> 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<Models.CreatePlatformSolutionEcommerceSettlePrepaySettleOrderResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012650326 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse> 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<Models.GetPlatformSolutionEcommerceSettlePrepaySettleOrderBySettleBatchNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /platsolution/ecommerce/settle/prepay-settle-orders/{settle_batch_no}/apply-abnormal-settle 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015198012 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse> 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<Models.ApplyPlatformSolutionEcommerceSettlePrepaySettleOrderAbnormalSettleResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region InsuranceMerchantTransfer #region InsuranceMerchantTransfer
/// <summary> /// <summary>
/// <para>异步调用 [POST] /platsolution/insurance/mch-transfer/batches/apply 接口。</para> /// <para>异步调用 [POST] /platsolution/insurance/mch-transfer/batches/apply 接口。</para>

View File

@ -22,7 +22,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090843 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090843 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012091236 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012091236 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166844 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166844 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166847 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166847 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012602233 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -62,7 +63,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090181 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090181 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090949 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090949 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166845 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166845 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080233 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080233 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015001851 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>
@ -82,7 +84,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090181 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090181 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090949 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012090949 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166845 ]]> <br/> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012166845 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080233 ]]> /// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013080233 ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015001851 ]]>
/// </para> /// </para>
/// </summary> /// </summary>
/// <param name="client"></param> /// <param name="client"></param>

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")] [System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
public string? SubAppId { get; set; } 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>
/// 获取或设置子单商户订单号。 /// 获取或设置子单商户订单号。
/// </summary> /// </summary>

View File

@ -71,14 +71,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? SubAppId { get; set; } public string? SubAppId { get; set; }
/// <summary> /// <summary>
/// 获取或设置商品单个人收款方受理授权 ID。 /// 获取或设置个人收款方受理授权 ID。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")] [Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")] [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; } public string? IndividualAuthId { get; set; }
/// <summary> /// <summary>
/// 获取或设置商品单个人收款方平台昵称。 /// 获取或设置个人收款方平台昵称。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("individual_name")] [Newtonsoft.Json.JsonProperty("individual_name")]
[System.Text.Json.Serialization.JsonPropertyName("individual_name")] [System.Text.Json.Serialization.JsonPropertyName("individual_name")]
@ -228,5 +228,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")] [Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")] [System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; } 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")] [Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")] [System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; } 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")] [Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")] [System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; } 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; using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
@ -78,5 +78,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")] [Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")] [System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; } 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; } public string? BankType { get; set; }
/// <summary> /// <summary>
/// 获取或设置商品单个人收款方受理授权 ID。 /// 获取或设置个人收款方受理授权 ID。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("individual_auth_id")] [Newtonsoft.Json.JsonProperty("individual_auth_id")]
[System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")] [System.Text.Json.Serialization.JsonPropertyName("individual_auth_id")]
public string? IndividualAuthId { get; set; } public string? IndividualAuthId { get; set; }
/// <summary> /// <summary>
/// 获取或设置商品单个人收款方平台昵称。 /// 获取或设置个人收款方平台昵称。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("individual_name")] [Newtonsoft.Json.JsonProperty("individual_name")]
[System.Text.Json.Serialization.JsonPropertyName("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")] [System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string CombineOutTradeNumber { get; set; } = default!; 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>
/// 获取或设置子单列表。 /// 获取或设置子单列表。
/// </summary> /// </summary>
@ -215,5 +222,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("scene_info")] [Newtonsoft.Json.JsonProperty("scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("scene_info")] [System.Text.Json.Serialization.JsonPropertyName("scene_info")]
public Types.Scene? Scene { get; set; } 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")] [System.Text.Json.Serialization.JsonPropertyName("combine_out_trade_no")]
public string? CombineOutTradeNumber { get; set; } 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>
/// 获取或设置微信退款单号。 /// 获取或设置微信退款单号。
/// </summary> /// </summary>
@ -83,13 +90,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("out_refund_no")] [System.Text.Json.Serialization.JsonPropertyName("out_refund_no")]
public string OutRefundNumber { get; set; } = string.Empty; 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>
/// 获取或设置异常退款处理方式。 /// 获取或设置异常退款处理方式。
/// </summary> /// </summary>

View File

@ -68,6 +68,20 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")] [System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string? TransactionId { get; set; } 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>
/// 获取或设置商户退款单号。 /// 获取或设置商户退款单号。
/// </summary> /// </summary>

View File

@ -1,4 +1,4 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{ {
/// <summary> /// <summary>
/// <para>表示 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口的请求。</para> /// <para>表示 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口的请求。</para>
@ -18,5 +18,12 @@
[Newtonsoft.Json.JsonIgnore] [Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore]
public string OutRefundNumber { get; set; } = string.Empty; 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> /// <summary>
/// <para>表示 [GET] /ecommerce/refunds/id/{refund_id} 接口的请求。</para> /// <para>表示 [GET] /ecommerce/refunds/id/{refund_id} 接口的请求。</para>
@ -18,5 +18,12 @@
[Newtonsoft.Json.JsonIgnore] [Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore]
public string RefundId { get; set; } = string.Empty; 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; }
}
}

View File

@ -0,0 +1,8 @@
{
"out_instruction_no": "1200002",
"appid": [
"wxf636efh567hg4356"
],
"transfer_mode": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
"notify_url": "https://weixin.qq.com"
}

View File

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

View File

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

View File

@ -1,10 +1,11 @@
{ {
"combine_appid": "wxd678efh567hg6787", "combine_appid": "wxd678efh567hg6787",
"sub_orders": [ "sub_orders": [
{ {
"mchid": "1900000109", "mchid": "1900000109",
"out_trade_no": "20150806125346", "out_trade_no": "20150806125346",
"sub_mchid": "1230000109" "sub_mchid": "1230000109",
"individual_auth_id": "1900000109"
} }
] ]
} }

View File

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

View File

@ -0,0 +1,3 @@
{
"prepay_id": "wx201410272009395522657a690389285100"
}

View File

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

View File

@ -0,0 +1,5 @@
{
"individual_auth_id": "1900000109",
"operation_time": "2018-06-08T10:34:56+08:00",
"auth_state": "AUTHORIZED"
}

View File

@ -0,0 +1,6 @@
{
"individual_auth_id": "256322110225",
"out_abnormal_settle_batch_no": "1236698745558870",
"abnormal_settle_type": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
"description": "xx结算失败转付至原用户"
}

View File

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

View File

@ -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"
}
}
]
}
]
}

View File

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

View File

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