feat(tenpayv3): 新增保险行业委托代扣相关接口

This commit is contained in:
Fu Diwei 2024-05-07 19:41:41 +08:00
parent ddd8078ec9
commit 0312434c89
42 changed files with 1862 additions and 4 deletions

View File

@ -3,8 +3,8 @@ using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
/// <summary>
/// <para>表示委托代扣 ENTRUST.SIGN 通知的数据。</para>
/// <para>表示委托代扣 ENTRUST.TERMINATE 通知的数据。</para>
/// <para>表示委托代扣 ENTRUST.SIGN (仅限直连商户)通知的数据。</para>
/// <para>表示委托代扣 ENTRUST.TERMINATE (仅限直连商户)通知的数据。</para>
/// </summary>
public class PAPayEntrustResource : WechatTenpayEvent.Types.IDecryptedResource
{

View File

@ -0,0 +1,106 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
/// <summary>
/// <para>表示保险委托代扣 INSURANCE_ENTRUST.SIGN 通知的数据。</para>
/// <para>表示保险委托代扣 INSURANCE_ENTRUST.TERMINATE 通知的数据。</para>
/// </summary>
public class PAPayInsuranceEntrustResource : WechatTenpayEvent.Types.IDecryptedResource
{
public static class Types
{
public class Termination : Models.GetPAPayInsuranceSignContractByOutContractCodeResponse.Types.Termination
{
}
}
/// <summary>
/// 获取或设置微信商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("mchid")]
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
public string MerchantId { get; set; } = default!;
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_id")]
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_contract_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_contract_code")]
public string OutContractCode { get; set; } = default!;
/// <summary>
/// 获取或设置委托代扣签约协议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_id")]
[System.Text.Json.Serialization.JsonPropertyName("contract_id")]
public string ContractId { get; set; } = default!;
/// <summary>
/// 获取或设置协议状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_state")]
[System.Text.Json.Serialization.JsonPropertyName("contract_state")]
public string ContractState { get; set; } = default!;
/// <summary>
/// 获取或设置签署时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_signed_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("contract_signed_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? SignTime { get; set; }
/// <summary>
/// 获取或设置到期时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_expired_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("contract_expired_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? ExpireTime { get; set; }
/// <summary>
/// 获取或设置用户唯一标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string? OpenId { get; set; }
/// <summary>
/// 获取或设置被保人姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("insured_display_name")]
[System.Text.Json.Serialization.JsonPropertyName("insured_display_name")]
public string InsuredDisplayAccount { get; set; } = default!;
/// <summary>
/// 获取或设置商户侧用户标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_user_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_user_code")]
public string? OutUserCode { get; set; }
/// <summary>
/// 获取或设置解约信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_terminate_info")]
[System.Text.Json.Serialization.JsonPropertyName("contract_terminate_info")]
public Types.Termination? Termination { get; set; }
}
}

View File

@ -12,7 +12,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/native-payment/payment-notice.html ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/mini-program-payment/payment-notice.html ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/profit-sharing/notice-division.html ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/entrusted-payment/deduct-result-notify.html ]]>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/entrusted-payment/deduct-result-notify.html ]]> <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/deduct-result-notify.html ]]>
/// </para>
/// </summary>
public class TransactionResource : WechatTenpayEvent.Types.IDecryptedResource

View File

@ -33,6 +33,236 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePAPayContractNotificationResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#region InsurancePayPolicyPeriods
/// <summary>
/// <para>异步调用 [GET] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/schedule/query-policy-period.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse> ExecuteGetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdAsync(this WechatTenpayClient client, Models.GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdRequest 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, "papay", "insurance-pay", "policy-periods", "contract-id", request.ContractId, "policy-period-id", request.PolicyPeriodId);
return await client.SendFlurlRequestAsJsonAsync<Models.GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id}/schedule 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/schedule/schedule-policy-period.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreatePAPayInsurancePayPolicyPeriodScheduleResponse> ExecuteCreatePAPayInsurancePayPolicyPeriodScheduleAsync(this WechatTenpayClient client, Models.CreatePAPayInsurancePayPolicyPeriodScheduleRequest 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, "papay", "insurance-pay", "policy-periods", "contract-id", request.ContractId, "policy-period-id", request.PolicyPeriodId, "schedule");
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePAPayInsurancePayPolicyPeriodScheduleResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region InsuranceSign
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/jsapi 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/insurance/jsapi-sign-and-create-transaction.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.PresignPAPayInsuranceSignContractEntrustJsapiResponse> ExecutePresignPAPayInsuranceSignContractEntrustJsapiAsync(this WechatTenpayClient client, Models.PresignPAPayInsuranceSignContractEntrustJsapiRequest 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, "papay", "insurance-sign", "contracts", "pre-entrust-sign", "jsapi");
return await client.SendFlurlRequestAsJsonAsync<Models.PresignPAPayInsuranceSignContractEntrustJsapiResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/mini-program 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/insurance/mimi-program-sign-and-create-transaction.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.PresignPAPayInsuranceSignContractEntrustMiniProgramResponse> ExecutePresignPAPayInsuranceSignContractEntrustMiniProgramAsync(this WechatTenpayClient client, Models.PresignPAPayInsuranceSignContractEntrustMiniProgramRequest 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, "papay", "insurance-sign", "contracts", "pre-entrust-sign", "mini-program");
return await client.SendFlurlRequestAsJsonAsync<Models.PresignPAPayInsuranceSignContractEntrustMiniProgramResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/h5 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/insurance/h5-sign-and-create-transaction.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.PresignPAPayInsuranceSignContractEntrustH5Response> ExecutePresignPAPayInsuranceSignContractEntrustH5Async(this WechatTenpayClient client, Models.PresignPAPayInsuranceSignContractEntrustH5Request 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, "papay", "insurance-sign", "contracts", "pre-entrust-sign", "h5");
return await client.SendFlurlRequestAsJsonAsync<Models.PresignPAPayInsuranceSignContractEntrustH5Response>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region InsuranceSignContracts
/// <summary>
/// <para>异步调用 [GET] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/operate-contract/get-contract-by-code.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetPAPayInsuranceSignContractByOutContractCodeResponse> ExecuteGetPAPayInsuranceSignContractByOutContractCodeAsync(this WechatTenpayClient client, Models.GetPAPayInsuranceSignContractByOutContractCodeRequest 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, "papay", "insurance-sign", "contracts", "plan-id", request.PlanId, "out-contract-code", request.OutContractCode);
return await client.SendFlurlRequestAsJsonAsync<Models.GetPAPayInsuranceSignContractByOutContractCodeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/operate-contract/terminate-contract-by-code.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TerminatePAPayInsuranceSignContractResponse> ExecuteTerminatePAPayInsuranceSignContractAsync(this WechatTenpayClient client, Models.TerminatePAPayInsuranceSignContractRequest 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, "papay", "insurance-sign", "contracts", "plan-id", request.PlanId, "out-contract-code", request.OutContractCode, "terminate");
return await client.SendFlurlRequestAsJsonAsync<Models.TerminatePAPayInsuranceSignContractResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /papay/insurance-sign/policy_periods/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/insurance/query-policy-periods-by-code.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.QueryPAPayInsuranceSignPolicyPeriodsResponse> ExecuteQueryPAPayInsuranceSignPolicyPeriodsAsync(this WechatTenpayClient client, Models.QueryPAPayInsuranceSignPolicyPeriodsRequest 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, "papay", "insurance-sign", "policy_periods", "plan-id", request.PlanId, "out-contract-code", request.OutContractCode)
.SetQueryParam("limit", request.Limit)
.SetQueryParam("offset", request.Offset);
return await client.SendFlurlRequestAsJsonAsync<Models.QueryPAPayInsuranceSignPolicyPeriodsResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/contract-id/{contract_id}/renew 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/insurance/apply-renew-contract.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.RenewPAPayInsuranceSignContractResponse> ExecuteRenewPAPayInsuranceSignContractAsync(this WechatTenpayClient client, Models.RenewPAPayInsuranceSignContractRequest 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, "papay", "insurance-sign", "contracts", "plan-id", request.PlanId, "contract-id", request.ContractId, "renew");
return await client.SendFlurlRequestAsJsonAsync<Models.RenewPAPayInsuranceSignContractResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region InsurancePayTransactions
/// <summary>
/// <para>异步调用 [POST] /papay/insurance-pay/transactions/apply 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/insurance-entrusted-payment/deduct/create-transaction.html ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ApplyPAPayInsurancePayTransactionResponse> ExecuteApplyPAPayInsurancePayTransactionAsync(this WechatTenpayClient client, Models.ApplyPAPayInsurancePayTransactionRequest 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, "papay", "insurance-pay", "transactions", "apply");
return await client.SendFlurlRequestAsJsonAsync<Models.ApplyPAPayInsurancePayTransactionResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region PaySchedules
/// <summary>
/// <para>异步调用 [GET] /papay/pay/schedules/contract-id/{contract_id} 接口。</para>

View File

@ -0,0 +1,43 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id}/schedule 接口的请求。</para>
/// </summary>
public class CreatePAPayInsurancePayPolicyPeriodScheduleRequest : WechatTenpayRequest
{
public static class Types
{
public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount
{
}
}
/// <summary>
/// 获取或设置委托代扣签约协议 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ContractId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保单的扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int PolicyPeriodId { get; set; }
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置预约的金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("scheduled_amount")]
[System.Text.Json.Serialization.JsonPropertyName("scheduled_amount")]
public Types.Amount ScheduledAmount { get; set; } = new Types.Amount();
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id}/schedule 接口的响应。</para>
/// </summary>
public class CreatePAPayInsurancePayPolicyPeriodScheduleResponse : GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse
{
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id} 接口的请求。</para>
/// </summary>
public class GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置委托代扣签约协议 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ContractId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保单的扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int PolicyPeriodId { get; set; }
}
}

View File

@ -0,0 +1,77 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id} 接口的响应。</para>
/// </summary>
public class GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse : WechatTenpayResponse
{
public static class Types
{
public class Amount
{
/// <summary>
/// 获取或设置金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("total")]
[System.Text.Json.Serialization.JsonPropertyName("total")]
public int Total { get; set; }
/// <summary>
/// 获取或设置货币类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("currency")]
[System.Text.Json.Serialization.JsonPropertyName("currency")]
public string? Currency { get; set; }
}
}
/// <summary>
/// 获取或设置保单的扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_period_id")]
[System.Text.Json.Serialization.JsonPropertyName("policy_period_id")]
public int PolicyPeriodId { get; set; } = default!;
/// <summary>
/// 获取或设置当前扣费周期的状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_period_state")]
[System.Text.Json.Serialization.JsonPropertyName("policy_period_state")]
public string PolicyPeriodState { get; set; } = default!;
/// <summary>
/// 获取或设置可扣费开始日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_start_date")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_start_date")]
public string? DeductStartDateString { get; set; }
/// <summary>
/// 获取或设置可扣费结束日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_end_date")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_end_date")]
public string? DeductEndDateString { get; set; }
/// <summary>
/// 获取或设置已预约的扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("scheduled_amount")]
[System.Text.Json.Serialization.JsonPropertyName("scheduled_amount")]
public Types.Amount? ScheduledAmount { get; set; }
/// <summary>
/// 获取或设置实际扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_amount")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_amount")]
public Types.Amount? DeductAmount { get; set; }
/// <summary>
/// 获取或设置实际扣费日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_date")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_date")]
public string? DeductDateString { get; set; }
}
}

View File

@ -0,0 +1,78 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-pay/transactions/apply 接口的请求。</para>
/// </summary>
public class ApplyPAPayInsurancePayTransactionRequest : WechatTenpayRequest
{
public static class Types
{
public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount
{
}
}
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_trade_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
public string OutTradeNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商品描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// 获取或设置委托代扣签约协议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_id")]
[System.Text.Json.Serialization.JsonPropertyName("contract_id")]
public string ContractId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保单的扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_period_id")]
[System.Text.Json.Serialization.JsonPropertyName("policy_period_id")]
public int PolicyPeriodId { get; set; }
/// <summary>
/// 获取或设置回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")]
public string NotifyUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置订单优惠标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("goods_tag")]
[System.Text.Json.Serialization.JsonPropertyName("goods_tag")]
public string? GoodsTag { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public Types.Amount Amount { get; set; } = new Types.Amount();
}
}

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-pay/transactions/apply 接口的响应。</para>
/// </summary>
public class ApplyPAPayInsurancePayTransactionResponse : WechatTenpayResponse
{
public static class Types
{
public class Amount : GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.Types.Amount
{
}
}
/// <summary>
/// 获取或设置商户订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_trade_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
public string OutTradeNumber { get; set; } = default!;
/// <summary>
/// 获取或设置扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public Types.Amount Amount { get; set; } = default!;
}
}

View File

@ -0,0 +1,175 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/h5 接口的请求。</para>
/// </summary>
public class PresignPAPayInsuranceSignContractEntrustH5Request : WechatTenpayRequest
{
public static class Types
{
public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount
{
}
public class PolicyPeriod : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.PolicyPeriod
{
}
public class RealIdentity : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.RealIdentity
{
}
public class JumpControl
{
/// <summary>
/// 获取或设置跳转应用的 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("jump_appid")]
[System.Text.Json.Serialization.JsonPropertyName("jump_appid")]
public string JumpAppId { get; set; } = string.Empty;
}
}
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_id")]
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_contract_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_contract_code")]
public string OutContractCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户唯一标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string? OpenId { get; set; }
/// <summary>
/// 获取或设置被保人的展示名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("insured_display_name")]
[System.Text.Json.Serialization.JsonPropertyName("insured_display_name")]
public string InsuredDisplayAccount { get; set; } = string.Empty;
/// <summary>
/// 获取或设置签约结果回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("contract_notify_url")]
public string ContractNotifyUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户侧用户标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_user_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_user_code")]
public string? OutUserCode { get; set; }
/// <summary>
/// 获取或设置保险保单的开始日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_start_date")]
[System.Text.Json.Serialization.JsonPropertyName("policy_start_date")]
public string PolicyStartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的结束日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_end_date")]
[System.Text.Json.Serialization.JsonPropertyName("policy_end_date")]
public string PolicyEndDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的扣费周期列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_periods")]
[System.Text.Json.Serialization.JsonPropertyName("policy_periods")]
public IList<Types.PolicyPeriod>? PolicyPeriodList { get; set; }
/// <summary>
/// 获取或设置商户订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_trade_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
public string? OutTradeNumber { get; set; }
/// <summary>
/// 获取或设置商品描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
/// <summary>
/// 获取或设置扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public Types.Amount? Amount { get; set; }
/// <summary>
/// 获取或设置支付结果回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")]
public string? TransactionNotifyUrl { get; set; }
/// <summary>
/// 获取或设置订单优惠标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("goods_tag")]
[System.Text.Json.Serialization.JsonPropertyName("goods_tag")]
public string? GoodsTag { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置是否自动续保。
/// </summary>
[Newtonsoft.Json.JsonProperty("can_auto_insure")]
[System.Text.Json.Serialization.JsonPropertyName("can_auto_insure")]
public bool? CanAutoInsure { get; set; }
/// <summary>
/// 获取或设置是否自动重新投保。
/// </summary>
[Newtonsoft.Json.JsonProperty("can_auto_reinsure")]
[System.Text.Json.Serialization.JsonPropertyName("can_auto_reinsure")]
public bool? CanAutoReinsure { get; set; }
/// <summary>
/// 获取或设置用户实名信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("real_identity")]
[System.Text.Json.Serialization.JsonPropertyName("real_identity")]
public Types.RealIdentity? RealIdentity { get; set; }
/// <summary>
/// 获取或设置跳转控制信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("jump_control")]
[System.Text.Json.Serialization.JsonPropertyName("jump_control")]
public Types.JumpControl? JumpControl { get; set; }
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/h5 接口的响应。</para>
/// </summary>
public class PresignPAPayInsuranceSignContractEntrustH5Response : WechatTenpayResponse
{
/// <summary>
/// 获取或设置跳转 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("redirect_url")]
[System.Text.Json.Serialization.JsonPropertyName("redirect_url")]
public string RedirectUrl { get; set; } = default!;
}
}

View File

@ -0,0 +1,217 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/jsapi 接口的请求。</para>
/// </summary>
[WechatTenpaySensitive]
public class PresignPAPayInsuranceSignContractEntrustJsapiRequest : WechatTenpayRequest
{
public static class Types
{
public class Amount
{
/// <summary>
/// 获取或设置金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("total")]
[System.Text.Json.Serialization.JsonPropertyName("total")]
public int Total { get; set; }
/// <summary>
/// 获取或设置货币类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("currency")]
[System.Text.Json.Serialization.JsonPropertyName("currency")]
public string? Currency { get; set; }
}
public class PolicyPeriod
{
/// <summary>
/// 获取或设置保险扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_period_id")]
[System.Text.Json.Serialization.JsonPropertyName("policy_period_id")]
public int PolicyPeriodId { get; set; }
/// <summary>
/// 获取或设置保险扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("estimated_deduct_date")]
[System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_date")]
public string EstimatedDeductDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置预计扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("estimated_deduct_amount")]
[System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_amount")]
public Types.Amount EstimatedDeductAmount { get; set; } = new Types.Amount();
}
public class RealIdentity
{
/// <summary>
/// 获取或设置实名验证类型。
/// <para>默认值:"ID_CARD"</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("identity_type")]
[System.Text.Json.Serialization.JsonPropertyName("identity_type")]
public string IdentityType { get; set; } = "ID_CARD";
/// <summary>
/// 获取或设置真实姓名(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("real_name")]
[System.Text.Json.Serialization.JsonPropertyName("real_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 RealName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置身份证号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_card_number")]
[System.Text.Json.Serialization.JsonPropertyName("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 IdCardNumber { get; set; } = string.Empty;
}
}
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_id")]
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_contract_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_contract_code")]
public string OutContractCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户唯一标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string? OpenId { get; set; }
/// <summary>
/// 获取或设置被保人的展示名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("insured_display_name")]
[System.Text.Json.Serialization.JsonPropertyName("insured_display_name")]
public string InsuredDisplayAccount { get; set; } = string.Empty;
/// <summary>
/// 获取或设置签约结果回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("contract_notify_url")]
public string ContractNotifyUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户侧用户标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_user_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_user_code")]
public string? OutUserCode { get; set; }
/// <summary>
/// 获取或设置保险保单的开始日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_start_date")]
[System.Text.Json.Serialization.JsonPropertyName("policy_start_date")]
public string PolicyStartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的结束日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_end_date")]
[System.Text.Json.Serialization.JsonPropertyName("policy_end_date")]
public string PolicyEndDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的扣费周期列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_periods")]
[System.Text.Json.Serialization.JsonPropertyName("policy_periods")]
public IList<Types.PolicyPeriod>? PolicyPeriodList { get; set; }
/// <summary>
/// 获取或设置商户订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_trade_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
public string? OutTradeNumber { get; set; }
/// <summary>
/// 获取或设置商品描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
/// <summary>
/// 获取或设置扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public Types.Amount? Amount { get; set; }
/// <summary>
/// 获取或设置支付结果回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")]
public string? TransactionNotifyUrl { get; set; }
/// <summary>
/// 获取或设置订单优惠标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("goods_tag")]
[System.Text.Json.Serialization.JsonPropertyName("goods_tag")]
public string? GoodsTag { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置是否自动续保。
/// </summary>
[Newtonsoft.Json.JsonProperty("can_auto_insure")]
[System.Text.Json.Serialization.JsonPropertyName("can_auto_insure")]
public bool? CanAutoInsure { get; set; }
/// <summary>
/// 获取或设置是否自动重新投保。
/// </summary>
[Newtonsoft.Json.JsonProperty("can_auto_reinsure")]
[System.Text.Json.Serialization.JsonPropertyName("can_auto_reinsure")]
public bool? CanAutoReinsure { get; set; }
/// <summary>
/// 获取或设置用户实名信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("real_identity")]
[System.Text.Json.Serialization.JsonPropertyName("real_identity")]
public Types.RealIdentity? RealIdentity { get; set; }
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/jsapi 接口的响应。</para>
/// </summary>
public class PresignPAPayInsuranceSignContractEntrustJsapiResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置跳转 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("redirect_url")]
[System.Text.Json.Serialization.JsonPropertyName("redirect_url")]
public string RedirectUrl { get; set; } = default!;
}
}

View File

@ -0,0 +1,158 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/mini-program 接口的请求。</para>
/// </summary>
public class PresignPAPayInsuranceSignContractEntrustMiniProgramRequest : WechatTenpayRequest
{
public static class Types
{
public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount
{
}
public class PolicyPeriod : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.PolicyPeriod
{
}
public class RealIdentity : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.RealIdentity
{
}
}
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_id")]
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_contract_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_contract_code")]
public string OutContractCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户唯一标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string? OpenId { get; set; }
/// <summary>
/// 获取或设置被保人的展示名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("insured_display_name")]
[System.Text.Json.Serialization.JsonPropertyName("insured_display_name")]
public string InsuredDisplayAccount { get; set; } = string.Empty;
/// <summary>
/// 获取或设置签约结果回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("contract_notify_url")]
public string ContractNotifyUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户侧用户标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_user_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_user_code")]
public string? OutUserCode { get; set; }
/// <summary>
/// 获取或设置保险保单的开始日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_start_date")]
[System.Text.Json.Serialization.JsonPropertyName("policy_start_date")]
public string PolicyStartDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的结束日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_end_date")]
[System.Text.Json.Serialization.JsonPropertyName("policy_end_date")]
public string PolicyEndDateString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的扣费周期列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_periods")]
[System.Text.Json.Serialization.JsonPropertyName("policy_periods")]
public IList<Types.PolicyPeriod>? PolicyPeriodList { get; set; }
/// <summary>
/// 获取或设置商户订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_trade_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
public string? OutTradeNumber { get; set; }
/// <summary>
/// 获取或设置商品描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("description")]
[System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
/// <summary>
/// 获取或设置扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public Types.Amount? Amount { get; set; }
/// <summary>
/// 获取或设置支付结果回调通知地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")]
public string? TransactionNotifyUrl { get; set; }
/// <summary>
/// 获取或设置订单优惠标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("goods_tag")]
[System.Text.Json.Serialization.JsonPropertyName("goods_tag")]
public string? GoodsTag { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置是否自动续保。
/// </summary>
[Newtonsoft.Json.JsonProperty("can_auto_insure")]
[System.Text.Json.Serialization.JsonPropertyName("can_auto_insure")]
public bool? CanAutoInsure { get; set; }
/// <summary>
/// 获取或设置是否自动重新投保。
/// </summary>
[Newtonsoft.Json.JsonProperty("can_auto_reinsure")]
[System.Text.Json.Serialization.JsonPropertyName("can_auto_reinsure")]
public bool? CanAutoReinsure { get; set; }
/// <summary>
/// 获取或设置用户实名信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("real_identity")]
[System.Text.Json.Serialization.JsonPropertyName("real_identity")]
public Types.RealIdentity? RealIdentity { get; set; }
}
}

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/mini-program 接口的响应。</para>
/// </summary>
public class PresignPAPayInsuranceSignContractEntrustMiniProgramResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置预签约会话 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("pre_entrustweb_id")]
[System.Text.Json.Serialization.JsonPropertyName("pre_entrustweb_id")]
public string PresignSessionId { get; set; } = default!;
/// <summary>
/// 获取或设置跳转小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("redirect_appid")]
[System.Text.Json.Serialization.JsonPropertyName("redirect_appid")]
public string RedirectAppId { get; set; } = default!;
/// <summary>
/// 获取或设置跳转小程序页面路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("redirect_path")]
[System.Text.Json.Serialization.JsonPropertyName("redirect_path")]
public string RedirectPagePath { get; set; } = default!;
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的请求。</para>
/// </summary>
public class GetPAPayInsuranceSignContractByOutContractCodeRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutContractCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public long PlanId { get; set; }
}
}

View File

@ -0,0 +1,127 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的响应。</para>
/// </summary>
public class GetPAPayInsuranceSignContractByOutContractCodeResponse : WechatTenpayResponse
{
public static class Types
{
public class Termination
{
/// <summary>
/// 获取或设置解约时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_terminated_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("contract_terminated_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset TerminateTime { get; set; }
/// <summary>
/// 获取或设置解约方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_termination_mode")]
[System.Text.Json.Serialization.JsonPropertyName("contract_termination_mode")]
public string TerminationMode { get; set; } = default!;
/// <summary>
/// 获取或设置解约备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_termination_remark")]
[System.Text.Json.Serialization.JsonPropertyName("contract_termination_remark")]
public string TerminationRemark { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置微信商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("mchid")]
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
public string MerchantId { get; set; } = default!;
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("plan_id")]
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_contract_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_contract_code")]
public string OutContractCode { get; set; } = default!;
/// <summary>
/// 获取或设置委托代扣签约协议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_id")]
[System.Text.Json.Serialization.JsonPropertyName("contract_id")]
public string ContractId { get; set; } = default!;
/// <summary>
/// 获取或设置协议状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_state")]
[System.Text.Json.Serialization.JsonPropertyName("contract_state")]
public string ContractState { get; set; } = default!;
/// <summary>
/// 获取或设置签署时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_signed_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("contract_signed_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? SignTime { get; set; }
/// <summary>
/// 获取或设置到期时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_expired_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("contract_expired_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? ExpireTime { get; set; }
/// <summary>
/// 获取或设置用户唯一标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string? OpenId { get; set; }
/// <summary>
/// 获取或设置被保人姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("insured_display_name")]
[System.Text.Json.Serialization.JsonPropertyName("insured_display_name")]
public string InsuredDisplayAccount { get; set; } = default!;
/// <summary>
/// 获取或设置商户侧用户标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_user_code")]
[System.Text.Json.Serialization.JsonPropertyName("out_user_code")]
public string? OutUserCode { get; set; }
/// <summary>
/// 获取或设置解约信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_terminate_info")]
[System.Text.Json.Serialization.JsonPropertyName("contract_terminate_info")]
public Types.Termination? Termination { get; set; }
}
}

View File

@ -0,0 +1,37 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /papay/insurance-sign/policy_periods/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的请求。</para>
/// </summary>
public class QueryPAPayInsuranceSignPolicyPeriodsRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutContractCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置分页大小。
/// <para>默认值20</para>
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int Limit { get; set; } = 20;
/// <summary>
/// 获取或设置分页开始位置。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int Offset { get; set; }
}
}

View File

@ -0,0 +1,99 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /papay/insurance-sign/policy_periods/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的响应。</para>
/// </summary>
public class QueryPAPayInsuranceSignPolicyPeriodsResponse : WechatTenpayResponse
{
public static class Types
{
public class PolicyPeriod
{
public static class Types
{
public class Amount : GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.Types.Amount
{
}
}
/// <summary>
/// 获取或设置保险扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_period_id")]
[System.Text.Json.Serialization.JsonPropertyName("policy_period_id")]
public int PolicyPeriodId { get; set; }
/// <summary>
/// 获取或设置保险扣费周期编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("estimated_deduct_date")]
[System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_date")]
public string EstimatedDeductDateString { get; set; } = default!;
/// <summary>
/// 获取或设置预计扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("estimated_deduct_amount")]
[System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_amount")]
public Types.Amount EstimatedDeductAmount { get; set; } = default!;
/// <summary>
/// 获取或设置扣费周期预约状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_period_state")]
[System.Text.Json.Serialization.JsonPropertyName("policy_period_state")]
public string PolicyPeriodState { get; set; } = default!;
/// <summary>
/// 获取或设置已预约的扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("scheduled_amount")]
[System.Text.Json.Serialization.JsonPropertyName("scheduled_amount")]
public Types.Amount? ScheduledAmount { get; set; }
/// <summary>
/// 获取或设置实际扣费金额信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_amount")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_amount")]
public Types.Amount? DeductAmount { get; set; }
/// <summary>
/// 获取或设置实际扣费日期字符串格式yyyy-MM-dd
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_date")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_date")]
public string? DeductDateString { get; set; }
}
}
/// <summary>
/// 获取或设置微信商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.PolicyPeriod[] PolicyPeriodList { get; set; } = default!;
/// <summary>
/// 获取或设置记录总数。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_count")]
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int TotalCount { get; set; }
/// <summary>
/// 获取或设置分页大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int Limit { get; set; }
/// <summary>
/// 获取或设置分页开始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("offset")]
[System.Text.Json.Serialization.JsonPropertyName("offset")]
public int Offset { get; set; }
}
}

View File

@ -0,0 +1,49 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/contract-id/{contract_id}/renew 接口的请求。</para>
/// </summary>
public class RenewPAPayInsuranceSignContractRequest : WechatTenpayRequest
{
public static class Types
{
public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount
{
}
public class PolicyPeriod : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.PolicyPeriod
{
}
}
/// <summary>
/// 获取或设置委托代扣签约协议 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ContractId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置微信 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置保险保单的扣费周期列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("policy_periods")]
[System.Text.Json.Serialization.JsonPropertyName("policy_periods")]
public IList<Types.PolicyPeriod>? PolicyPeriodList { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/contract-id/{contract_id}/renew 接口的响应。</para>
/// </summary>
public class RenewPAPayInsuranceSignContractResponse : WechatTenpayResponse
{
}
}

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口的请求。</para>
/// </summary>
public class TerminatePAPayInsuranceSignContractRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置商户签约协议号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutContractCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public long PlanId { get; set; }
/// <summary>
/// 获取或设置解约备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("contract_termination_remark")]
[System.Text.Json.Serialization.JsonPropertyName("contract_termination_remark")]
public string TerminationRemark { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口的响应。</para>
/// </summary>
public class TerminatePAPayInsuranceSignContractResponse : GetPAPayInsuranceSignContractByOutContractCodeResponse
{
}
}

View File

@ -31,6 +31,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("schedule_amount")]
[System.Text.Json.Serialization.JsonPropertyName("schedule_amount")]
public Types.Amount ScheduleAmount { get; set; } = new Types.Amount();
public Types.Amount ScheduledAmount { get; set; } = new Types.Amount();
}
}

View File

@ -0,0 +1,13 @@
{
"appid": "wxd678efh567hg6787",
"contract_expired_time": "2021-09-10T13:29:35+08:00",
"contract_id": "123124412412423431",
"contract_signed_time": "2020-09-10T13:29:35+08:00",
"contract_state": "SIGNED",
"insured_display_name": "*明",
"mchid": "1900000109",
"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
"out_contract_code": "wxwtdk20200910100000",
"out_user_code": "用户A",
"plan_id": 12535
}

View File

@ -0,0 +1,7 @@
{
"appid": "wxd678efh567hg6787",
"scheduled_amount": {
"total": 1,
"currency": "CNY"
}
}

View File

@ -0,0 +1,15 @@
{
"policy_period_id": 1,
"policy_period_state": "NO_SCHEDULED",
"deduct_start_date": "2019-11-22",
"deduct_end_date": "2019-11-22",
"scheduled_amount": {
"total": 1,
"currency": "CNY"
},
"deduct_amount": {
"total": 1,
"currency": "CNY"
},
"deduct_date": "2019-11-22"
}

View File

@ -0,0 +1,15 @@
{
"policy_period_id": 1,
"policy_period_state": "NO_SCHEDULED",
"deduct_start_date": "2019-11-22",
"deduct_end_date": "2019-11-22",
"scheduled_amount": {
"total": 1,
"currency": "CNY"
},
"deduct_amount": {
"total": 1,
"currency": "CNY"
},
"deduct_date": "2019-11-22"
}

View File

@ -0,0 +1,14 @@
{
"appid": "wxd678efh567hg6787",
"out_trade_no": "1217752501201407033233368018",
"description": "Image形象店-深圳腾大-QQ公仔",
"transaction_notify_url": "https://www.qq.com/",
"contract_id": "123124412412423431",
"policy_period_id": 1,
"amount": {
"total": 1,
"currency": "CNY"
},
"goods_tag": "DISCOUNTS",
"attach": "自定义数据"
}

View File

@ -0,0 +1,7 @@
{
"out_trade_no": "1217752501201407033233368018",
"amount": {
"total": 1,
"currency": "CNY"
}
}

View File

@ -0,0 +1,40 @@
{
"appid": "wxd678efh567hg6787",
"openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw",
"plan_id": 12535,
"out_contract_code": "wxwtdk20200910100000",
"insured_display_name": "*明",
"contract_notify_url": "https://yourapp.com/notify",
"policy_start_date": "2019-11-22",
"policy_end_date": "2020-11-22",
"policy_periods": [
{
"policy_period_id": 1,
"estimated_deduct_date": "2019-11-22",
"estimated_deduct_amount": {
"total": 1,
"currency": "CNY"
}
}
],
"amount": {
"total": 1,
"currency": "CNY"
},
"out_trade_no": "1217752501201407033233368018",
"description": "Image形象店-深圳腾大-QQ公仔",
"transaction_notify_url": "https://www.qq.com/",
"out_user_code": "用户昵称",
"goods_tag": "DISCOUNTS",
"attach": "自定义数据",
"can_auto_insure": true,
"can_auto_reinsure": false,
"real_identity": {
"real_name": "OEimkKuua8igpd+0YDgqF2Z61leeGD7x87j3PhzsBhAK+/lltXENEOf6ThgV7niChzIpDujIpefE2JFZCJFurf6IV5rxNWBbjFeHYyUGAbf8zDx2Wbi7y7BGjApltIhsxAk+LhQ648Kcw4FMidL/79Gh3nHUfSGX+nEl3gtNi24Ilt8Vu0MMXhA1suDzlpbNDDrYnAhb1eeMziSu8jW7lDouwJXjGh9zgFPUuTxfOpteJIZSy8HWR+QPugdXBNouEezDPN8kojKbJHRtjaBJY3n3agkXShI5yvnc+DCYM+4VgNWZpTx9D0w3KAylJPKAAluYMzj4VXzZurjpruDg2A==",
"id_card_number": "1axtI9EZUr0343c89xQznxau+cRWPKP4YhVAoj/mEoNSgJh0nvuqQJ1cdXZHGUzyBjOtuLeVq+OLOaWGUScSM8+QLBk+kOK8QyR1TUo44YrmIl5KkjWLa3dpNJt+nIkpN1e7yr2mxO9LGqJdeQXDCHvOiUTK6lnAVxWY0ZrF4OQFmHqOCvqTaF3VxD5a8AT3gxyayF04IJSfPV0NheZvWFBHIUeRPf1/WQmJ/wXu2MfAuESB0dLBglT85i0Rws2GopaTUNiBuJBHdg01bR+YZvSYv8EJPyxuyYVh5bg/wSotNTYnVp13OUzMBKu25yOW5+RnunesXwq9ogPnSj7EDA==",
"identity_type": "ID_CARD"
},
"jump_control": {
"jump_appid": "wxd678efh567hg6787"
}
}

View File

@ -0,0 +1,3 @@
{
"redirect_url": "https://www.xxx.com/xxxtemplate?session_id=wx12334"
}

View File

@ -0,0 +1,37 @@
{
"appid": "wxd678efh567hg6787",
"openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw",
"plan_id": 12535,
"out_contract_code": "wxwtdk20200910100000",
"insured_display_name": "*明",
"contract_notify_url": "https://yourapp.com/notify",
"policy_start_date": "2019-11-22",
"policy_end_date": "2020-11-22",
"policy_periods": [
{
"policy_period_id": 1,
"estimated_deduct_date": "2019-11-22",
"estimated_deduct_amount": {
"total": 1,
"currency": "CNY"
}
}
],
"amount": {
"total": 1,
"currency": "CNY"
},
"out_trade_no": "1217752501201407033233368018",
"description": "Image形象店-深圳腾大-QQ公仔",
"transaction_notify_url": "https://www.qq.com/",
"out_user_code": "用户昵称",
"goods_tag": "DISCOUNTS",
"attach": "自定义数据",
"can_auto_insure": true,
"can_auto_reinsure": false,
"real_identity": {
"real_name": "OEimkKuua8igpd+0YDgqF2Z61leeGD7x87j3PhzsBhAK+/lltXENEOf6ThgV7niChzIpDujIpefE2JFZCJFurf6IV5rxNWBbjFeHYyUGAbf8zDx2Wbi7y7BGjApltIhsxAk+LhQ648Kcw4FMidL/79Gh3nHUfSGX+nEl3gtNi24Ilt8Vu0MMXhA1suDzlpbNDDrYnAhb1eeMziSu8jW7lDouwJXjGh9zgFPUuTxfOpteJIZSy8HWR+QPugdXBNouEezDPN8kojKbJHRtjaBJY3n3agkXShI5yvnc+DCYM+4VgNWZpTx9D0w3KAylJPKAAluYMzj4VXzZurjpruDg2A==",
"id_card_number": "1axtI9EZUr0343c89xQznxau+cRWPKP4YhVAoj/mEoNSgJh0nvuqQJ1cdXZHGUzyBjOtuLeVq+OLOaWGUScSM8+QLBk+kOK8QyR1TUo44YrmIl5KkjWLa3dpNJt+nIkpN1e7yr2mxO9LGqJdeQXDCHvOiUTK6lnAVxWY0ZrF4OQFmHqOCvqTaF3VxD5a8AT3gxyayF04IJSfPV0NheZvWFBHIUeRPf1/WQmJ/wXu2MfAuESB0dLBglT85i0Rws2GopaTUNiBuJBHdg01bR+YZvSYv8EJPyxuyYVh5bg/wSotNTYnVp13OUzMBKu25yOW5+RnunesXwq9ogPnSj7EDA==",
"identity_type": "ID_CARD"
}
}

View File

@ -0,0 +1,3 @@
{
"redirect_url": "https://www.xxx.com?pre_entrust_id=wx12334"
}

View File

@ -0,0 +1,37 @@
{
"appid": "wxd678efh567hg6787",
"openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw",
"plan_id": 12535,
"out_contract_code": "wxwtdk20200910100000",
"insured_display_name": "*明",
"contract_notify_url": "https://yourapp.com/notify",
"policy_start_date": "2019-11-22",
"policy_end_date": "2020-11-22",
"policy_periods": [
{
"policy_period_id": 1,
"estimated_deduct_date": "2019-11-22",
"estimated_deduct_amount": {
"total": 1,
"currency": "CNY"
}
}
],
"amount": {
"total": 1,
"currency": "CNY"
},
"out_trade_no": "1217752501201407033233368018",
"description": "Image形象店-深圳腾大-QQ公仔",
"transaction_notify_url": "https://www.qq.com/",
"out_user_code": "用户昵称",
"goods_tag": "DISCOUNTS",
"attach": "自定义数据",
"can_auto_insure": true,
"can_auto_reinsure": false,
"real_identity": {
"real_name": "OEimkKuua8igpd+0YDgqF2Z61leeGD7x87j3PhzsBhAK+/lltXENEOf6ThgV7niChzIpDujIpefE2JFZCJFurf6IV5rxNWBbjFeHYyUGAbf8zDx2Wbi7y7BGjApltIhsxAk+LhQ648Kcw4FMidL/79Gh3nHUfSGX+nEl3gtNi24Ilt8Vu0MMXhA1suDzlpbNDDrYnAhb1eeMziSu8jW7lDouwJXjGh9zgFPUuTxfOpteJIZSy8HWR+QPugdXBNouEezDPN8kojKbJHRtjaBJY3n3agkXShI5yvnc+DCYM+4VgNWZpTx9D0w3KAylJPKAAluYMzj4VXzZurjpruDg2A==",
"id_card_number": "1axtI9EZUr0343c89xQznxau+cRWPKP4YhVAoj/mEoNSgJh0nvuqQJ1cdXZHGUzyBjOtuLeVq+OLOaWGUScSM8+QLBk+kOK8QyR1TUo44YrmIl5KkjWLa3dpNJt+nIkpN1e7yr2mxO9LGqJdeQXDCHvOiUTK6lnAVxWY0ZrF4OQFmHqOCvqTaF3VxD5a8AT3gxyayF04IJSfPV0NheZvWFBHIUeRPf1/WQmJ/wXu2MfAuESB0dLBglT85i0Rws2GopaTUNiBuJBHdg01bR+YZvSYv8EJPyxuyYVh5bg/wSotNTYnVp13OUzMBKu25yOW5+RnunesXwq9ogPnSj7EDA==",
"identity_type": "ID_CARD"
}
}

View File

@ -0,0 +1,5 @@
{
"pre_entrustweb_id": "5778aadY9nltAsZzXixCkFIGYnV2V",
"redirect_appid": "wxbd687630cd02ce1d",
"redirect_path": "pages/PwdExemptContract/index"
}

View File

@ -0,0 +1,18 @@
{
"mchid": "1900000109",
"contract_id": "123124412412423431",
"appid": "wxd678efh567hg6787",
"plan_id": 12535,
"out_contract_code": "wxwtdk20200910100000",
"insured_display_name": "*明",
"contract_state": "SIGNED",
"contract_signed_time": "2020-09-10T13:29:35+08:00",
"contract_expired_time": "2021-09-10T13:29:35+08:00",
"contract_terminate_info": {
"contract_termination_mode": "USER_TERMINATE",
"contract_terminated_time": "2020-10-10T13:29:35+08:00",
"contract_termination_remark": "用户解约"
},
"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
"out_user_code": "用户A"
}

View File

@ -0,0 +1,25 @@
{
"data": [
{
"policy_period_id": 1,
"estimated_deduct_date": "2019-11-22",
"estimated_deduct_amount": {
"total": 1,
"currency": "CNY"
},
"policy_period_state": "NO_SCHEDULED",
"scheduled_amount": {
"total": 1,
"currency": "CNY"
},
"deduct_amount": {
"total": 1,
"currency": "CNY"
},
"deduct_date": "2019-11-22"
}
],
"limit": 20,
"offset": 50,
"total_count": 360
}

View File

@ -0,0 +1,13 @@
{
"appid": "wxd678efh567hg6787",
"policy_periods": [
{
"policy_period_id": 1,
"estimated_deduct_date": "2019-11-22",
"estimated_deduct_amount": {
"total": 1,
"currency": "CNY"
}
}
]
}

View File

@ -0,0 +1,18 @@
{
"mchid": "1900000109",
"contract_id": "123124412412423431",
"appid": "wxd678efh567hg6787",
"plan_id": 12535,
"out_contract_code": "wxwtdk20200910100000",
"insured_display_name": "*明",
"contract_state": "SIGNED",
"contract_signed_time": "2020-09-10T13:29:35+08:00",
"contract_expired_time": "2021-09-10T13:29:35+08:00",
"contract_terminate_info": {
"contract_termination_mode": "USER_TERMINATE",
"contract_terminated_time": "2020-10-10T13:29:35+08:00",
"contract_termination_remark": "用户解约"
},
"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
"out_user_code": "用户A"
}