feat(tenpayv3): 随官方更新二级商户进件、电商收付通商户进件相关接口模型

This commit is contained in:
Fu Diwei
2022-03-03 11:34:34 +08:00
parent 8d2fc066d7
commit 4ce70039f8
6 changed files with 582 additions and 237 deletions

View File

@@ -147,35 +147,21 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string PeriodEndDate { get; set; } = string.Empty;
}
public class OrganizationCertificate
public class FinanceInstitutionLicense
{
/// <summary>
/// 获取或设置组织机构代码
/// 获取或设置金融机构类型
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_code")]
[System.Text.Json.Serialization.JsonPropertyName("organization_code")]
public string OrganizationCode { get; set; } = string.Empty;
[Newtonsoft.Json.JsonProperty("finance_type")]
[System.Text.Json.Serialization.JsonPropertyName("finance_type")]
public string FinanceType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置组织机构代码证照片媒体文件标识 ID。
/// 获取或设置金融机构许可证图片媒体文件标识 ID 列表
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_copy")]
[System.Text.Json.Serialization.JsonPropertyName("organization_copy")]
public string OrganizationCopyMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置组织机构代码证有效期开始日期格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("org_period_begin")]
[System.Text.Json.Serialization.JsonPropertyName("org_period_begin")]
public string PeriodBeginDate { get; set; } = string.Empty;
/// <summary>
/// 获取或设置组织机构代码证有效期结束日期格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("org_period_end")]
[System.Text.Json.Serialization.JsonPropertyName("org_period_end")]
public string PeriodEndDate { get; set; } = string.Empty;
[Newtonsoft.Json.JsonProperty("finance_license_pics")]
[System.Text.Json.Serialization.JsonPropertyName("finance_license_pics")]
public IList<string> FinanceLicensePictureMediaIdList { get; set; } = new List<string>();
}
public class Identity
@@ -270,6 +256,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
}
}
/// <summary>
/// 获取或设置证件持有人类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_holder_type")]
[System.Text.Json.Serialization.JsonPropertyName("id_holder_type")]
public string? IdHolderType { get; set; }
/// <summary>
/// 获取或设置证件类型。
/// </summary>
@@ -277,6 +270,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("id_doc_type")]
public string IdentityType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置法人代表授权函媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("authorize_letter_copy")]
[System.Text.Json.Serialization.JsonPropertyName("authorize_letter_copy")]
public string? AuthorizeLetterCopyMediaId { get; set; }
/// <summary>
/// 获取或设置身份证信息。
/// </summary>
@@ -375,6 +375,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("certificate_letter_copy")]
public string? CertificateLetterCopyMediaId { get; set; }
/// <summary>
/// 获取或设置是否是金融机构。
/// </summary>
[Newtonsoft.Json.JsonProperty("finance_institution")]
[System.Text.Json.Serialization.JsonPropertyName("finance_institution")]
public bool? IsFinanceInstitution { get; set; }
/// <summary>
/// 获取或设置营业执照信息。
/// </summary>
@@ -390,11 +397,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public Types.InstitutionalCertificate? InstitutionalCertificate { get; set; }
/// <summary>
/// 获取或设置组织机构代码证信息。
/// 获取或设置金融机构许可证信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_info")]
[System.Text.Json.Serialization.JsonPropertyName("organization_info")]
public Types.OrganizationCertificate? OrganizationCertificate { get; set; }
[Newtonsoft.Json.JsonProperty("finance_institution_info")]
[System.Text.Json.Serialization.JsonPropertyName("finance_institution_info")]
public Types.FinanceInstitutionLicense? FinanceInstitutionLicense { get; set; }
/// <summary>
/// 获取或设置法人身份证件信息。
@@ -661,14 +668,16 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public class Settlement
{
/// <summary>
/// 获取或设置入驻结算规则 ID。
/// 获取或设置结算规则 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_id")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.TextualIntegerConverter))]
[System.Text.Json.Serialization.JsonPropertyName("settlement_id")]
public string SettlementId { get; set; } = string.Empty;
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString | System.Text.Json.Serialization.JsonNumberHandling.WriteAsString)]
public int SettlementId { get; set; }
/// <summary>
/// 获取或设置所属行业。
/// 获取或设置所属行业类型
/// </summary>
[Newtonsoft.Json.JsonProperty("qualification_type")]
[System.Text.Json.Serialization.JsonPropertyName("qualification_type")]
@@ -689,13 +698,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? ActivityId { get; set; }
/// <summary>
/// 获取或设置优惠费率活动值。
/// 获取或设置优惠费率活动值字符串
/// </summary>
[Newtonsoft.Json.JsonProperty("activities_rate")]
[Newtonsoft.Json.JsonConverter(typeof(Converters.RequestPropertyActivityRateNewtonsoftJsonConverter))]
[System.Text.Json.Serialization.JsonPropertyName("activities_rate")]
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.RequestPropertyActivityRateSystemTextJsonConverter))]
public double? ActivityRate { get; set; }
public string? ActivityRateString { get; set; }
/// <summary>
/// 获取或设置优惠费率活动补充材料媒体文件标识 ID 列表。
@@ -707,6 +714,33 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public class BankAccount
{
public static class Types
{
public class AccountCertificate
{
/// <summary>
/// 获取或设置结算证明函图片媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_cert_pic")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_cert_pic")]
public string SettlementCertificatePictureMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结算证明函图片媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("relation_cert_pic")]
[System.Text.Json.Serialization.JsonPropertyName("relation_cert_pic")]
public string RelationCertificatePictureMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置其他补充证明图片媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("other_cert_pics")]
[System.Text.Json.Serialization.JsonPropertyName("other_cert_pics")]
public IList<string> OtherCertificatePictureMediaIdList { get; set; } = new List<string>();
}
}
/// <summary>
/// 获取或设置账户类型。
/// </summary>
@@ -757,6 +791,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("bank_name")]
[System.Text.Json.Serialization.JsonPropertyName("bank_name")]
public string? BankBranchName { get; set; }
/// <summary>
/// 获取或设置账号证明材料信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_cert_info")]
[System.Text.Json.Serialization.JsonPropertyName("account_cert_info")]
public Types.AccountCertificate? AccountCertificate { get; set; }
}
public class Addition
@@ -791,86 +832,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
}
}
internal static class Converters
{
internal class RequestPropertyActivityRateNewtonsoftJsonConverter : Newtonsoft.Json.JsonConverter<double?>
{
public override bool CanRead
{
get { return true; }
}
public override bool CanWrite
{
get { return true; }
}
public override double? ReadJson(Newtonsoft.Json.JsonReader reader, Type objectType, double? existingValue, bool hasExistingValue, Newtonsoft.Json.JsonSerializer serializer)
{
if (reader.TokenType == Newtonsoft.Json.JsonToken.Null)
{
return existingValue;
}
else if (reader.TokenType == Newtonsoft.Json.JsonToken.Integer ||
reader.TokenType == Newtonsoft.Json.JsonToken.Float)
{
return serializer.Deserialize<double>(reader);
}
else if (reader.TokenType == Newtonsoft.Json.JsonToken.String)
{
string? value = serializer.Deserialize<string>(reader);
if (value == null)
return existingValue;
return Convert.ToDouble(value);
}
throw new Newtonsoft.Json.JsonReaderException();
}
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, double? value, Newtonsoft.Json.JsonSerializer serializer)
{
if (value.HasValue)
writer.WriteValue(value.Value.ToString("0.00"));
else
writer.WriteNull();
}
}
internal class RequestPropertyActivityRateSystemTextJsonConverter : System.Text.Json.Serialization.JsonConverter<double?>
{
public override double? Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
{
if (reader.TokenType == System.Text.Json.JsonTokenType.Null)
{
return null;
}
else if (reader.TokenType == System.Text.Json.JsonTokenType.Number)
{
return reader.GetDouble();
}
else if (reader.TokenType == System.Text.Json.JsonTokenType.String)
{
string? value = reader.GetString();
if (value == null)
return null;
return Convert.ToDouble(value);
}
throw new System.Text.Json.JsonException();
}
public override void Write(System.Text.Json.Utf8JsonWriter writer, double? value, System.Text.Json.JsonSerializerOptions options)
{
if (value.HasValue)
writer.WriteStringValue(value.Value.ToString("0.00"));
else
writer.WriteNullValue();
}
}
}
/// <summary>
/// 获取或设置业务申请编号。
/// </summary>

View File

@@ -190,7 +190,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("category_id")]
[System.Text.Json.Serialization.JsonPropertyName("category_id")]
public string CategoryId { get; set; } = string.Empty;
public int CategoryId { get; set; }
/// <summary>
/// 获取或设置行业经营许可证资质照片媒体文件标识 ID 列表。
@@ -199,6 +199,23 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("operation_copy_list")]
public IList<string> OperationCopyMediaIdList { get; set; } = new List<string>();
}
public class FinanceInstitutionLicense
{
/// <summary>
/// 获取或设置金融机构类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("finance_type")]
[System.Text.Json.Serialization.JsonPropertyName("finance_type")]
public string FinanceType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置金融机构许可证图片媒体文件标识 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("finance_license_pics")]
[System.Text.Json.Serialization.JsonPropertyName("finance_license_pics")]
public IList<string> FinanceLicensePictureMediaIdList { get; set; } = new List<string>();
}
}
/// <summary>
@@ -215,6 +232,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("company_prove_copy")]
public string? CompanyProveCopyMediaId { get; set; }
/// <summary>
/// 获取或设置是否是金融机构。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_finance_institution")]
[System.Text.Json.Serialization.JsonPropertyName("is_finance_institution")]
public bool? IsFinanceInstitution { get; set; }
/// <summary>
/// 获取或设置营业执照信息。
/// </summary>
@@ -242,10 +266,24 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("special_operation_list")]
[System.Text.Json.Serialization.JsonPropertyName("special_operation_list")]
public IList<Types.SpecialOperation>? SpecialOperationList { get; set; }
/// <summary>
/// 获取或设置金融机构许可证信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("finance_institution_info")]
[System.Text.Json.Serialization.JsonPropertyName("finance_institution_info")]
public Types.FinanceInstitutionLicense? FinanceInstitutionLicense { get; set; }
}
public class Identification
{
/// <summary>
/// 获取或设置证件持有人类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_holder_type")]
[System.Text.Json.Serialization.JsonPropertyName("id_holder_type")]
public string? IdHolderType { get; set; }
/// <summary>
/// 获取或设置证件类型。
/// </summary>
@@ -289,6 +327,74 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("identification_back_copy")]
[System.Text.Json.Serialization.JsonPropertyName("identification_back_copy")]
public string? IdentificationBackCopyMediaId { 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("owner")]
[System.Text.Json.Serialization.JsonPropertyName("owner")]
public bool? IsOwner { get; set; }
}
public class UBO
{
/// <summary>
/// 获取或设置证件类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_id_type")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_id_type")]
public string IdentityType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证人像面照片媒体文件标识 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_id_card_copy")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_id_card_copy")]
public string? IdCardFrontCopyMediaId { get; set; }
/// <summary>
/// 获取或设置身份证国徽面照片媒体文件标识 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_id_card_national")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_id_card_national")]
public string? IdCardBackCopyMediaId { get; set; }
/// <summary>
/// 获取或设置证件照片媒体文件标识 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_id_doc_copy")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_id_doc_copy")]
public string? IdDocumentCopyMediaId { get; set; }
/// <summary>
/// 获取或设置受益人姓名(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_name")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_name")]
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_id_number")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_id_number")]
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
public string IdNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证书有效日期(格式:["yyyy-MM-dd", "yyyy-MM-dd"],长期用 "forever" 表示)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_id_card_valid_date")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_id_card_valid_date")]
public string IdPeriodValidDate { get; set; } = string.Empty;
}
public class Addition
@@ -337,6 +443,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("identification_info")]
public Types.Identification Identification { get; set; } = new Types.Identification();
/// <summary>
/// 获取或设置最终受益人信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("ubo_info")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_info")]
public Types.UBO? UBO { get; set; }
/// <summary>
/// 获取或设置补充材料信息。
/// </summary>

View File

@@ -55,28 +55,21 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string? LicenseValidDate { get; set; }
}
public class OrganizationCertificate
public class FinanceInstitutionLicense
{
/// <summary>
/// 获取或设置组织机构代码
/// 获取或设置金融机构类型
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_number")]
[System.Text.Json.Serialization.JsonPropertyName("organization_number")]
public string OrganizationNumber { get; set; } = string.Empty;
[Newtonsoft.Json.JsonProperty("finance_type")]
[System.Text.Json.Serialization.JsonPropertyName("finance_type")]
public string FinanceType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置组织机构代码证照片媒体文件标识 ID。
/// 获取或设置金融机构许可证图片媒体文件标识 ID 列表
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_copy")]
[System.Text.Json.Serialization.JsonPropertyName("organization_copy")]
public string OrganizationCopyMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置组织机构代码证有效日期(格式:["yyyy-MM-dd", "yyyy-MM-dd"],长期用 "长期" 表示)。
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_time")]
[System.Text.Json.Serialization.JsonPropertyName("organization_time")]
public string OrganizationValidDate { get; set; } = string.Empty;
[Newtonsoft.Json.JsonProperty("finance_license_pics")]
[System.Text.Json.Serialization.JsonPropertyName("finance_license_pics")]
public IList<string> FinanceLicensePictureMediaIdList { get; set; } = new List<string>();
}
public class IdCard
@@ -112,11 +105,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string IdCardNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证有效期结束时间格式yyyy-MM-dd / "长期")。
/// 获取或设置身份证有效期结束时间字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_valid_time")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_valid_time")]
public string PeriodEndDate { get; set; } = string.Empty;
public string IdCardPeriodEndDateString { get; set; } = string.Empty;
}
public class IdDocument
@@ -145,11 +138,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string IdDocumentNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件有效期结束时间格式yyyy-MM-dd / "长期")。
/// 获取或设置证件有效期结束时间字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("doc_period_end")]
[System.Text.Json.Serialization.JsonPropertyName("doc_period_end")]
public string PeriodEndDate { get; set; } = string.Empty;
public string IdDocumentPeriodEndDateString { get; set; } = string.Empty;
}
public class Contact
@@ -194,8 +187,149 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public string ContactEmail { get; set; } = string.Empty;
}
public class UBO
{
public static class Types
{
public class IdCard
{
/// <summary>
/// 获取或设置身份证人像面照片媒体文件标识 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_copy")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_copy")]
public string IdCardFrontCopyMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证国徽面照片媒体文件标识 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_national")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_national")]
public string IdCardBackCopyMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证姓名(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_name")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_name")]
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
public string IdCardName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_number")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_number")]
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
public string IdCardNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证有效期开始时间字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_period_begin")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_period_begin")]
public string IdCardPeriodStartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证有效期结束时间字符串格式yyyy-MM-dd / "长期")。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_period_end")]
[System.Text.Json.Serialization.JsonPropertyName("id_card_period_end")]
public string IdCardPeriodEndDateString { get; set; } = string.Empty;
}
public class IdDocument
{
/// <summary>
/// 获取或设置证件照片媒体文件标识 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_copy")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_copy")]
public string IdDocumentCopyMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件姓名(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_name")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_name")]
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
public string IdDocumentName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_number")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_number")]
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
public string IdDocumentNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置证件有效期开始时间字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("id_doc_period_begin")]
[System.Text.Json.Serialization.JsonPropertyName("id_doc_period_begin")]
public string IdCardPeriodStartDateString { 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;
}
}
/// <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; }
}
public class BankAccount
{
public static class Types
{
public class AccountCertificate
{
/// <summary>
/// 获取或设置结算证明函图片媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_cert_pic")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_cert_pic")]
public string SettlementCertificatePictureMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置结算证明函图片媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("relation_cert_pic")]
[System.Text.Json.Serialization.JsonPropertyName("relation_cert_pic")]
public string RelationCertificatePictureMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置其他补充证明图片媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("other_cert_pics")]
[System.Text.Json.Serialization.JsonPropertyName("other_cert_pics")]
public IList<string> OtherCertificatePictureMediaIdList { get; set; } = new List<string>();
}
}
/// <summary>
/// 获取或设置账户类型。
/// </summary>
@@ -246,6 +380,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[Newtonsoft.Json.JsonProperty("bank_name")]
[System.Text.Json.Serialization.JsonPropertyName("bank_name")]
public string? BankBranchName { get; set; }
/// <summary>
/// 获取或设置账号证明材料信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_cert_info")]
[System.Text.Json.Serialization.JsonPropertyName("account_cert_info")]
public Types.AccountCertificate? AccountCertificate { get; set; }
}
public class SaleScene
@@ -278,6 +419,23 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[System.Text.Json.Serialization.JsonPropertyName("mini_program_sub_appid")]
public string? MiniProgramSubAppId { get; set; }
}
public class Settlement
{
/// <summary>
/// 获取或设置结算规则 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_id")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_id")]
public int? SettlementId { get; set; }
/// <summary>
/// 获取或设置所属行业类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("qualification_type")]
[System.Text.Json.Serialization.JsonPropertyName("qualification_type")]
public string? QualificationType { get; set; }
}
}
/// <summary>
@@ -287,6 +445,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[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>
@@ -294,6 +459,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[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>
@@ -302,11 +474,18 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public Types.BusinessLicense? BusinessLicense { get; set; }
/// <summary>
/// 获取或设置组织机构代码证信息。
/// 获取或设置金融机构许可证信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("organization_cert_info")]
[System.Text.Json.Serialization.JsonPropertyName("organization_cert_info")]
public Types.OrganizationCertificate? OrganizationCertificate { get; set; }
[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>
/// 获取或设置法人证件类型。
@@ -329,6 +508,27 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
[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")]
[System.Text.Json.Serialization.JsonPropertyName("ubo_info")]
public Types.UBO? UBO { get; set; }
/// <summary>
/// 获取或设置法人是否为受益人。
/// </summary>
[Newtonsoft.Json.JsonProperty("owner")]
[System.Text.Json.Serialization.JsonPropertyName("owner")]
public bool? IsOwner { get; set; }
/// <summary>
/// 获取或设置是否填写结算银行账户。
/// </summary>
@@ -358,11 +558,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public Types.SaleScene SaleScene { get; set; } = new Types.SaleScene();
/// <summary>
/// 获取或设置商户简称
/// 获取或设置结算规则信息
/// </summary>
[Newtonsoft.Json.JsonProperty("merchant_shortname")]
[System.Text.Json.Serialization.JsonPropertyName("merchant_shortname")]
public string MerchantShortName { get; set; } = string.Empty;
[Newtonsoft.Json.JsonProperty("settlement_info")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_info")]
public Types.Settlement? Settlement { get; set; }
/// <summary>
/// 获取或设置特殊资质图片媒体文件标识 ID 列表。