mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-15 23:13:32 +08:00
feat(tenpayv3): 新增个人收款二手交易场景相关接口
This commit is contained in:
parent
49a89eedd0
commit
048a51abb7
@ -48,6 +48,7 @@
|
|||||||
| √ | 经营能力:微信支付分签约计划 | 直连商户 & 合作伙伴 | |
|
| √ | 经营能力:微信支付分签约计划 | 直连商户 & 合作伙伴 | |
|
||||||
| √ | 经营能力:平台收付通 | 合作伙伴 | |
|
| √ | 经营能力:平台收付通 | 合作伙伴 | |
|
||||||
| √ | 经营能力:平台保证金 | 合作伙伴 | |
|
| √ | 经营能力:平台保证金 | 合作伙伴 | |
|
||||||
|
| √ | 经营能力:个人收款(二手交易) | 合作伙伴 | |
|
||||||
| √ | 运营工具:代金券 | 直连商户 & 合作伙伴 | |
|
| √ | 运营工具:代金券 | 直连商户 & 合作伙伴 | |
|
||||||
| √ | 运营工具:商家券 | 直连商户 & 合作伙伴 | |
|
| √ | 运营工具:商家券 | 直连商户 & 合作伙伴 | |
|
||||||
| √ | 运营工具:消费金 | 直连商户 | |
|
| √ | 运营工具:消费金 | 直连商户 | |
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -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>
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /combine-transactions/miniprogram 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CreateCombineTransactionMiniProgramResponse : CreateCombineTransactionJsapiResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -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!;
|
||||||
|
}
|
||||||
|
}
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"out_instruction_no": "1200002",
|
||||||
|
"appid": [
|
||||||
|
"wxf636efh567hg4356"
|
||||||
|
],
|
||||||
|
"transfer_mode": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
|
||||||
|
"notify_url": "https://weixin.qq.com"
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
@ -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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -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"
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"prepay_id": "wx201410272009395522657a690389285100"
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"individual_auth_id": "1900000109",
|
||||||
|
"operation_time": "2018-06-08T10:34:56+08:00",
|
||||||
|
"auth_state": "AUTHORIZED"
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"individual_auth_id": "256322110225",
|
||||||
|
"out_abnormal_settle_batch_no": "1236698745558870",
|
||||||
|
"abnormal_settle_type": "TRANSFER_TO_ORIGINAL_RECEIVE_USER",
|
||||||
|
"description": "xx结算失败,转付至原用户"
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user