diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs index 97039ac9..33cba196 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs @@ -3,8 +3,8 @@ using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events { /// - /// 表示委托代扣 ENTRUST.SIGN 通知的数据。 - /// 表示委托代扣 ENTRUST.TERMINATE 通知的数据。 + /// 表示委托代扣 ENTRUST.SIGN (仅限直连商户)通知的数据。 + /// 表示委托代扣 ENTRUST.TERMINATE (仅限直连商户)通知的数据。 /// public class PAPayEntrustResource : WechatTenpayEvent.Types.IDecryptedResource { diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayInsuranceEntrustResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayInsuranceEntrustResource.cs new file mode 100644 index 00000000..06227376 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayInsuranceEntrustResource.cs @@ -0,0 +1,106 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events +{ + /// + /// 表示保险委托代扣 INSURANCE_ENTRUST.SIGN 通知的数据。 + /// 表示保险委托代扣 INSURANCE_ENTRUST.TERMINATE 通知的数据。 + /// + public class PAPayInsuranceEntrustResource : WechatTenpayEvent.Types.IDecryptedResource + { + public static class Types + { + public class Termination : Models.GetPAPayInsuranceSignContractByOutContractCodeResponse.Types.Termination + { + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("plan_id")] + [System.Text.Json.Serialization.JsonPropertyName("plan_id")] + public long PlanId { get; set; } + + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonProperty("out_contract_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_contract_code")] + public string OutContractCode { get; set; } = default!; + + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonProperty("contract_id")] + [System.Text.Json.Serialization.JsonPropertyName("contract_id")] + public string ContractId { get; set; } = default!; + + /// + /// 获取或设置协议状态。 + /// + [Newtonsoft.Json.JsonProperty("contract_state")] + [System.Text.Json.Serialization.JsonPropertyName("contract_state")] + public string ContractState { get; set; } = default!; + + /// + /// 获取或设置签署时间。 + /// + [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; } + + /// + /// 获取或设置到期时间。 + /// + [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; } + + /// + /// 获取或设置用户唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置被保人姓名。 + /// + [Newtonsoft.Json.JsonProperty("insured_display_name")] + [System.Text.Json.Serialization.JsonPropertyName("insured_display_name")] + public string InsuredDisplayAccount { get; set; } = default!; + + /// + /// 获取或设置商户侧用户标识。 + /// + [Newtonsoft.Json.JsonProperty("out_user_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_user_code")] + public string? OutUserCode { get; set; } + + /// + /// 获取或设置解约信息。 + /// + [Newtonsoft.Json.JsonProperty("contract_terminate_info")] + [System.Text.Json.Serialization.JsonPropertyName("contract_terminate_info")] + public Types.Termination? Termination { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs index f0978aa7..ea94bfa0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs @@ -12,7 +12,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events ///
///
///
- /// + ///
+ /// /// /// public class TransactionResource : WechatTenpayEvent.Types.IDecryptedResource diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs index bd1d6d9e..4315e13a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs @@ -33,6 +33,236 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + #region InsurancePayPolicyPeriods + /// + /// 异步调用 [GET] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id}/schedule 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region InsuranceSign + /// + /// 异步调用 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/jsapi 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/mini-program 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/h5 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region InsuranceSignContracts + /// + /// 异步调用 [GET] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /papay/insurance-sign/policy_periods/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/contract-id/{contract_id}/renew 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region InsurancePayTransactions + /// + /// 异步调用 [POST] /papay/insurance-pay/transactions/apply 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task 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(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + #region PaySchedules /// /// 异步调用 [GET] /papay/pay/schedules/contract-id/{contract_id} 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleRequest.cs new file mode 100644 index 00000000..119ccf39 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleRequest.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id}/schedule 接口的请求。 + /// + public class CreatePAPayInsurancePayPolicyPeriodScheduleRequest : WechatTenpayRequest + { + public static class Types + { + public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount + { + } + } + + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ContractId { get; set; } = string.Empty; + + /// + /// 获取或设置保单的扣费周期编号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int PolicyPeriodId { get; set; } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置预约的金额信息。 + /// + [Newtonsoft.Json.JsonProperty("scheduled_amount")] + [System.Text.Json.Serialization.JsonPropertyName("scheduled_amount")] + public Types.Amount ScheduledAmount { get; set; } = new Types.Amount(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleResponse.cs new file mode 100644 index 00000000..e183c05f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id}/schedule 接口的响应。 + /// + public class CreatePAPayInsurancePayPolicyPeriodScheduleResponse : GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdRequest.cs new file mode 100644 index 00000000..ede9ed2b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id} 接口的请求。 + /// + public class GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdRequest : WechatTenpayRequest + { + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ContractId { get; set; } = string.Empty; + + /// + /// 获取或设置保单的扣费周期编号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int PolicyPeriodId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.cs new file mode 100644 index 00000000..623a8282 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.cs @@ -0,0 +1,77 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/insurance-pay/policy-periods/contract-id/{contract_id}/policy-period-id/{policy_period_id} 接口的响应。 + /// + public class GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse : WechatTenpayResponse + { + public static class Types + { + public class Amount + { + /// + /// 获取或设置金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("total")] + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int Total { get; set; } + + /// + /// 获取或设置货币类型。 + /// + [Newtonsoft.Json.JsonProperty("currency")] + [System.Text.Json.Serialization.JsonPropertyName("currency")] + public string? Currency { get; set; } + } + } + + /// + /// 获取或设置保单的扣费周期编号。 + /// + [Newtonsoft.Json.JsonProperty("policy_period_id")] + [System.Text.Json.Serialization.JsonPropertyName("policy_period_id")] + public int PolicyPeriodId { get; set; } = default!; + + /// + /// 获取或设置当前扣费周期的状态。 + /// + [Newtonsoft.Json.JsonProperty("policy_period_state")] + [System.Text.Json.Serialization.JsonPropertyName("policy_period_state")] + public string PolicyPeriodState { get; set; } = default!; + + /// + /// 获取或设置可扣费开始日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("deduct_start_date")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_start_date")] + public string? DeductStartDateString { get; set; } + + /// + /// 获取或设置可扣费结束日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("deduct_end_date")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_end_date")] + public string? DeductEndDateString { get; set; } + + /// + /// 获取或设置已预约的扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("scheduled_amount")] + [System.Text.Json.Serialization.JsonPropertyName("scheduled_amount")] + public Types.Amount? ScheduledAmount { get; set; } + + /// + /// 获取或设置实际扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_amount")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_amount")] + public Types.Amount? DeductAmount { get; set; } + + /// + /// 获取或设置实际扣费日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("deduct_date")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_date")] + public string? DeductDateString { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionRequest.cs new file mode 100644 index 00000000..048622ee --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionRequest.cs @@ -0,0 +1,78 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-pay/transactions/apply 接口的请求。 + /// + public class ApplyPAPayInsurancePayTransactionRequest : WechatTenpayRequest + { + public static class Types + { + public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount + { + } + } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_trade_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")] + public string OutTradeNumber { get; set; } = string.Empty; + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = string.Empty; + + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonProperty("contract_id")] + [System.Text.Json.Serialization.JsonPropertyName("contract_id")] + public string ContractId { get; set; } = string.Empty; + + /// + /// 获取或设置保单的扣费周期编号。 + /// + [Newtonsoft.Json.JsonProperty("policy_period_id")] + [System.Text.Json.Serialization.JsonPropertyName("policy_period_id")] + public int PolicyPeriodId { get; set; } + + /// + /// 获取或设置回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("transaction_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")] + public string NotifyUrl { get; set; } = string.Empty; + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount Amount { get; set; } = new Types.Amount(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionResponse.cs new file mode 100644 index 00000000..94b5a24a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-pay/transactions/apply 接口的响应。 + /// + public class ApplyPAPayInsurancePayTransactionResponse : WechatTenpayResponse + { + public static class Types + { + public class Amount : GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.Types.Amount + { + } + } + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_trade_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")] + public string OutTradeNumber { get; set; } = default!; + + /// + /// 获取或设置扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount Amount { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Request.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Request.cs new file mode 100644 index 00000000..94f7abd9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Request.cs @@ -0,0 +1,175 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/h5 接口的请求。 + /// + 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 + { + /// + /// 获取或设置跳转应用的 AppId。 + /// + [Newtonsoft.Json.JsonProperty("jump_appid")] + [System.Text.Json.Serialization.JsonPropertyName("jump_appid")] + public string JumpAppId { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("plan_id")] + [System.Text.Json.Serialization.JsonPropertyName("plan_id")] + public long PlanId { get; set; } + + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonProperty("out_contract_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_contract_code")] + public string OutContractCode { get; set; } = string.Empty; + + /// + /// 获取或设置用户唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置被保人的展示名称。 + /// + [Newtonsoft.Json.JsonProperty("insured_display_name")] + [System.Text.Json.Serialization.JsonPropertyName("insured_display_name")] + public string InsuredDisplayAccount { get; set; } = string.Empty; + + /// + /// 获取或设置签约结果回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("contract_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("contract_notify_url")] + public string ContractNotifyUrl { get; set; } = string.Empty; + + /// + /// 获取或设置商户侧用户标识。 + /// + [Newtonsoft.Json.JsonProperty("out_user_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_user_code")] + public string? OutUserCode { get; set; } + + /// + /// 获取或设置保险保单的开始日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("policy_start_date")] + [System.Text.Json.Serialization.JsonPropertyName("policy_start_date")] + public string PolicyStartDateString { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的结束日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("policy_end_date")] + [System.Text.Json.Serialization.JsonPropertyName("policy_end_date")] + public string PolicyEndDateString { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的扣费周期列表。 + /// + [Newtonsoft.Json.JsonProperty("policy_periods")] + [System.Text.Json.Serialization.JsonPropertyName("policy_periods")] + public IList? PolicyPeriodList { get; set; } + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_trade_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")] + public string? OutTradeNumber { get; set; } + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// 获取或设置扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount? Amount { get; set; } + + /// + /// 获取或设置支付结果回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("transaction_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")] + public string? TransactionNotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置是否自动续保。 + /// + [Newtonsoft.Json.JsonProperty("can_auto_insure")] + [System.Text.Json.Serialization.JsonPropertyName("can_auto_insure")] + public bool? CanAutoInsure { get; set; } + + /// + /// 获取或设置是否自动重新投保。 + /// + [Newtonsoft.Json.JsonProperty("can_auto_reinsure")] + [System.Text.Json.Serialization.JsonPropertyName("can_auto_reinsure")] + public bool? CanAutoReinsure { get; set; } + + /// + /// 获取或设置用户实名信息。 + /// + [Newtonsoft.Json.JsonProperty("real_identity")] + [System.Text.Json.Serialization.JsonPropertyName("real_identity")] + public Types.RealIdentity? RealIdentity { get; set; } + + /// + /// 获取或设置跳转控制信息。 + /// + [Newtonsoft.Json.JsonProperty("jump_control")] + [System.Text.Json.Serialization.JsonPropertyName("jump_control")] + public Types.JumpControl? JumpControl { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Response.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Response.cs new file mode 100644 index 00000000..c6cd4f14 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Response.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/h5 接口的响应。 + /// + public class PresignPAPayInsuranceSignContractEntrustH5Response : WechatTenpayResponse + { + /// + /// 获取或设置跳转 URL。 + /// + [Newtonsoft.Json.JsonProperty("redirect_url")] + [System.Text.Json.Serialization.JsonPropertyName("redirect_url")] + public string RedirectUrl { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiRequest.cs new file mode 100644 index 00000000..c6e5b4bb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiRequest.cs @@ -0,0 +1,217 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/jsapi 接口的请求。 + /// + [WechatTenpaySensitive] + public class PresignPAPayInsuranceSignContractEntrustJsapiRequest : WechatTenpayRequest + { + public static class Types + { + public class Amount + { + /// + /// 获取或设置金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("total")] + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int Total { get; set; } + + /// + /// 获取或设置货币类型。 + /// + [Newtonsoft.Json.JsonProperty("currency")] + [System.Text.Json.Serialization.JsonPropertyName("currency")] + public string? Currency { get; set; } + } + + public class PolicyPeriod + { + /// + /// 获取或设置保险扣费周期编号。 + /// + [Newtonsoft.Json.JsonProperty("policy_period_id")] + [System.Text.Json.Serialization.JsonPropertyName("policy_period_id")] + public int PolicyPeriodId { get; set; } + + /// + /// 获取或设置保险扣费周期编号。 + /// + [Newtonsoft.Json.JsonProperty("estimated_deduct_date")] + [System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_date")] + public string EstimatedDeductDateString { get; set; } = string.Empty; + + /// + /// 获取或设置预计扣费金额信息。 + /// + [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 + { + /// + /// 获取或设置实名验证类型。 + /// 默认值:"ID_CARD" + /// + [Newtonsoft.Json.JsonProperty("identity_type")] + [System.Text.Json.Serialization.JsonPropertyName("identity_type")] + public string IdentityType { get; set; } = "ID_CARD"; + + /// + /// 获取或设置真实姓名(需使用平台公钥/证书加密)。 + /// + [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; + + /// + /// 获取或设置身份证号码(需使用平台公钥/证书加密)。 + /// + [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; + } + } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("plan_id")] + [System.Text.Json.Serialization.JsonPropertyName("plan_id")] + public long PlanId { get; set; } + + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonProperty("out_contract_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_contract_code")] + public string OutContractCode { get; set; } = string.Empty; + + /// + /// 获取或设置用户唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置被保人的展示名称。 + /// + [Newtonsoft.Json.JsonProperty("insured_display_name")] + [System.Text.Json.Serialization.JsonPropertyName("insured_display_name")] + public string InsuredDisplayAccount { get; set; } = string.Empty; + + /// + /// 获取或设置签约结果回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("contract_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("contract_notify_url")] + public string ContractNotifyUrl { get; set; } = string.Empty; + + /// + /// 获取或设置商户侧用户标识。 + /// + [Newtonsoft.Json.JsonProperty("out_user_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_user_code")] + public string? OutUserCode { get; set; } + + /// + /// 获取或设置保险保单的开始日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("policy_start_date")] + [System.Text.Json.Serialization.JsonPropertyName("policy_start_date")] + public string PolicyStartDateString { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的结束日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("policy_end_date")] + [System.Text.Json.Serialization.JsonPropertyName("policy_end_date")] + public string PolicyEndDateString { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的扣费周期列表。 + /// + [Newtonsoft.Json.JsonProperty("policy_periods")] + [System.Text.Json.Serialization.JsonPropertyName("policy_periods")] + public IList? PolicyPeriodList { get; set; } + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_trade_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")] + public string? OutTradeNumber { get; set; } + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// 获取或设置扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount? Amount { get; set; } + + /// + /// 获取或设置支付结果回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("transaction_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")] + public string? TransactionNotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置是否自动续保。 + /// + [Newtonsoft.Json.JsonProperty("can_auto_insure")] + [System.Text.Json.Serialization.JsonPropertyName("can_auto_insure")] + public bool? CanAutoInsure { get; set; } + + /// + /// 获取或设置是否自动重新投保。 + /// + [Newtonsoft.Json.JsonProperty("can_auto_reinsure")] + [System.Text.Json.Serialization.JsonPropertyName("can_auto_reinsure")] + public bool? CanAutoReinsure { get; set; } + + /// + /// 获取或设置用户实名信息。 + /// + [Newtonsoft.Json.JsonProperty("real_identity")] + [System.Text.Json.Serialization.JsonPropertyName("real_identity")] + public Types.RealIdentity? RealIdentity { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiResponse.cs new file mode 100644 index 00000000..827e8606 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/jsapi 接口的响应。 + /// + public class PresignPAPayInsuranceSignContractEntrustJsapiResponse : WechatTenpayResponse + { + /// + /// 获取或设置跳转 URL。 + /// + [Newtonsoft.Json.JsonProperty("redirect_url")] + [System.Text.Json.Serialization.JsonPropertyName("redirect_url")] + public string RedirectUrl { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramRequest.cs new file mode 100644 index 00000000..f816a0bd --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramRequest.cs @@ -0,0 +1,158 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/mini-program 接口的请求。 + /// + 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 + { + } + } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("plan_id")] + [System.Text.Json.Serialization.JsonPropertyName("plan_id")] + public long PlanId { get; set; } + + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonProperty("out_contract_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_contract_code")] + public string OutContractCode { get; set; } = string.Empty; + + /// + /// 获取或设置用户唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置被保人的展示名称。 + /// + [Newtonsoft.Json.JsonProperty("insured_display_name")] + [System.Text.Json.Serialization.JsonPropertyName("insured_display_name")] + public string InsuredDisplayAccount { get; set; } = string.Empty; + + /// + /// 获取或设置签约结果回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("contract_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("contract_notify_url")] + public string ContractNotifyUrl { get; set; } = string.Empty; + + /// + /// 获取或设置商户侧用户标识。 + /// + [Newtonsoft.Json.JsonProperty("out_user_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_user_code")] + public string? OutUserCode { get; set; } + + /// + /// 获取或设置保险保单的开始日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("policy_start_date")] + [System.Text.Json.Serialization.JsonPropertyName("policy_start_date")] + public string PolicyStartDateString { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的结束日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("policy_end_date")] + [System.Text.Json.Serialization.JsonPropertyName("policy_end_date")] + public string PolicyEndDateString { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的扣费周期列表。 + /// + [Newtonsoft.Json.JsonProperty("policy_periods")] + [System.Text.Json.Serialization.JsonPropertyName("policy_periods")] + public IList? PolicyPeriodList { get; set; } + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_trade_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")] + public string? OutTradeNumber { get; set; } + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// 获取或设置扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount? Amount { get; set; } + + /// + /// 获取或设置支付结果回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("transaction_notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_notify_url")] + public string? TransactionNotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置是否自动续保。 + /// + [Newtonsoft.Json.JsonProperty("can_auto_insure")] + [System.Text.Json.Serialization.JsonPropertyName("can_auto_insure")] + public bool? CanAutoInsure { get; set; } + + /// + /// 获取或设置是否自动重新投保。 + /// + [Newtonsoft.Json.JsonProperty("can_auto_reinsure")] + [System.Text.Json.Serialization.JsonPropertyName("can_auto_reinsure")] + public bool? CanAutoReinsure { get; set; } + + /// + /// 获取或设置用户实名信息。 + /// + [Newtonsoft.Json.JsonProperty("real_identity")] + [System.Text.Json.Serialization.JsonPropertyName("real_identity")] + public Types.RealIdentity? RealIdentity { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramResponse.cs new file mode 100644 index 00000000..a737f841 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/pre-entrust-sign/mini-program 接口的响应。 + /// + public class PresignPAPayInsuranceSignContractEntrustMiniProgramResponse : WechatTenpayResponse + { + /// + /// 获取或设置预签约会话 ID。 + /// + [Newtonsoft.Json.JsonProperty("pre_entrustweb_id")] + [System.Text.Json.Serialization.JsonPropertyName("pre_entrustweb_id")] + public string PresignSessionId { get; set; } = default!; + + /// + /// 获取或设置跳转小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("redirect_appid")] + [System.Text.Json.Serialization.JsonPropertyName("redirect_appid")] + public string RedirectAppId { get; set; } = default!; + + /// + /// 获取或设置跳转小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("redirect_path")] + [System.Text.Json.Serialization.JsonPropertyName("redirect_path")] + public string RedirectPagePath { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeRequest.cs new file mode 100644 index 00000000..ab3c29bb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的请求。 + /// + public class GetPAPayInsuranceSignContractByOutContractCodeRequest : WechatTenpayRequest + { + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutContractCode { get; set; } = string.Empty; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public long PlanId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeResponse.cs new file mode 100644 index 00000000..a76869fb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeResponse.cs @@ -0,0 +1,127 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的响应。 + /// + public class GetPAPayInsuranceSignContractByOutContractCodeResponse : WechatTenpayResponse + { + public static class Types + { + public class Termination + { + /// + /// 获取或设置解约时间。 + /// + [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; } + + /// + /// 获取或设置解约方式。 + /// + [Newtonsoft.Json.JsonProperty("contract_termination_mode")] + [System.Text.Json.Serialization.JsonPropertyName("contract_termination_mode")] + public string TerminationMode { get; set; } = default!; + + /// + /// 获取或设置解约备注。 + /// + [Newtonsoft.Json.JsonProperty("contract_termination_remark")] + [System.Text.Json.Serialization.JsonPropertyName("contract_termination_remark")] + public string TerminationRemark { get; set; } = default!; + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("plan_id")] + [System.Text.Json.Serialization.JsonPropertyName("plan_id")] + public long PlanId { get; set; } + + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonProperty("out_contract_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_contract_code")] + public string OutContractCode { get; set; } = default!; + + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonProperty("contract_id")] + [System.Text.Json.Serialization.JsonPropertyName("contract_id")] + public string ContractId { get; set; } = default!; + + /// + /// 获取或设置协议状态。 + /// + [Newtonsoft.Json.JsonProperty("contract_state")] + [System.Text.Json.Serialization.JsonPropertyName("contract_state")] + public string ContractState { get; set; } = default!; + + /// + /// 获取或设置签署时间。 + /// + [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; } + + /// + /// 获取或设置到期时间。 + /// + [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; } + + /// + /// 获取或设置用户唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置被保人姓名。 + /// + [Newtonsoft.Json.JsonProperty("insured_display_name")] + [System.Text.Json.Serialization.JsonPropertyName("insured_display_name")] + public string InsuredDisplayAccount { get; set; } = default!; + + /// + /// 获取或设置商户侧用户标识。 + /// + [Newtonsoft.Json.JsonProperty("out_user_code")] + [System.Text.Json.Serialization.JsonPropertyName("out_user_code")] + public string? OutUserCode { get; set; } + + /// + /// 获取或设置解约信息。 + /// + [Newtonsoft.Json.JsonProperty("contract_terminate_info")] + [System.Text.Json.Serialization.JsonPropertyName("contract_terminate_info")] + public Types.Termination? Termination { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsRequest.cs new file mode 100644 index 00000000..3ada0627 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsRequest.cs @@ -0,0 +1,37 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/insurance-sign/policy_periods/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的请求。 + /// + public class QueryPAPayInsuranceSignPolicyPeriodsRequest : WechatTenpayRequest + { + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public long PlanId { get; set; } + + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutContractCode { get; set; } = string.Empty; + + /// + /// 获取或设置分页大小。 + /// 默认值:20 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int Limit { get; set; } = 20; + + /// + /// 获取或设置分页开始位置。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int Offset { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsResponse.cs new file mode 100644 index 00000000..2e6c3f06 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsResponse.cs @@ -0,0 +1,99 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/insurance-sign/policy_periods/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的响应。 + /// + public class QueryPAPayInsuranceSignPolicyPeriodsResponse : WechatTenpayResponse + { + public static class Types + { + public class PolicyPeriod + { + public static class Types + { + public class Amount : GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.Types.Amount + { + } + } + + /// + /// 获取或设置保险扣费周期编号。 + /// + [Newtonsoft.Json.JsonProperty("policy_period_id")] + [System.Text.Json.Serialization.JsonPropertyName("policy_period_id")] + public int PolicyPeriodId { get; set; } + + /// + /// 获取或设置保险扣费周期编号。 + /// + [Newtonsoft.Json.JsonProperty("estimated_deduct_date")] + [System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_date")] + public string EstimatedDeductDateString { get; set; } = default!; + + /// + /// 获取或设置预计扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("estimated_deduct_amount")] + [System.Text.Json.Serialization.JsonPropertyName("estimated_deduct_amount")] + public Types.Amount EstimatedDeductAmount { get; set; } = default!; + + /// + /// 获取或设置扣费周期预约状态。 + /// + [Newtonsoft.Json.JsonProperty("policy_period_state")] + [System.Text.Json.Serialization.JsonPropertyName("policy_period_state")] + public string PolicyPeriodState { get; set; } = default!; + + /// + /// 获取或设置已预约的扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("scheduled_amount")] + [System.Text.Json.Serialization.JsonPropertyName("scheduled_amount")] + public Types.Amount? ScheduledAmount { get; set; } + + /// + /// 获取或设置实际扣费金额信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_amount")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_amount")] + public Types.Amount? DeductAmount { get; set; } + + /// + /// 获取或设置实际扣费日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("deduct_date")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_date")] + public string? DeductDateString { get; set; } + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.PolicyPeriod[] PolicyPeriodList { get; set; } = default!; + + /// + /// 获取或设置记录总数。 + /// + [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; } + + /// + /// 获取或设置分页大小。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int Limit { get; set; } + + /// + /// 获取或设置分页开始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int Offset { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractRequest.cs new file mode 100644 index 00000000..fcf29a0d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractRequest.cs @@ -0,0 +1,49 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/contract-id/{contract_id}/renew 接口的请求。 + /// + public class RenewPAPayInsuranceSignContractRequest : WechatTenpayRequest + { + public static class Types + { + public class Amount : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.Amount + { + } + + public class PolicyPeriod : PresignPAPayInsuranceSignContractEntrustJsapiRequest.Types.PolicyPeriod + { + } + } + + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ContractId { get; set; } = string.Empty; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public long PlanId { get; set; } + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置保险保单的扣费周期列表。 + /// + [Newtonsoft.Json.JsonProperty("policy_periods")] + [System.Text.Json.Serialization.JsonPropertyName("policy_periods")] + public IList? PolicyPeriodList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractResponse.cs new file mode 100644 index 00000000..a122582a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/contract-id/{contract_id}/renew 接口的响应。 + /// + public class RenewPAPayInsuranceSignContractResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractRequest.cs new file mode 100644 index 00000000..98dae381 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口的请求。 + /// + public class TerminatePAPayInsuranceSignContractRequest : WechatTenpayRequest + { + /// + /// 获取或设置商户签约协议号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutContractCode { get; set; } = string.Empty; + + /// + /// 获取或设置模板 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public long PlanId { get; set; } + + /// + /// 获取或设置解约备注。 + /// + [Newtonsoft.Json.JsonProperty("contract_termination_remark")] + [System.Text.Json.Serialization.JsonPropertyName("contract_termination_remark")] + public string TerminationRemark { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractResponse.cs new file mode 100644 index 00000000..78082d28 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/insurance-sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口的响应。 + /// + public class TerminatePAPayInsuranceSignContractResponse : GetPAPayInsuranceSignContractByOutContractCodeResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs index f59ff283..399cadfd 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs @@ -31,6 +31,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [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(); } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayInsuranceEntrustResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayInsuranceEntrustResource.json new file mode 100644 index 00000000..6b000ba6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayInsuranceEntrustResource.json @@ -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 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleRequest.json new file mode 100644 index 00000000..c5ce3cce --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleRequest.json @@ -0,0 +1,7 @@ +{ + "appid": "wxd678efh567hg6787", + "scheduled_amount": { + "total": 1, + "currency": "CNY" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleResponse.json new file mode 100644 index 00000000..6a454028 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/CreatePAPayInsurancePayPolicyPeriodScheduleResponse.json @@ -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" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.json new file mode 100644 index 00000000..6a454028 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayPolicyPeriods/GetPAPayInsurancePayPolicyPeriodByPolicyPeriodIdResponse.json @@ -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" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionRequest.json new file mode 100644 index 00000000..0507d0e8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionRequest.json @@ -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": "自定义数据" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionResponse.json new file mode 100644 index 00000000..b00f2f76 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsurancePayTransactions/ApplyPAPayInsurancePayTransactionResponse.json @@ -0,0 +1,7 @@ +{ + "out_trade_no": "1217752501201407033233368018", + "amount": { + "total": 1, + "currency": "CNY" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Request.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Request.json new file mode 100644 index 00000000..8612f324 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Request.json @@ -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" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Response.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Response.json new file mode 100644 index 00000000..9649bd25 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustH5Response.json @@ -0,0 +1,3 @@ +{ + "redirect_url": "https://www.xxx.com/xxxtemplate?session_id=wx12334" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiRequest.json new file mode 100644 index 00000000..b4ed0089 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiRequest.json @@ -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" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiResponse.json new file mode 100644 index 00000000..c2b3f00c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustJsapiResponse.json @@ -0,0 +1,3 @@ +{ + "redirect_url": "https://www.xxx.com?pre_entrust_id=wx12334" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramRequest.json new file mode 100644 index 00000000..b4ed0089 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramRequest.json @@ -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" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramResponse.json new file mode 100644 index 00000000..baa0ec81 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSign/PresignPAPayInsuranceSignContractEntrustMiniProgramResponse.json @@ -0,0 +1,5 @@ +{ + "pre_entrustweb_id": "5778aadY9nltAsZzXixCkFIGYnV2V", + "redirect_appid": "wxbd687630cd02ce1d", + "redirect_path": "pages/PwdExemptContract/index" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeResponse.json new file mode 100644 index 00000000..6e44d657 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/GetPAPayInsuranceSignContractByOutContractCodeResponse.json @@ -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" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsResponse.json new file mode 100644 index 00000000..fe2d48f4 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/QueryPAPayInsuranceSignPolicyPeriodsResponse.json @@ -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 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractRequest.json new file mode 100644 index 00000000..692adccb --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/RenewPAPayInsuranceSignContractRequest.json @@ -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" + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractRequest.json new file mode 100644 index 00000000..4394aed8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractRequest.json @@ -0,0 +1,3 @@ +{ + "contract_termination_remark": "用户解约" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractResponse.json new file mode 100644 index 00000000..6e44d657 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/InsuranceSignContracts/TerminatePAPayInsuranceSignContractResponse.json @@ -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" +}