mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-29 09:54:44 +08:00
feat(tenpayv3): 新增平台收付通账号托管模式相关接口
This commit is contained in:
@@ -205,7 +205,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
/// <para>异步调用 [GET] /ecommerce/applyments/{applyment_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012691469 ]]>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012691469 ]]> <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015616714 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -227,7 +228,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
/// <para>异步调用 [GET] /ecommerce/applyments/out-request-no/{out_request_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012691376 ]]>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4012691376 ]]> <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015616708 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
@@ -244,6 +246,94 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetEcommerceApplymentByOutRequestNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /ecommerce/applyments/{applyment_id}/revoke 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015616720 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.RevokeEcommerceApplymentByApplymentIdResponse> ExecuteRevokeEcommerceApplymentByApplymentIdAsync(this WechatTenpayClient client, Models.RevokeEcommerceApplymentByApplymentIdRequest 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, "ecommerce", "applyments", request.ApplymentId.ToString(), "revoke");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.RevokeEcommerceApplymentByApplymentIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /ecommerce/applyments/out-request-no/{out_request_no}/revoke 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015616721 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.RevokeEcommerceApplymentByOutRequestNumberResponse> ExecuteRevokeEcommerceApplymentByOutRequestNumberAsync(this WechatTenpayClient client, Models.RevokeEcommerceApplymentByOutRequestNumberRequest 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, "ecommerce", "applyments", "out-request-no", request.OutRequestNumber, "revoke");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.RevokeEcommerceApplymentByOutRequestNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /ecommerce/applyments/submit-account-hosting-applyment 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015616688 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateEcommerceApplymentForSubmitAccountHostingResponse> ExecuteCreateEcommerceApplymentForSubmitAccountHostingAsync(this WechatTenpayClient client, Models.CreateEcommerceApplymentForSubmitAccountHostingRequest 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, "ecommerce", "applyments", "submit-account-hosting-applyment");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateEcommerceApplymentForSubmitAccountHostingResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /ecommerce/applyments/submit-sign-verify-info 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015616722 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateEcommerceApplymentForSubmitSignVerifyInfoResponse> ExecuteCreateEcommerceApplymentForSubmitSignVerifyInfoAsync(this WechatTenpayClient client, Models.CreateEcommerceApplymentForSubmitSignVerifyInfoRequest 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, "ecommerce", "applyments", "submit-sign-verify-info");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateEcommerceApplymentForSubmitSignVerifyInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Bill
|
||||
|
||||
@@ -8,6 +8,97 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
{
|
||||
public static class WechatTenpayClientExecuteMerchantAlterApplyExtensions
|
||||
{
|
||||
#region MerchantContact
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /mchalterapply/mchcontactalterapplyment 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014090649 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateMerchantAlterApplyMerchantContactAlterApplymentResponse> ExecuteCreateMerchantAlterApplyMerchantContactAlterApplymentAsync(this WechatTenpayClient client, Models.CreateMerchantAlterApplyMerchantContactAlterApplymentRequest 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, "mchalterapply", "mchcontactalterapplyment");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateMerchantAlterApplyMerchantContactAlterApplymentResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /mchalterapply/mchcontactalterapplyment/{apply_id}/revoke 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014090672 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.RevokeMerchantAlterApplyMerchantContactAlterApplymentResponse> ExecuteRevokeMerchantAlterApplyMerchantContactAlterApplymentAsync(this WechatTenpayClient client, Models.RevokeMerchantAlterApplyMerchantContactAlterApplymentRequest 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, "mchalterapply", "mchcontactalterapplyment", request.ApplymentId, "revoke");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.RevokeMerchantAlterApplyMerchantContactAlterApplymentResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /mchalterapply/mchcontactalterapplyment/merchant/{merchant_code}/out-request-no/{out_request_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014090667 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberResponse> ExecuteGetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberRequest 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, "mchalterapply", "mchcontactalterapplyment", "merchant", request.SubMerchantId, "out-request-no", request.OutRequestNumber);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /mchalterapply/mchcontactalterapplyment/{apply_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014090655 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetMerchantAlterApplyMerchantContactAlterApplymentByApplymentIdResponse> ExecuteGetMerchantAlterApplyMerchantContactAlterApplymentByApplymentIdAsync(this WechatTenpayClient client, Models.GetMerchantAlterApplyMerchantContactAlterApplymentByApplymentIdRequest 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, "mchalterapply", "mchcontactalterapplyment", request.ApplymentId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetMerchantAlterApplyMerchantContactAlterApplymentByApplymentIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region MerchantSubject
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /mchalterapply/mchsubjectalterapplyment 接口。</para>
|
||||
/// <para>
|
||||
@@ -95,5 +186,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetMerchantAlterApplyMerchantSubjectAlterApplymentByApplymentIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/submit-account-hosting-applyment 接口的请求。</para>
|
||||
/// </summary>
|
||||
[WechatTenpaySensitive]
|
||||
public class CreateEcommerceApplymentForSubmitAccountHostingRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class BusinessLicense : CreateEcommerceApplymentRequest.Types.BusinessLicense
|
||||
{
|
||||
}
|
||||
|
||||
public class FinanceInstitutionLicense : CreateEcommerceApplymentRequest.Types.FinanceInstitutionLicense
|
||||
{
|
||||
}
|
||||
|
||||
public class IdCard : CreateEcommerceApplymentRequest.Types.IdCard
|
||||
{
|
||||
}
|
||||
|
||||
public class IdDocument : CreateEcommerceApplymentRequest.Types.IdDocument
|
||||
{
|
||||
}
|
||||
|
||||
public class Contact : CreateEcommerceApplymentRequest.Types.Contact
|
||||
{
|
||||
}
|
||||
|
||||
public class UBO : CreateEcommerceApplymentRequest.Types.UBO
|
||||
{
|
||||
}
|
||||
public class BankAccount : CreateEcommerceApplymentRequest.Types.BankAccount
|
||||
{
|
||||
}
|
||||
|
||||
public class SaleScene : CreateEcommerceApplymentRequest.Types.SaleScene
|
||||
{
|
||||
}
|
||||
|
||||
public class Settlement : CreateEcommerceApplymentRequest.Types.Settlement
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string OutRequestNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户简称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_shortname")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_shortname")]
|
||||
public string MerchantShortName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置主体类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("organization_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("organization_type")]
|
||||
public string SubjectType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否是金融机构。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("finance_institution")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("finance_institution")]
|
||||
public bool? IsFinanceInstitution { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营业执照信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_license_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_license_info")]
|
||||
public Types.BusinessLicense? BusinessLicense { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置金融机构许可证信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("finance_institution_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("finance_institution_info")]
|
||||
public Types.FinanceInstitutionLicense? FinanceInstitutionLicense { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置证件持有人类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id_holder_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id_holder_type")]
|
||||
public string? IdHolderType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置法人证件类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id_doc_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id_doc_type")]
|
||||
public string IdentityType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置身份证信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id_card_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id_card_info")]
|
||||
public Types.IdCard? IdCard { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置其他类型证件信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id_doc_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id_doc_info")]
|
||||
public Types.IdDocument? IdDocument { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置法人代表授权函媒体文件标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorize_letter_copy")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorize_letter_copy")]
|
||||
public string? AuthorizeLetterCopyMediaId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最终受益人列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ubo_info_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ubo_info_list")]
|
||||
public IList<Types.UBO>? UBOList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结算银行账户信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("account_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("account_info")]
|
||||
public Types.BankAccount BankAccount { get; set; } = new Types.BankAccount();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_info")]
|
||||
public Types.Contact Contact { get; set; } = new Types.Contact();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置销售场景信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sales_scene_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sales_scene_info")]
|
||||
public Types.SaleScene SaleScene { get; set; } = new Types.SaleScene();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结算规则信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("settlement_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("settlement_info")]
|
||||
public Types.Settlement? Settlement { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置特殊资质图片媒体文件标识 ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("qualifications")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("qualifications")]
|
||||
public IList<string>? QualificationPictureMediaIdList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置补充材料媒体文件标识 ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_addition_pics")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_addition_pics")]
|
||||
public IList<string>? BusinessAdditionPictureMediaIdList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置补充说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("business_addition_desc")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("business_addition_desc")]
|
||||
public string? BusinessAdditionDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否走平台代理签约和代理核身入驻模式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("proxy_sign_verify_mode")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("proxy_sign_verify_mode")]
|
||||
public bool IsProxySignVerifyMode { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/submit-account-hosting-applyment 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateEcommerceApplymentForSubmitAccountHostingResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string OutRequestNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("applyment_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("applyment_id")]
|
||||
public long ApplymentId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/submit-sign-verify-info 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateEcommerceApplymentForSubmitSignVerifyInfoRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ProxyVerifyIdentity
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置核身方式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_identity_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_identity_type")]
|
||||
public string VerifyIdentityType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置核身结果。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_identity_result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_identity_result")]
|
||||
public bool VerifyIdentityResult { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。与字段 <see cref="ApplymentId"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string? OutRequestNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。与字段 <see cref="OutRequestNumber"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("applyment_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("applyment_id")]
|
||||
public long? ApplymentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预签署微信支付协议时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("pre_sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("pre_sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? PresignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置平台代理核身信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("proxy_verify_identity_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("proxy_verify_identity_info")]
|
||||
public Types.ProxyVerifyIdentity? ProxyVerifyIdentity { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/submit-sign-verify-info 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateEcommerceApplymentForSubmitSignVerifyInfoResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("applyment_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("applyment_id")]
|
||||
public long ApplymentId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/{applyment_id}/revoke 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class RevokeEcommerceApplymentByApplymentIdRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public long ApplymentId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/{applyment_id}/revoke 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class RevokeEcommerceApplymentByApplymentIdResponse : RevokeEcommerceApplymentByOutRequestNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/out-request-no/{out_request_no}/revoke 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class RevokeEcommerceApplymentByOutRequestNumberRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutRequestNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /ecommerce/applyments/out-request-no/{out_request_no}/revoke 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class RevokeEcommerceApplymentByOutRequestNumberResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("applyment_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("applyment_id")]
|
||||
public long ApplymentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string OutRequestNumber { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mchalterapply/mchcontactalterapplyment 接口的请求。</para>
|
||||
/// </summary>
|
||||
[WechatTenpaySensitive]
|
||||
public class CreateMerchantAlterApplyMerchantContactAlterApplymentRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Contact
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员姓名(需使用平台公钥/证书加密)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_name")]
|
||||
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
|
||||
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
|
||||
public string ContactName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员证件类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_id_doc_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_id_doc_type")]
|
||||
public string? IdentityType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员证件号码(需使用平台公钥/证书加密)。与字段 <see cref="OpenId"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_id_card_number")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_id_card_number")]
|
||||
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
|
||||
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
|
||||
public string? IdNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员证件正面照片媒体文件标识 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_id_doc_copy")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_id_doc_copy")]
|
||||
public string? IdFrontCopyMediaId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员证件背面照片媒体文件标识 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_id_doc_copy_back")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_id_doc_copy_back")]
|
||||
public string? IdBackCopyMediaId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员证件有效期开始日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_id_doc_period_begin")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_id_doc_period_begin")]
|
||||
public string? IdPeriodBeginDateString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员证件有效期结束日期字符串(格式:yyyy-MM-dd / "长期")。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_id_doc_period_end")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_id_doc_period_end")]
|
||||
public string? IdPeriodEndDateString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置联系人手机号(需使用平台公钥/证书加密)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mobile_phone")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
|
||||
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
|
||||
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
|
||||
public string MobileNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置特约商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_code")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string OutRequestNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置超级管理员信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("contact_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("contact_info")]
|
||||
public Types.Contact Contact { get; set; } = new Types.Contact();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mchalterapply/mchcontactalterapplyment 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateMerchantAlterApplyMerchantContactAlterApplymentResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("apply_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("apply_id")]
|
||||
public string ApplymentId { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mchalterapply/mchcontactalterapplyment/{apply_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetMerchantAlterApplyMerchantContactAlterApplymentByApplymentIdRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ApplymentId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mchalterapply/mchcontactalterapplyment/{apply_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetMerchantAlterApplyMerchantContactAlterApplymentByApplymentIdResponse : GetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mchalterapply/mchcontactalterapplyment/merchant/{merchant_code}/out-request-no/{out_request_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置特约商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutRequestNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mchalterapply/mchcontactalterapplyment/merchant/{merchant_code}/out-request-no/{out_request_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetMerchantAlterApplyMerchantContactAlterApplymentByOutRequestNumberResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class AuditRejectDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置参数名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("param_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("param_name")]
|
||||
public string ParameterName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置驳回原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reject_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reject_reason")]
|
||||
public string RejectReason { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置特约商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_code")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置业务申请编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string OutRequestNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("apply_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("apply_id")]
|
||||
public string ApplymentId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请单状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string ApplymentState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置驳回原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("audit_reject_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("audit_reject_reason")]
|
||||
public string? AuditRejectReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置驳回原因详情列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("audit_reject_detail")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("audit_reject_detail")]
|
||||
public Types.AuditRejectDetail[]? AuditRejectDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mchalterapply/mchcontactalterapplyment/{apply_id}/revoke 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class RevokeMerchantAlterApplyMerchantContactAlterApplymentRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ApplymentId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mchalterapply/mchcontactalterapplyment/{apply_id}/revoke 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class RevokeMerchantAlterApplyMerchantContactAlterApplymentResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("apply_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("apply_id")]
|
||||
public string ApplymentId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请单状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string ApplymentState { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -62,7 +62,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
public string? CompanyAddress { get; set; }
|
||||
}
|
||||
|
||||
public class FinanceInstitutionLicense : CreateApplyForSubjectApplymentRequest.Types.Subject.Types.FinanceInstitutionLicense
|
||||
public class FinanceInstitutionLicense : CreateApplyForSubMerchantApplymentRequest.Types.Subject.Types.FinanceInstitutionLicense
|
||||
{
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
### 【功能特性】
|
||||
|
||||
- 基于微信支付 v3 版 API 封装。
|
||||
- 支持商户(直连模式)、合作伙伴(服务商、渠道商、机构、银行模式)两种角色模式。
|
||||
- 支持普通商户(直连)、合作伙伴(服务商、渠道商、机构、银行)两种接入模式。\
|
||||
- 请求时自动生成签名(支持国际 RSA 算法或国密 SM 算法),无需开发者手动干预。
|
||||
- 提供了微信支付所需的 AES、RSA、SM2/SM3/SM4、SHA-256 等算法工具类。
|
||||
- 提供了调起支付签名、解析响应敏感数据、解析回调通知事件敏感数据等扩展方法。
|
||||
|
||||
Reference in New Issue
Block a user