mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2026-02-11 10:16:20 +08:00
feat(tenpayv3): 新增个人收款二手交易场景相关接口
This commit is contained in:
@@ -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/>
|
||||
/// <![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/4012760622 ]]>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012760622 ]]> <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015001933 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <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);
|
||||
}
|
||||
|
||||
/// <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>
|
||||
/// <para>异步调用 [GET] /combine-transactions/out-trade-no/{combine_out_trade_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <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/4012761057 ]]>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012761057 ]]> <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012602253 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <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);
|
||||
}
|
||||
|
||||
/// <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>
|
||||
/// <para>异步调用 [POST] /combine-transactions/out-trade-no/{combine_out_trade_no}/close 接口。</para>
|
||||
/// <para>
|
||||
|
||||
@@ -303,6 +303,30 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
}
|
||||
#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
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /ecommerce/mch-transfer/authorizations 接口。</para>
|
||||
@@ -691,7 +715,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
/// <para>异步调用 [POST] /ecommerce/refunds/apply 接口。</para>
|
||||
/// <para>
|
||||
/// 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>
|
||||
/// </summary>
|
||||
/// <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>
|
||||
/// 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>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -727,7 +753,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId)
|
||||
.SetQueryParam("individual_auth_id", request.IndividualAuthId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<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>
|
||||
/// 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>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -750,7 +778,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId)
|
||||
.SetQueryParam("individual_auth_id", request.IndividualAuthId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<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>
|
||||
/// 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>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
|
||||
@@ -695,6 +695,74 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
#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
|
||||
/// <summary>
|
||||
/// <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/4012091236 ]]> <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>
|
||||
/// </summary>
|
||||
/// <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/4012090949 ]]> <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>
|
||||
/// </summary>
|
||||
/// <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/4012090949 ]]> <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>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
|
||||
Reference in New Issue
Block a user