feat(wxapi): 新增自定义交易组件进件相关接口

This commit is contained in:
Fu Diwei 2022-04-10 21:36:53 +08:00
parent a2eb8a2638
commit 60910e8a0a
8 changed files with 812 additions and 2 deletions

View File

@ -1189,5 +1189,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendRequestWithJsonAsync<Models.ShopSharerUnbindResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region Wxpay
/// <summary>
/// <para>异步调用 [POST] /shop/wxpay/apply 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/wxpay/apply.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ShopWxpayApplyResponse> ExecuteShopWxpayApplyAsync(this WechatApiClient client, Models.ShopWxpayApplyRequest 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, "shop", "wxpay", "apply")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.ShopWxpayApplyResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /shop/wxpay/get 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/wxpay/wxpay_get.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ShopWxpayGetResponse> ExecuteShopWxpayGetAsync(this WechatApiClient client, Models.ShopWxpayGetRequest 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, "shop", "wxpay", "get")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.ShopWxpayGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@ -0,0 +1,232 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /shop/wxpay/apply 接口的请求。</para>
/// </summary>
public class ShopWxpayApplyRequest : WechatApiRequest, IInferable<ShopWxpayApplyRequest, ShopWxpayApplyResponse>
{
public static class Types
{
public class Image
{
/// <summary>
/// 获取或设置图片名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string? MediaId { get; set; }
/// <summary>
/// 获取或设置图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("pay_media_id")]
public string? PayMediaId { get; set; }
}
public class BusinessLicense
{
/// <summary>
/// 获取或设置法定代表人姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_person")]
[System.Text.Json.Serialization.JsonPropertyName("legal_person")]
public string LegalPerson { get; set; } = string.Empty;
/// <summary>
/// 获取或设置有效期范围字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_time")]
[System.Text.Json.Serialization.JsonPropertyName("business_time")]
public string ValidPeriodString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置营业执照图片信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("wxa_business_license_copy")]
[System.Text.Json.Serialization.JsonPropertyName("wxa_business_license_copy")]
public Image BusinessLicenseCopy { get; set; } = new Image();
}
public class IdCard
{
/// <summary>
/// 获取或设置身份证姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_name")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_name")]
public string IdCardName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_number")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_number")]
public string IdCardNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证有效期字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_valid_time")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_valid_time")]
public string IdCardValidDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证人像面图片信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("wxa_id_card_copy")]
[System.Text.Json.Serialization.JsonPropertyName("wxa_id_card_copy")]
public Image IdCardFrontCopy { get; set; } = new Image();
/// <summary>
/// 获取或设置身份证国徽面图片信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("wxa_id_card_national")]
[System.Text.Json.Serialization.JsonPropertyName("wxa_id_card_national")]
public Image IdCardBackCopy { get; set; } = new Image();
}
public class IdDocument
{
/// <summary>
/// 获取或设置证件姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_name")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_name")]
public string IdDocumentName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_number")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_number")]
public string IdDocumentNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件有效期结束时间字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("doc_period_end")]
[System.Text.Json.Serialization.JsonPropertyName("doc_period_end")]
public string IdDocumentPeriodEndDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件图片信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("wxa_id_doc_copy")]
[System.Text.Json.Serialization.JsonPropertyName("wxa_id_doc_copy")]
public Image IdDocumentCopy { get; set; } = new Image();
}
public class Contact
{
/// <summary>
/// 获取或设置联系人类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("contact_type")]
[System.Text.Json.Serialization.JsonPropertyName("contact_type")]
public string ContactType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置电子邮箱。
/// </summary>
[Newtonsoft.Json.JsonProperty("contact_email")]
[System.Text.Json.Serialization.JsonPropertyName("contact_email")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile_phone")]
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
public string MobileNumber { get; set; } = string.Empty;
}
public class Qualification
{
/// <summary>
/// 获取或设置图片列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("pic_file_list")]
[System.Text.Json.Serialization.JsonPropertyName("pic_file_list")]
public IList<Image> ImageList { get; set; } = new List<Image>();
}
public class Addition : Qualification
{
}
}
/// <summary>
/// 获取或设置主体类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_type")]
[System.Text.Json.Serialization.JsonPropertyName("organization_type")]
public int SubjectType { get; set; }
/// <summary>
/// 获取或设置营业执照信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_license_info")]
[System.Text.Json.Serialization.JsonPropertyName("business_license_info")]
public Types.BusinessLicense BusinessLicense { get; set; } = new Types.BusinessLicense();
/// <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("contact_info")]
[System.Text.Json.Serialization.JsonPropertyName("contact_info")]
public Types.Contact Contact { get; set; } = new Types.Contact();
/// <summary>
/// 获取或设置特殊资质信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("qualifications")]
[System.Text.Json.Serialization.JsonPropertyName("qualifications")]
public Types.Qualification? Qualification { get; set; }
/// <summary>
/// 获取或设置补充材料信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_addition_pics")]
[System.Text.Json.Serialization.JsonPropertyName("business_addition_pics")]
public Types.Addition? Addition { get; set; }
/// <summary>
/// 获取或设置补充描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_addition_desc")]
[System.Text.Json.Serialization.JsonPropertyName("business_addition_desc")]
public string? AdditionDescription { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /shop/wxpay/apply 接口的响应。</para>
/// </summary>
public class ShopWxpayApplyResponse : WechatApiResponse
{
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /shop/wxpay/get 接口的请求。</para>
/// </summary>
public class ShopWxpayGetRequest : WechatApiRequest, IInferable<ShopWxpayGetRequest, ShopWxpayGetResponse>
{
}
}

View File

@ -0,0 +1,427 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /shop/wxpay/get 接口的响应。</para>
/// </summary>
public class ShopWxpayGetResponse : WechatApiResponse
{
public static class Types
{
public class PayRequest
{
public static class Types
{
public class BusinessLicense
{
/// <summary>
/// 获取或设置法定代表人姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_person")]
[System.Text.Json.Serialization.JsonPropertyName("legal_person")]
public string LegalPerson { get; set; } = default!;
/// <summary>
/// 获取或设置商户名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("merchant_name")]
[System.Text.Json.Serialization.JsonPropertyName("merchant_name")]
public string MerchantName { get; set; } = default!;
/// <summary>
/// 获取或设置营业执照编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_license_number")]
[System.Text.Json.Serialization.JsonPropertyName("business_license_number")]
public string BusinessLicenseNumber { get; set; } = default!;
/// <summary>
/// 获取或设置营业执照图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_license_copy")]
[System.Text.Json.Serialization.JsonPropertyName("business_license_copy")]
public string BusinessLicenseCopyMediaId { get; set; } = default!;
}
public class IdCard
{
/// <summary>
/// 获取或设置身份证姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_name")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_name")]
public string IdCardName { get; set; } = default!;
/// <summary>
/// 获取或设置身份证号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_number")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_number")]
public string IdCardNumber { get; set; } = default!;
/// <summary>
/// 获取或设置身份证有效期字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_valid_time")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_valid_time")]
public string IdCardValidDateString { get; set; } = default!;
/// <summary>
/// 获取或设置身份证人像面图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_copy")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_copy")]
public string IdCardFrontCopyMediaId { get; set; } = default!;
/// <summary>
/// 获取或设置身份证国徽面图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_national")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_national")]
public string IdCardBackCopyMediaId { get; set; } = default!;
}
public class IdDocument
{
/// <summary>
/// 获取或设置证件姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_name")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_name")]
public string IdDocumentName { get; set; } = default!;
/// <summary>
/// 获取或设置证件号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_number")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_number")]
public string IdDocumentNumber { get; set; } = default!;
/// <summary>
/// 获取或设置证件有效期结束时间字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("doc_period_end")]
[System.Text.Json.Serialization.JsonPropertyName("doc_period_end")]
public string IdDocumentPeriodEndDateString { get; set; } = default!;
/// <summary>
/// 获取或设置证件图片 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_copy")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_copy")]
public string IdDocumentCopyMediaId { get; set; } = default!;
}
public class Contact
{
/// <summary>
/// 获取或设置联系人类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("contact_type")]
[System.Text.Json.Serialization.JsonPropertyName("contact_type")]
public string ContactType { get; set; } = default!;
/// <summary>
/// 获取或设置联系人姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("contact_name")]
[System.Text.Json.Serialization.JsonPropertyName("contact_name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置联系人身份证号。
/// </summary>
[Newtonsoft.Json.JsonProperty("contact_id_card_number")]
[System.Text.Json.Serialization.JsonPropertyName("contact_id_card_number")]
public string IdCardNumber { get; set; } = default!;
/// <summary>
/// 获取或设置电子邮箱。
/// </summary>
[Newtonsoft.Json.JsonProperty("contact_email")]
[System.Text.Json.Serialization.JsonPropertyName("contact_email")]
public string Email { get; set; } = default!;
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile_phone")]
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
public string MobileNumber { get; set; } = default!;
}
public class SaleScene
{
/// <summary>
/// 获取或设置店铺名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("store_name")]
[System.Text.Json.Serialization.JsonPropertyName("store_name")]
public string StoreName { get; set; } = default!;
/// <summary>
/// 获取或设置店铺链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("store_url")]
[System.Text.Json.Serialization.JsonPropertyName("store_url")]
public string? StoreUrl { get; set; }
/// <summary>
/// 获取或设置子商户小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("mini_program_sub_appid")]
[System.Text.Json.Serialization.JsonPropertyName("mini_program_sub_appid")]
public string? MiniProgramSubAppId { get; set; }
}
}
/// <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("organization_type")]
[System.Text.Json.Serialization.JsonPropertyName("organization_type")]
public int SubjectType { get; set; }
/// <summary>
/// 获取或设置营业执照信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("business_license_info")]
[System.Text.Json.Serialization.JsonPropertyName("business_license_info")]
public Types.BusinessLicense BusinessLicense { get; set; } = new Types.BusinessLicense();
/// <summary>
/// 获取或设置证件类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_type")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_type")]
public string IdentityType { get; set; } = default!;
/// <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("contact_info")]
[System.Text.Json.Serialization.JsonPropertyName("contact_info")]
public Types.Contact Contact { get; set; } = default!;
/// <summary>
/// 获取或设置商户简称。
/// </summary>
[Newtonsoft.Json.JsonProperty("merchant_shortname")]
[System.Text.Json.Serialization.JsonPropertyName("merchant_shortname")]
public string? MerchantShortName { get; set; }
/// <summary>
/// 获取或设置是否填写结算银行账户。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_account_info")]
[System.Text.Json.Serialization.JsonPropertyName("need_account_info")]
public bool RequireBankAccount { get; set; }
/// <summary>
/// 获取或设置销售场景信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("sales_scene_info")]
[System.Text.Json.Serialization.JsonPropertyName("sales_scene_info")]
public Types.SaleScene? SaleScene { get; set; }
}
public class PayResponse
{
public static class Types
{
public class AccountValidation
{
/// <summary>
/// 获取或设置付款户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_name")]
[System.Text.Json.Serialization.JsonPropertyName("account_name")]
public string AccountName { get; set; } = default!;
/// <summary>
/// 获取或设置付款卡号。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_no")]
[System.Text.Json.Serialization.JsonPropertyName("account_no")]
public string? AccountNumber { get; set; }
/// <summary>
/// 获取或设置汇款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_amount")]
[System.Text.Json.Serialization.JsonPropertyName("pay_amount")]
public int PayAmount { get; set; }
/// <summary>
/// 获取或设置收款户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("destination_account_name")]
[System.Text.Json.Serialization.JsonPropertyName("destination_account_name")]
public string DestinationAccountName { get; set; } = default!;
/// <summary>
/// 获取或设置收款卡号。
/// </summary>
[Newtonsoft.Json.JsonProperty("destination_account_number")]
[System.Text.Json.Serialization.JsonPropertyName("destination_account_number")]
public string DestinationAccountNumber { get; set; } = default!;
/// <summary>
/// 获取或设置收款开户银行。
/// </summary>
[Newtonsoft.Json.JsonProperty("destination_account_bank")]
[System.Text.Json.Serialization.JsonPropertyName("destination_account_bank")]
public string DestinationAccountBank { get; set; } = default!;
/// <summary>
/// 获取或设置收款省市信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("city")]
[System.Text.Json.Serialization.JsonPropertyName("city")]
public string DestinationAccountCity { get; set; } = default!;
/// <summary>
/// 获取或设置备注信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string Remark { get; set; } = default!;
/// <summary>
/// 获取或设置汇款截止时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("deadline")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RegularDateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("deadline")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RegularDateTimeOffsetConverter))]
public DateTimeOffset Deadline { get; set; }
}
public class AuditDetail
{
/// <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("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; }
/// <summary>
/// 获取或设置申请单状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("applyment_state")]
[System.Text.Json.Serialization.JsonPropertyName("applyment_state")]
public string ApplymentState { get; set; } = default!;
/// <summary>
/// 获取或设置申请单状态描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("applyment_state_desc")]
[System.Text.Json.Serialization.JsonPropertyName("applyment_state_desc")]
public string ApplymentStateDescription { get; set; } = default!;
/// <summary>
/// 获取或设置微信二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置签约状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("sign_state")]
[System.Text.Json.Serialization.JsonPropertyName("sign_state")]
public string? SignState { get; set; }
/// <summary>
/// 获取或设置超级管理员签约链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("sign_url")]
[System.Text.Json.Serialization.JsonPropertyName("sign_url")]
public string? SignUrl { get; set; }
/// <summary>
/// 获取或设置汇款账户验证信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_validation")]
[System.Text.Json.Serialization.JsonPropertyName("account_validation")]
public Types.AccountValidation? AccountValidation { get; set; }
/// <summary>
/// 获取或设置法人验证链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_validation_url")]
[System.Text.Json.Serialization.JsonPropertyName("legal_validation_url")]
public string? LegalPersonValidationUrl { get; set; }
/// <summary>
/// 获取或设置驳回原因详情列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("audit_detail")]
[System.Text.Json.Serialization.JsonPropertyName("audit_detail")]
public Types.AuditDetail[]? AuditList { get; set; }
}
}
/// <summary>
/// 获取或设置进件信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_req")]
[System.Text.Json.Serialization.JsonPropertyName("pay_req")]
public Types.PayRequest PayRequest { get; set; } = default!;
/// <summary>
/// 获取或设置进件状态信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_resp")]
[System.Text.Json.Serialization.JsonPropertyName("pay_resp")]
public Types.PayResponse PayResponse { get; set; } = default!;
}
}

View File

@ -268,14 +268,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_period_begin")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_period_begin")]
public string IdCardPeriodStartDateString { get; set; } = string.Empty;
public string IdDocumentPeriodStartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件有效期结束时间字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_period_end")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_period_end")]
public string IdCardPeriodEndDateString { get; set; } = string.Empty;
public string IdDocumentPeriodEndDateString { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,31 @@
{
"business_license_info": {
"legal_person": "于先生",
"wxa_business_license_copy": {
"media_id": "wxashop_7q4XAkTjOdJBzsq2NwTN1LziRMTSlnabAEVD/lVYaan3vT2wzkOEconCrv/nMfo0SEDkD3Q6lvhTB6437AHymw==",
"name": "IwWfGT9fZ7UJMGSxXYld7piyITwdoLJKHow.jpg",
"pay_media_id": "jZe4zIHlHd4W-2hdRc9YJHOWaXLu-jeT_HPQ2pkR7CwW9swozIN_RtibXPsmLtNaiUH0fhrujTjVL4Noiw9PCYq0aSg32p-OwvbzSnK-k-Q"
},
"business_time": "[\"2014-01-01\",\"长期\"]"
},
"id_card_info": {
"id_card_name": "李先生",
"id_card_number": "xxxxxxxxxxx",
"id_card_valid_time": "yyyy-MM-dd",
"wxa_id_card_copy": {
"media_id": "wxashop_vjw8knXy8qJcbOWkxC3IfJktuHEDhKgnMwEguqzO68ROybm4ul+DVFu8Vrgo3sgjSEDkD3Q6lvhTB6437AHymw==",
"name": "wx77e672d6d34a4bed/HGM-pOfZUD0wSiqrJTZraZGcubiUJZ7o90.jpg",
"pay_media_id": "jZe4zIHlHd4W-2hdRc9YJO90E_1rLUJioHWZC0vHhO-FjK3zAnTiUnG61cpiYMx9dbzI7NdFIg55nmherZnCrZn3GkEPfCJUpg59A-dW1Ts"
},
"wxa_id_card_national": {
"media_id": "wxashop_ndDiQPgJVT0HMZgCIM+pYe27Wyxg3iuv/yo/2nB9BOtY2aubumDb+Dy7PkCZscCuSEDkD3Q6lvhTB6437AHymw==",
"name": "2nB9BOtY2aubumDb+Dy7PkCZscCuSEDkD3Q6lvhTB6437AHymw==.jpg",
"pay_media_id": "jZe4zIHlHd4W-2hdRc9YJM4gvRIV8V5a4iEc8Oem02ywFfV6Rb4RJhbNvSEYevRaYnkFp0QEoEKA4cMoDvGfBzsM5WDjocZv96ZzFeb0arc"
}
},
"contact_info": {
"contact_type": "65",
"contact_email": "wxg@tencent.com",
"mobile_phone": "15521050856"
}
}

View File

@ -0,0 +1,60 @@
{
"errcode": 0,
"pay_req": {
"business_license_info": {
"business_license_copy": "jZe4zIHlHd4W-2hdRc9YJHOWaXLu-jeT_HPQ2pkR7CwW9swozIN_RtibXPsmLtNaiUH0fhrujTjVL4Noiw9PCYq0aSg32p-OwvbzSnK-k-Q",
"business_license_number": "83274MA5CN4WK0D",
"legal_person": "于先生",
"merchant_name": "魅力广州"
},
"contact_info": {
"contact_email": "wechat@tencent.com",
"contact_id_card_number": "43112119951119003",
"contact_name": "于先生",
"contact_type": "65",
"mobile_phone": "187xxxxxxxx"
},
"id_card_info": {
"id_card_copy": "aZe4zIHlHd4W-2hdRc9YJO90E_1rLUJioHWZC0vHhO-FjK3zAnTiUnG61cpiYMx9dbzI7NdFIg55nmherZnCrZn3GkEPfCJUpg59A-dW1Ts",
"id_card_name": "于先生",
"id_card_national": "aZe4zIHlHd4W-2hdRc9YJM4gvRIV8V5a4iEc8Oem02ywFfV6Rb4RJhbNvSEYevRaYnkFp0QEoEKA4cMoDvGfBzsM5WDjocZv96ZzFeb0arc",
"id_card_number": "43112119951119003",
"id_card_valid_time": "2022-09-21"
},
"merchant_shortname": "魅力广州",
"need_account_info": false,
"organization_type": "2",
"out_request_no": "wx50808a0fa3b8abca",
"sales_scene_info": {
"mini_program_sub_appid": "wx50808a0fa3b8abca",
"store_name": "魅力广州",
"store_url": "http://www.wechat.qq.com/"
}
},
"pay_resp": {
"applyment_state": "FINISH",
"applyment_state_desc": "完成",
"sign_url": "http://pay.weixin.qq.com/public/apply4ec_sign/s?applymentId=2000002126198476&sign=b207b673049a32c858f3aabd7d27c7ec",
"sub_mchid": "1542488631",
"account_validation": {
"account_name": "account_name",
"account_no": "account_no",
"pay_amount": 124,
"destination_account_number": "7222223333322332",
"destination_account_name": "财付通支付科技有限公司",
"destination_account_bank": "招商银行威盛大厦支行",
"city": "深圳",
"remark": "入驻账户验证",
"deadline": "2018-12-10 17:09:01"
},
"audit_detail": [
{
"param_name": "id_card_copy",
"reject_reason": "身份证背面识别失败,请上传更清晰的身份证图片。"
}
],
"legal_validation_url": "http://pay.weixin.qq.com/public/apply4ec_sign/s?applymentId=20000032422126198476&sign=b207b673049a32c858f3aabd7d27c7ec",
"out_request_no": "APPLYMENT_00000000001",
"applyment_id": 2000002124775691
}
}