From ddd8078ec980a50fa8f9cb4ca37a87b5c5047363 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Tue, 7 May 2024 15:25:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenpayv3):=20=E6=96=B0=E5=A2=9E=E7=9B=B4?= =?UTF-8?q?=E8=BF=9E=E5=95=86=E6=88=B7=E5=A7=94=E6=89=98=E4=BB=A3=E6=89=A3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/WechatTenpayV3/Basic_ModelDefinition.md | 2 +- .../Events/PAPay/PAPayEntrustResource.cs | 117 ++++++++++ .../Transactions/TransactionResource.cs | 3 +- .../Ecommerce/EcommerceEntrustResource.cs | 2 +- .../Events/PAPay/PAPayContractResource.cs | 2 +- ...etPAPayContractByOutContractCodeRequest.cs | 2 +- ...tPAPayContractByOutContractCodeResponse.cs | 2 +- .../PresignPAPayContractEntrustAppRequest.cs | 2 +- .../PresignPAPayContractEntrustAppResponse.cs | 2 +- ...PAPayContractEntrustMiniProgramResponse.cs | 2 +- ...echatTenpayClientExecutePAPayExtensions.cs | 210 +++++++++++++++++- ...npayClientExecutePartnerPAPayExtensions.cs | 4 +- .../PresignEducationPAPayContractRequest.cs | 4 +- ...CreatePAPayContractNotificationRequest.cs} | 2 +- ...reatePAPayContractNotificationResponse.cs} | 2 +- ...APayPaySchedulesContractScheduleRequest.cs | 36 +++ ...PayPaySchedulesContractScheduleResponse.cs | 9 + ...PaySchedulesContractByContractIdRequest.cs | 15 ++ ...aySchedulesContractByContractIdResponse.cs | 70 ++++++ .../ApplyPAPayPayTransactionRequest.cs | 71 ++++++ .../ApplyPAPayPayTransactionResponse.cs | 29 +++ ...uledDeductSignContractEntrustAppRequest.cs | 111 +++++++++ ...ledDeductSignContractEntrustAppResponse.cs | 15 ++ ...duledDeductSignContractEntrustH5Request.cs | 94 ++++++++ ...uledDeductSignContractEntrustH5Response.cs | 15 ++ ...edDeductSignContractEntrustJsapiRequest.cs | 77 +++++++ ...dDeductSignContractEntrustJsapiResponse.cs | 15 ++ ...ctSignContractEntrustMiniProgramRequest.cs | 77 +++++++ ...tSignContractEntrustMiniProgramResponse.cs | 29 +++ ...PaySignContractByOutContractCodeRequest.cs | 22 ++ ...aySignContractByOutContractCodeResponse.cs | 186 ++++++++++++++++ .../TerminatePAPaySignContractRequest.cs | 29 +++ .../TerminatePAPaySignContractResponse.cs | 9 + ...nePAPayContractByOutContractCodeRequest.cs | 2 +- ...ePAPayContractByOutContractCodeResponse.cs | 4 +- ...ceCombinePAPayContractEntrustAppRequest.cs | 2 +- ...eCombinePAPayContractEntrustAppResponse.cs | 4 +- ...ateEcommerceCombinePAPayContractRequest.cs | 2 +- ...teEcommerceCombinePAPayContractResponse.cs | 2 +- ...ateEducationSchoolPayTransactionRequest.cs | 4 +- ...resignEducationSchoolPayContractRequest.cs | 4 +- ...artnerPAPayContractNotificationRequest.cs} | 4 +- ...rtnerPAPayContractNotificationResponse.cs} | 2 +- .../_/PAPay/PAPayEntrustResource.json | 30 +++ ...eatePAPayContractNotificationRequest.json} | 0 ...ayPaySchedulesContractScheduleRequest.json | 7 + ...yPaySchedulesContractScheduleResponse.json | 14 ++ ...SchedulesContractByContractIdResponse.json | 14 ++ .../ApplyPAPayPayTransactionRequest.json | 13 ++ .../ApplyPAPayPayTransactionResponse.json | 7 + ...edDeductSignContractEntrustAppRequest.json | 17 ++ ...dDeductSignContractEntrustAppResponse.json | 3 + ...ledDeductSignContractEntrustH5Request.json | 20 ++ ...edDeductSignContractEntrustH5Response.json | 3 + ...DeductSignContractEntrustJsapiRequest.json | 17 ++ ...eductSignContractEntrustJsapiResponse.json | 3 + ...SignContractEntrustMiniProgramRequest.json | 17 ++ ...ignContractEntrustMiniProgramResponse.json | 5 + ...SignContractByOutContractCodeResponse.json | 35 +++ .../TerminatePAPaySignContractRequest.json | 3 + .../TerminatePAPaySignContractResponse.json | 35 +++ ...tnerPAPayContractNotificationRequest.json} | 0 62 files changed, 1508 insertions(+), 32 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs rename src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/{NotifyPAPayContractRequest.cs => CreatePAPayContractNotificationRequest.cs} (96%) rename src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/{NotifyPAPayContractResponse.cs => CreatePAPayContractNotificationResponse.cs} (71%) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PayTransactions/ApplyPAPayPayTransactionRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractResponse.cs rename src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/{NotifyPartnerPAPayContractRequest.cs => CreatePartnerPAPayContractNotificationRequest.cs} (92%) rename src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/{NotifyPartnerPAPayContractResponse.cs => CreatePartnerPAPayContractNotificationResponse.cs} (70%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayEntrustResource.json rename test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/{NotifyPAPayContractRequest.json => CreatePAPayContractNotificationRequest.json} (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractResponse.json rename test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PAPay/{NotifyPartnerPAPayContractRequest.json => CreatePartnerPAPayContractNotificationRequest.json} (100%) diff --git a/docs/WechatTenpayV3/Basic_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md index 617d180f..6c7abd7a 100644 --- a/docs/WechatTenpayV3/Basic_ModelDefinition.md +++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md @@ -520,7 +520,7 @@ - 扣款服务 - - 预扣费通知:`NotifyPAPayContract` + - 预扣费通知:`CreatePAPayContractNotification` - 代扣服务切卡组件 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs new file mode 100644 index 00000000..97039ac9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/PAPay/PAPayEntrustResource.cs @@ -0,0 +1,117 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events +{ + /// + /// 表示委托代扣 ENTRUST.SIGN 通知的数据。 + /// 表示委托代扣 ENTRUST.TERMINATE 通知的数据。 + /// + public class PAPayEntrustResource : WechatTenpayEvent.Types.IDecryptedResource + { + public static class Types + { + public class Termination : Models.GetPAPaySignContractByOutContractCodeResponse.Types.Termination + { + } + + public class DeductSchedule : Models.GetPAPaySignContractByOutContractCodeResponse.Types.DeductSchedule + { + } + } + + /// + /// 获取或设置微信商户号。 + /// + [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("contract_display_account")] + [System.Text.Json.Serialization.JsonPropertyName("contract_display_account")] + public string ContractDisplayAccount { 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; } + + /// + /// 获取或设置预约扣费场景的预约信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_schedule")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_schedule")] + public Types.DeductSchedule? DeductSchedule { 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 63429dfd..f0978aa7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs @@ -11,7 +11,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events ///
///
///
- /// + ///
+ /// /// /// public class TransactionResource : WechatTenpayEvent.Types.IDecryptedResource diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Ecommerce/EcommerceEntrustResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Ecommerce/EcommerceEntrustResource.cs index ba070955..2b0c733a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Ecommerce/EcommerceEntrustResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Ecommerce/EcommerceEntrustResource.cs @@ -56,7 +56,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置用户唯一标识。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Events/PAPay/PAPayContractResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Events/PAPay/PAPayContractResource.cs index e21e18a4..d17f314e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Events/PAPay/PAPayContractResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Events/PAPay/PAPayContractResource.cs @@ -41,7 +41,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Events /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置用户唯一标识。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeRequest.cs index c9dd591d..93df1324 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeRequest.cs @@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户侧签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeResponse.cs index 3456c0e3..e257b630 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/GetPAPayContractByOutContractCodeResponse.cs @@ -26,7 +26,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户侧签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppRequest.cs index 773aab28..d5bd3ac2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppRequest.cs @@ -19,7 +19,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户侧签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppResponse.cs index c56cc492..f1b1b041 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustAppResponse.cs @@ -10,6 +10,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models /// [Newtonsoft.Json.JsonProperty("session_id")] [System.Text.Json.Serialization.JsonPropertyName("session_id")] - public string SessionId { get; set; } = default!; + public string PresignSessionId { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustMiniProgramResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustMiniProgramResponse.cs index fd1e8202..6b21eaef 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustMiniProgramResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/ExtendedSDK/Global/Models/PAPay/PresignPAPayContractEntrustMiniProgramResponse.cs @@ -10,6 +10,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.ExtendedSDK.Global.Models /// [Newtonsoft.Json.JsonProperty("session_id")] [System.Text.Json.Serialization.JsonPropertyName("session_id")] - public string SessionId { get; set; } = default!; + public string PresignSessionId { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs index 9ecffaad..bd1d6d9e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePAPayExtensions.cs @@ -19,7 +19,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// /// /// - public static async Task ExecuteNotifyPAPayContractAsync(this WechatTenpayClient client, Models.NotifyPAPayContractRequest request, CancellationToken cancellationToken = default) + public static async Task ExecuteCreatePAPayContractNotificationAsync(this WechatTenpayClient client, Models.CreatePAPayContractNotificationRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); @@ -30,7 +30,213 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 IFlurlRequest flurlReq = client .CreateFlurlRequest(request, HttpMethod.Post, "papay", "contracts", request.ContractId, "notify"); - return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + + #region PaySchedules + /// + /// 异步调用 [GET] /papay/pay/schedules/contract-id/{contract_id} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetPAPayPaySchedulesContractByContractIdAsync(this WechatTenpayClient client, Models.GetPAPayPaySchedulesContractByContractIdRequest 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", "pay", "schedules", "contract-id", request.ContractId); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/pay/schedules/contract-id/{contract_id}/schedule 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCreatePAPayPaySchedulesContractScheduleAsync(this WechatTenpayClient client, Models.CreatePAPayPaySchedulesContractScheduleRequest 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", "pay", "schedules", "contract-id", request.ContractId, "schedule"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region PayTransactions + /// + /// 异步调用 [POST] /papay/pay/transactions/apply 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteApplyPAPayPayTransactionAsync(this WechatTenpayClient client, Models.ApplyPAPayPayTransactionRequest 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", "pay", "transactions", "apply"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region ScheduledDeductSign + /// + /// 异步调用 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/app 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecutePresignPAPayScheduledDeductSignContractEntrustAppAsync(this WechatTenpayClient client, Models.PresignPAPayScheduledDeductSignContractEntrustAppRequest 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", "scheduled-deduct-sign", "contracts", "pre-entrust-sign", "app"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/h5 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecutePresignPAPayScheduledDeductSignContractEntrustH5Async(this WechatTenpayClient client, Models.PresignPAPayScheduledDeductSignContractEntrustH5Request 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", "scheduled-deduct-sign", "contracts", "pre-entrust-sign", "h5"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/jsapi 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecutePresignPAPayScheduledDeductSignContractEntrustJsapiAsync(this WechatTenpayClient client, Models.PresignPAPayScheduledDeductSignContractEntrustJsapiRequest 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", "scheduled-deduct-sign", "contracts", "pre-entrust-sign", "jsapi"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/mini-program 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecutePresignPAPayScheduledDeductSignContractEntrustMiniProgramAsync(this WechatTenpayClient client, Models.PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest 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", "scheduled-deduct-sign", "contracts", "pre-entrust-sign", "mini-program"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region SignContracts + /// + /// 异步调用 [GET] /papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetPAPaySignContractByOutContractCodeAsync(this WechatTenpayClient client, Models.GetPAPaySignContractByOutContractCodeRequest 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", "sign", "contracts", "plan-id", request.PlanId, "out-contract-code", request.OutContractCode); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteTerminatePAPaySignContractAsync(this WechatTenpayClient client, Models.TerminatePAPaySignContractRequest 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", "sign", "contracts", "plan-id", request.PlanId, "out-contract-code", request.OutContractCode, "terminate"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerPAPayExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerPAPayExtensions.cs index dce84d25..165549f6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerPAPayExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerPAPayExtensions.cs @@ -19,7 +19,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// /// /// - public static async Task ExecuteNotifyPartnerPAPayContractAsync(this WechatTenpayClient client, Models.NotifyPartnerPAPayContractRequest request, CancellationToken cancellationToken = default) + public static async Task ExecuteCreatePartnerPAPayContractNotificationAsync(this WechatTenpayClient client, Models.CreatePartnerPAPayContractNotificationRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); @@ -30,7 +30,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 IFlurlRequest flurlReq = client .CreateFlurlRequest(request, HttpMethod.Post, "partner-papay", "contracts", request.ContractId, "notify"); - return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EducationPAPay/PresignEducationPAPayContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EducationPAPay/PresignEducationPAPayContractRequest.cs index 4dde8cf3..12c3847e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EducationPAPay/PresignEducationPAPayContractRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EducationPAPay/PresignEducationPAPayContractRequest.cs @@ -27,11 +27,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string OpenId { get; set; } = string.Empty; /// - /// 获取或设置商户用户账号。 + /// 获取或设置商户用户账号标识。 /// [Newtonsoft.Json.JsonProperty("user_id")] [System.Text.Json.Serialization.JsonPropertyName("user_id")] - public string UserDisplayId { get; set; } = string.Empty; + public string OutUserId { get; set; } = string.Empty; /// /// 获取或设置首次扣款日期字符串(格式:yyyy-MM-dd)。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/NotifyPAPayContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/CreatePAPayContractNotificationRequest.cs similarity index 96% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/NotifyPAPayContractRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/CreatePAPayContractNotificationRequest.cs index 6c6d1d6a..2173f926 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/NotifyPAPayContractRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/CreatePAPayContractNotificationRequest.cs @@ -3,7 +3,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /papay/contracts/{contract_id}/notify 接口的请求。 /// - public class NotifyPAPayContractRequest : WechatTenpayRequest + public class CreatePAPayContractNotificationRequest : WechatTenpayRequest { public static class Types { diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/NotifyPAPayContractResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/CreatePAPayContractNotificationResponse.cs similarity index 71% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/NotifyPAPayContractResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/CreatePAPayContractNotificationResponse.cs index f6082ba7..99be16e2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/NotifyPAPayContractResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/CreatePAPayContractNotificationResponse.cs @@ -3,7 +3,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /papay/contracts/{contract_id}/notify 接口的响应。 /// - public class NotifyPAPayContractResponse : WechatTenpayResponse + public class CreatePAPayContractNotificationResponse : WechatTenpayResponse { } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs new file mode 100644 index 00000000..f59ff283 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/pay/schedules/contract-id/{contract_id}/schedule 接口的请求。 + /// + public class CreatePAPayPaySchedulesContractScheduleRequest : WechatTenpayRequest + { + public static class Types + { + public class Amount : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule.Types.Amount + { + } + } + + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ContractId { get; set; } = string.Empty; + + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置预约的金额信息。 + /// + [Newtonsoft.Json.JsonProperty("schedule_amount")] + [System.Text.Json.Serialization.JsonPropertyName("schedule_amount")] + public Types.Amount ScheduleAmount { get; set; } = new Types.Amount(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.cs new file mode 100644 index 00000000..b45c4320 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/pay/schedules/contract-id/{contract_id}/schedule 接口的响应。 + /// + public class CreatePAPayPaySchedulesContractScheduleResponse : GetPAPayPaySchedulesContractByContractIdResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdRequest.cs new file mode 100644 index 00000000..37fa98ca --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/pay/schedules/contract-id/{contract_id} 接口的请求。 + /// + public class GetPAPayPaySchedulesContractByContractIdRequest : WechatTenpayRequest + { + /// + /// 获取或设置委托代扣签约协议 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ContractId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.cs new file mode 100644 index 00000000..d1f54a3a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.cs @@ -0,0 +1,70 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/pay/schedules/contract-id/{contract_id} 接口的响应。 + /// + public class GetPAPayPaySchedulesContractByContractIdResponse : 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("schedule_state")] + [System.Text.Json.Serialization.JsonPropertyName("schedule_state")] + public string ScheduleState { 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/PayTransactions/ApplyPAPayPayTransactionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PayTransactions/ApplyPAPayPayTransactionRequest.cs new file mode 100644 index 00000000..9de420c9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PayTransactions/ApplyPAPayPayTransactionRequest.cs @@ -0,0 +1,71 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/pay/transactions/apply 接口的请求。 + /// + public class ApplyPAPayPayTransactionRequest : WechatTenpayRequest + { + public static class Types + { + public class Amount : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule.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("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/PayTransactions/ApplyPAPayPayTransactionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.cs new file mode 100644 index 00000000..995d405f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/pay/transactions/apply 接口的响应。 + /// + public class ApplyPAPayPayTransactionResponse : WechatTenpayResponse + { + public static class Types + { + public class Amount : GetPAPayPaySchedulesContractByContractIdResponse.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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.cs new file mode 100644 index 00000000..d0d6a390 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.cs @@ -0,0 +1,111 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/app 接口的请求。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustAppRequest : WechatTenpayRequest + { + public static class Types + { + public class DeductSchedule + { + 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; } + } + } + + /// + /// 获取或设置预计扣费的日期字符串(格式:yyyy-MM-dd)。 + /// + [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(); + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { 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("contract_display_account")] + [System.Text.Json.Serialization.JsonPropertyName("contract_display_account")] + public string ContractDisplayAccount { 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; } + + /// + /// 获取或设置预约信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_schedule")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_schedule")] + public Types.DeductSchedule? DeductSchedule { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.cs new file mode 100644 index 00000000..49f7a7ad --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/app 接口的响应。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustAppResponse : WechatTenpayResponse + { + /// + /// 获取或设置预签约会话 ID。 + /// + [Newtonsoft.Json.JsonProperty("pre_entrustweb_id")] + [System.Text.Json.Serialization.JsonPropertyName("pre_entrustweb_id")] + public string PresignSessionId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.cs new file mode 100644 index 00000000..345a5154 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.cs @@ -0,0 +1,94 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/h5 接口的请求。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustH5Request : WechatTenpayRequest + { + public static class Types + { + public class DeductSchedule : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule + { + public static new class Types + { + public class Amount : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule.Types.Amount + { + } + } + } + + 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("contract_display_account")] + [System.Text.Json.Serialization.JsonPropertyName("contract_display_account")] + public string ContractDisplayAccount { 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; } + + /// + /// 获取或设置预约信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_schedule")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_schedule")] + public Types.DeductSchedule? DeductSchedule { 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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.cs new file mode 100644 index 00000000..5e9550af --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/h5 接口的响应。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustH5Response : 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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.cs new file mode 100644 index 00000000..41e1a4a4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.cs @@ -0,0 +1,77 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/jsapi 接口的请求。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustJsapiRequest : WechatTenpayRequest + { + public static class Types + { + public class DeductSchedule : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule + { + public static new class Types + { + public class Amount : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule.Types.Amount + { + } + } + } + } + + /// + /// 获取或设置微信 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("contract_display_account")] + [System.Text.Json.Serialization.JsonPropertyName("contract_display_account")] + public string ContractDisplayAccount { 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; } + + /// + /// 获取或设置预约信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_schedule")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_schedule")] + public Types.DeductSchedule? DeductSchedule { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.cs new file mode 100644 index 00000000..c395fa44 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/jsapi 接口的响应。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustJsapiResponse : 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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.cs new file mode 100644 index 00000000..45ec2298 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.cs @@ -0,0 +1,77 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/mini-program 接口的请求。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest : WechatTenpayRequest + { + public static class Types + { + public class DeductSchedule : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule + { + public static new class Types + { + public class Amount : PresignPAPayScheduledDeductSignContractEntrustAppRequest.Types.DeductSchedule.Types.Amount + { + } + } + } + } + + /// + /// 获取或设置微信 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("contract_display_account")] + [System.Text.Json.Serialization.JsonPropertyName("contract_display_account")] + public string ContractDisplayAccount { 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; } + + /// + /// 获取或设置预约信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_schedule")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_schedule")] + public Types.DeductSchedule? DeductSchedule { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.cs new file mode 100644 index 00000000..2da87fdd --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/scheduled-deduct-sign/contracts/pre-entrust-sign/mini-program 接口的响应。 + /// + public class PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse : 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/SignContracts/GetPAPaySignContractByOutContractCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeRequest.cs new file mode 100644 index 00000000..b6b03a78 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的请求。 + /// + public class GetPAPaySignContractByOutContractCodeRequest : 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/SignContracts/GetPAPaySignContractByOutContractCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeResponse.cs new file mode 100644 index 00000000..3679350c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeResponse.cs @@ -0,0 +1,186 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code} 接口的响应。 + /// + public class GetPAPaySignContractByOutContractCodeResponse : 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!; + } + + public class DeductSchedule + { + public static class Types + { + public class Amount : GetPAPayPaySchedulesContractByContractIdResponse.Types.Amount + { + } + } + + /// + /// 获取或设置预计扣费的日期字符串(格式:yyyy-MM-dd)。 + /// + [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("schedule_state")] + [System.Text.Json.Serialization.JsonPropertyName("schedule_state")] + public string ScheduleState { 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("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("contract_display_account")] + [System.Text.Json.Serialization.JsonPropertyName("contract_display_account")] + public string ContractDisplayAccount { 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; } + + /// + /// 获取或设置预约扣费场景的预约信息。 + /// + [Newtonsoft.Json.JsonProperty("deduct_schedule")] + [System.Text.Json.Serialization.JsonPropertyName("deduct_schedule")] + public Types.DeductSchedule? DeductSchedule { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractRequest.cs new file mode 100644 index 00000000..53ba046f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口的请求。 + /// + public class TerminatePAPaySignContractRequest : 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/SignContracts/TerminatePAPaySignContractResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractResponse.cs new file mode 100644 index 00000000..06dc146d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PAPay/SignContracts/TerminatePAPaySignContractResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}/terminate 接口的响应。 + /// + public class TerminatePAPaySignContractResponse : GetPAPaySignContractByOutContractCodeResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeRequest.cs index d07e6db6..4ae70529 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeRequest.cs @@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户侧签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeResponse.cs index 48e3bcae..7d95170c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/GetEcommerceCombinePAPayContractByOutContractCodeResponse.cs @@ -55,7 +55,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户签约协议号。 @@ -83,7 +83,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("contract_state")] [System.Text.Json.Serialization.JsonPropertyName("contract_state")] - public string State { get; set; } = default!; + public string ContractState { get; set; } = default!; /// /// 获取或设置用户唯一标识。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppRequest.cs index a28649d1..56c96ba0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppRequest.cs @@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppResponse.cs index 7d2ea447..9e8679c9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/PresignEcommerceCombinePAPayContractEntrustAppResponse.cs @@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户签约协议号。 @@ -31,6 +31,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("pre_entrustweb_id")] [System.Text.Json.Serialization.JsonPropertyName("pre_entrustweb_id")] - public string SessionId { get; set; } = default!; + public string PresignSessionId { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractRequest.cs index ba199096..afd377fe 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractRequest.cs @@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户侧签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractResponse.cs index ea7be9d0..47b22df5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Ecommerce/CombinePAPay/TerminateEcommerceCombinePAPayContractResponse.cs @@ -19,7 +19,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] - public int PlanId { get; set; } + public long PlanId { get; set; } /// /// 获取或设置商户签约协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/CreateEducationSchoolPayTransactionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/CreateEducationSchoolPayTransactionRequest.cs index a31eaae8..6f5a923f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/CreateEducationSchoolPayTransactionRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/CreateEducationSchoolPayTransactionRequest.cs @@ -77,11 +77,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string ContractId { get; set; } = string.Empty; /// - /// 获取或设置商户用户账号。 + /// 获取或设置商户用户账号标识。 /// [Newtonsoft.Json.JsonProperty("user_id")] [System.Text.Json.Serialization.JsonPropertyName("user_id")] - public string UserDisplayId { get; set; } = string.Empty; + public string OutUserId { get; set; } = string.Empty; /// /// 获取或设置商户订单号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/PresignEducationSchoolPayContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/PresignEducationSchoolPayContractRequest.cs index e8df0743..79a5299e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/PresignEducationSchoolPayContractRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/EducationSchoolPay/PresignEducationSchoolPayContractRequest.cs @@ -94,11 +94,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string OpenId { get; set; } = string.Empty; /// - /// 获取或设置商户用户账号。 + /// 获取或设置商户用户账号标识。 /// [Newtonsoft.Json.JsonProperty("user_id")] [System.Text.Json.Serialization.JsonPropertyName("user_id")] - public string UserDisplayId { get; set; } = string.Empty; + public string OutUserId { get; set; } = string.Empty; /// /// 获取或设置学校编号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/NotifyPartnerPAPayContractRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/CreatePartnerPAPayContractNotificationRequest.cs similarity index 92% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/NotifyPartnerPAPayContractRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/CreatePartnerPAPayContractNotificationRequest.cs index f469117a..2ffb815e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/NotifyPartnerPAPayContractRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/CreatePartnerPAPayContractNotificationRequest.cs @@ -3,11 +3,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /partner-papay/contracts/{contract_id}/notify 接口的请求。 /// - public class NotifyPartnerPAPayContractRequest : WechatTenpayRequest + public class CreatePartnerPAPayContractNotificationRequest : WechatTenpayRequest { public static class Types { - public class Amount : NotifyPAPayContractRequest.Types.Amount + public class Amount : CreatePAPayContractNotificationRequest.Types.Amount { } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/NotifyPartnerPAPayContractResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/CreatePartnerPAPayContractNotificationResponse.cs similarity index 70% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/NotifyPartnerPAPayContractResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/CreatePartnerPAPayContractNotificationResponse.cs index 1ef02eb9..bcd148b5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/NotifyPartnerPAPayContractResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/PAPay/CreatePartnerPAPayContractNotificationResponse.cs @@ -3,7 +3,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /partner-papay/contracts/{contract_id}/notify 接口的响应。 /// - public class NotifyPartnerPAPayContractResponse : WechatTenpayResponse + public class CreatePartnerPAPayContractNotificationResponse : WechatTenpayResponse { } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayEntrustResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayEntrustResource.json new file mode 100644 index 00000000..f26a02d9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/PAPay/PAPayEntrustResource.json @@ -0,0 +1,30 @@ +{ + "appid": "wxd678efh567hg6787", + "contract_display_account": "微信代扣用户A", + "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", + "deduct_schedule": { + "deduct_amount": { + "currency": "CNY", + "total": 1 + }, + "deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "currency": "CNY", + "total": 1 + }, + "estimated_deduct_date": "2019-11-22", + "schedule_state": "PAID", + "scheduled_amount": { + "currency": "CNY", + "total": 1 + } + }, + "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/NotifyPAPayContractRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/CreatePAPayContractNotificationRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/NotifyPAPayContractRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/CreatePAPayContractNotificationRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.json new file mode 100644 index 00000000..a929f5ab --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleRequest.json @@ -0,0 +1,7 @@ +{ + "appid": "wxd678efh567hg6787", + "schedule_amount": { + "total": 1, + "currency": "CNY" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.json new file mode 100644 index 00000000..bd49fd58 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/CreatePAPayPaySchedulesContractScheduleResponse.json @@ -0,0 +1,14 @@ +{ + "schedule_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/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.json new file mode 100644 index 00000000..bd49fd58 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PaySchedules/GetPAPayPaySchedulesContractByContractIdResponse.json @@ -0,0 +1,14 @@ +{ + "schedule_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/PayTransactions/ApplyPAPayPayTransactionRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionRequest.json new file mode 100644 index 00000000..93e734d4 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionRequest.json @@ -0,0 +1,13 @@ +{ + "appid": "wxd678efh567hg6787", + "out_trade_no": "1217752501201407033233368018", + "description": "Image形象店-深圳腾大-QQ公仔", + "transaction_notify_url": "https://www.qq.com/", + "contract_id": "123124412412423431", + "amount": { + "total": 1, + "currency": "CNY" + }, + "goods_tag": "DISCOUNTS", + "attach": "自定义数据" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.json new file mode 100644 index 00000000..b00f2f76 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/PayTransactions/ApplyPAPayPayTransactionResponse.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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.json new file mode 100644 index 00000000..54697a67 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppRequest.json @@ -0,0 +1,17 @@ +{ + "appid": "wxd678efh567hg6787", + "openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw", + "plan_id": 12535, + "out_contract_code": "wxwtdk20200910100000", + "contract_display_account": "微信代扣用户A", + "contract_notify_url": "https://yourapp.com/notify", + "out_user_code": "用户A", + "deduct_schedule": { + "estimated_deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "total": 1, + "currency": "CNY" + }, + "description": "小乔-碎云皮肤(微信83区沧海之耀)" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.json new file mode 100644 index 00000000..255e0127 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustAppResponse.json @@ -0,0 +1,3 @@ +{ + "pre_entrustweb_id": "5778aadY9nltAsZzXixCkFIGYnV2V" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.json new file mode 100644 index 00000000..3aa7313d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Request.json @@ -0,0 +1,20 @@ +{ + "appid": "wxd678efh567hg6787", + "openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw", + "plan_id": 12535, + "out_contract_code": "wxwtdk20200910100000", + "contract_display_account": "微信代扣用户A", + "contract_notify_url": "https://yourapp.com/notify", + "out_user_code": "用户A", + "deduct_schedule": { + "estimated_deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "total": 1, + "currency": "CNY" + }, + "description": "小乔-碎云皮肤(微信83区沧海之耀)" + }, + "jump_control": { + "jump_appid": "wxd678efh567hg6787" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.json new file mode 100644 index 00000000..9649bd25 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustH5Response.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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.json new file mode 100644 index 00000000..54697a67 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiRequest.json @@ -0,0 +1,17 @@ +{ + "appid": "wxd678efh567hg6787", + "openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw", + "plan_id": 12535, + "out_contract_code": "wxwtdk20200910100000", + "contract_display_account": "微信代扣用户A", + "contract_notify_url": "https://yourapp.com/notify", + "out_user_code": "用户A", + "deduct_schedule": { + "estimated_deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "total": 1, + "currency": "CNY" + }, + "description": "小乔-碎云皮肤(微信83区沧海之耀)" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.json new file mode 100644 index 00000000..c2b3f00c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustJsapiResponse.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/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.json new file mode 100644 index 00000000..54697a67 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramRequest.json @@ -0,0 +1,17 @@ +{ + "appid": "wxd678efh567hg6787", + "openid": "oYobu0MVnQfWpSMOYJz2AHPG_gQw", + "plan_id": 12535, + "out_contract_code": "wxwtdk20200910100000", + "contract_display_account": "微信代扣用户A", + "contract_notify_url": "https://yourapp.com/notify", + "out_user_code": "用户A", + "deduct_schedule": { + "estimated_deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "total": 1, + "currency": "CNY" + }, + "description": "小乔-碎云皮肤(微信83区沧海之耀)" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.json new file mode 100644 index 00000000..baa0ec81 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/ScheduledDeductSign/PresignPAPayScheduledDeductSignContractEntrustMiniProgramResponse.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/SignContracts/GetPAPaySignContractByOutContractCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeResponse.json new file mode 100644 index 00000000..ba5eeca2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/GetPAPaySignContractByOutContractCodeResponse.json @@ -0,0 +1,35 @@ +{ + "mchid": "1900000109", + "contract_id": "123124412412423431", + "appid": "wxd678efh567hg6787", + "plan_id": 12535, + "out_contract_code": "wxwtdk20200910100000", + "contract_display_account": "微信代扣用户A", + "contract_state": "SIGNED", + "contract_signed_time": "2020-09-10T13:29:35+08:00", + "contract_expired_time": "2021-09-10T13:29:35+08:00", + "openid": "o-MYE42l80oelYMDE34nYD456Xoy", + "contract_terminate_info": { + "contract_termination_mode": "USER_TERMINATE", + "contract_terminated_time": "2020-10-10T13:29:35+08:00", + "contract_termination_remark": "用户解约" + }, + "out_user_code": "用户A", + "deduct_schedule": { + "estimated_deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "total": 1, + "currency": "CNY" + }, + "schedule_state": "NO_SCHEDULED", + "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/SignContracts/TerminatePAPaySignContractRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractRequest.json new file mode 100644 index 00000000..4394aed8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractRequest.json @@ -0,0 +1,3 @@ +{ + "contract_termination_remark": "用户解约" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractResponse.json new file mode 100644 index 00000000..ba5eeca2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/PAPay/SignContracts/TerminatePAPaySignContractResponse.json @@ -0,0 +1,35 @@ +{ + "mchid": "1900000109", + "contract_id": "123124412412423431", + "appid": "wxd678efh567hg6787", + "plan_id": 12535, + "out_contract_code": "wxwtdk20200910100000", + "contract_display_account": "微信代扣用户A", + "contract_state": "SIGNED", + "contract_signed_time": "2020-09-10T13:29:35+08:00", + "contract_expired_time": "2021-09-10T13:29:35+08:00", + "openid": "o-MYE42l80oelYMDE34nYD456Xoy", + "contract_terminate_info": { + "contract_termination_mode": "USER_TERMINATE", + "contract_terminated_time": "2020-10-10T13:29:35+08:00", + "contract_termination_remark": "用户解约" + }, + "out_user_code": "用户A", + "deduct_schedule": { + "estimated_deduct_date": "2019-11-22", + "estimated_deduct_amount": { + "total": 1, + "currency": "CNY" + }, + "schedule_state": "NO_SCHEDULED", + "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/_/_Partner/PAPay/NotifyPartnerPAPayContractRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PAPay/CreatePartnerPAPayContractNotificationRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PAPay/NotifyPartnerPAPayContractRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/PAPay/CreatePartnerPAPayContractNotificationRequest.json