feat(tenpayv2): 新增小微商户相关接口

This commit is contained in:
Fu Diwei
2023-04-04 11:30:57 +08:00
parent df1f75732f
commit 3034acb607
82 changed files with 1162 additions and 177 deletions

View File

@@ -0,0 +1,30 @@
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Flurl.Http;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2
{
public static class WechatTenpayClientExecuteFundExtensions
{
/// <summary>
/// <para>异步调用 [POST] /fund/queryautowithdrawbydate 接口。</para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=21_1 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetFundAutoWithdrawByDateResponse> ExecuteGetFundAutoWithdrawByDateAsync(this WechatTenpayClient client, Models.GetFundAutoWithdrawByDateRequest 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
.CreateRequest(request, HttpMethod.Post, "fund", "queryautowithdrawbydate");
return await client.SendRequestWithXmlAsync<Models.GetFundAutoWithdrawByDateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
}
}

View File

@@ -0,0 +1,49 @@
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Flurl.Http;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2
{
public static class WechatTenpayClientExecuteMerchantMicroExtensions
{
/// <summary>
/// <para>异步调用 [POST] /applyment/micro/modifyarchives 接口。</para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=21_2 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ModifyMicroMerchantArchivesResponse> ExecuteModifyMicroMerchantArchivesAsync(this WechatTenpayClient client, Models.ModifyMicroMerchantArchivesRequest 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
.CreateRequest(request, HttpMethod.Post, "applyment", "micro", "modifyarchives");
return await client.SendRequestWithXmlAsync<Models.ModifyMicroMerchantArchivesResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /applyment/micro/modifycontactinfo 接口。</para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=21_4 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ModifyMicroMerchantContactInfoResponse> ExecuteModifyMicroMerchantContactInfoAsync(this WechatTenpayClient client, Models.ModifyMicroMerchantContactInfoRequest 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
.CreateRequest(request, HttpMethod.Post, "applyment", "micro", "modifycontactinfo");
return await client.SendRequestWithXmlAsync<Models.ModifyMicroMerchantContactInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
}
}

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
@@ -12,6 +12,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV2
/// <para>异步调用 [POST] /secapi/mch/addsubdevconfig 接口。</para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/mch_bank.php?chapter=9_24_2&index=1&p=901 </para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/mch_bank.php?chapter=9_24_3&index=2&p=901 </para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=20_2 </para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=20_3 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -31,6 +33,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV2
/// <summary>
/// <para>异步调用 [POST] /secapi/mch/querysubdevconfig 接口。</para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/mch_bank.php?chapter=9_25&index=3&p=901 </para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=20_4 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -46,5 +49,24 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV2
return await client.SendRequestWithXmlAsync<Models.GetSubMerchantDevelopConfigResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /secapi/mkt/addrecommendconf 接口。</para>
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=20_0 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.AddSubMerchantMarketingRecommendConfigResponse> ExecuteAddSubMerchantMarketingRecommendConfigAsync(this WechatTenpayClient client, Models.AddSubMerchantMarketingRecommendConfigRequest 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
.CreateRequest(request, HttpMethod.Post, "secapi", "mkt", "addrecommendconf");
return await client.SendRequestWithXmlAsync<Models.AddSubMerchantMarketingRecommendConfigResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
}
}