From 668829b36cd10b61b16a2a43c38da1d350ae0018 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Fri, 13 Aug 2021 16:11:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(tenpayv3):=20=E4=BF=AE=E5=A4=8D=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=8E=A5=E5=8F=A3=E6=A8=A1=E5=9E=8B=E5=9B=A0=E7=BB=A7?= =?UTF-8?q?=E6=89=BF=E9=97=AE=E9=A2=98=E5=9C=A8=E4=BD=BF=E7=94=A8=20System?= =?UTF-8?q?.Text.Json=20=E6=97=B6=E5=BA=8F=E5=88=97=E5=8C=96=E6=9C=89?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Sns/SnsAuthRequest.cs | 2 + .../Models/Sns/SnsUserInfoRequest.cs | 2 + .../ClosePayPartnerTransactionRequest.cs | 11 ++- .../CreatePayPartnerTransactionAppRequest.cs | 97 +++++++++++++++++- .../CreatePayPartnerTransactionH5Request.cs | 97 +++++++++++++++++- ...CreatePayPartnerTransactionJsapiRequest.cs | 98 ++++++++++++++++++- ...reatePayPartnerTransactionNativeRequest.cs | 97 +++++++++++++++++- .../ClosePayTransactionRequest.cs | 2 +- .../CreatePayTransactionAppRequest.cs | 4 +- .../CreatePayTransactionH5Request.cs | 4 +- .../CreatePayTransactionJsapiRequest.cs | 6 +- .../VehicleTransactionResource.json | 4 +- 12 files changed, 398 insertions(+), 26 deletions(-) diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsAuthRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsAuthRequest.cs index 2f586c24..81b51f41 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsAuthRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsAuthRequest.cs @@ -11,6 +11,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// /// 获取或设置网页授权接口调用凭证(注意与全局 AccessToken 相区分)。 /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] public override string? AccessToken { get; set; } = string.Empty; /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsUserInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsUserInfoRequest.cs index d3e47a43..93114ea6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsUserInfoRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Sns/SnsUserInfoRequest.cs @@ -11,6 +11,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// /// 获取或设置网页授权接口调用凭证(注意与全局 AccessToken 相区分)。 /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] public override string? AccessToken { get; set; } = string.Empty; /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/ClosePayPartnerTransactionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/ClosePayPartnerTransactionRequest.cs index 4850f427..6acb2e87 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/ClosePayPartnerTransactionRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/ClosePayPartnerTransactionRequest.cs @@ -6,14 +6,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /pay/partner/transactions/out-trade-no/{out_trade_no}/close 接口的请求。 /// - public class ClosePayPartnerTransactionRequest : ClosePayTransactionRequest + public class ClosePayPartnerTransactionRequest : WechatTenpayRequest { /// /// 获取或设置服务商商户号。如果不指定将使用构造 时的 参数。 /// [Newtonsoft.Json.JsonProperty("sp_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] - public override string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置子商户号。 @@ -21,5 +21,12 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [Newtonsoft.Json.JsonProperty("sub_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutTradeNumber { get; set; } = string.Empty; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionAppRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionAppRequest.cs index fbb90158..b0a0c0dd 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionAppRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionAppRequest.cs @@ -6,14 +6,33 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /pay/partner/transactions/app 接口的请求。 /// - public class CreatePayPartnerTransactionAppRequest : CreatePayTransactionAppRequest + public class CreatePayPartnerTransactionAppRequest : WechatTenpayRequest { + public static class Types + { + public class Amount : CreatePayTransactionAppRequest.Types.Amount + { + } + + public class Detail : CreatePayTransactionAppRequest.Types.Detail + { + } + + public class Scene : CreatePayTransactionAppRequest.Types.Scene + { + } + + public class Settlement : CreatePayTransactionAppRequest.Types.Settlement + { + } + } + /// /// 获取或设置服务商商户号。如果不指定将使用构造 时的 参数。 /// [Newtonsoft.Json.JsonProperty("sp_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] - public override string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置子商户号。 @@ -27,7 +46,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("sp_appid")] [System.Text.Json.Serialization.JsonPropertyName("sp_appid")] - public override string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置子商户 AppId。 @@ -35,5 +54,77 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [Newtonsoft.Json.JsonProperty("sub_appid")] [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] public string? SubAppId { get; set; } + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { 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("time_expire")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("time_expire")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? ExpireTime { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("notify_url")] + public string? NotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount Amount { get; set; } = new Types.Amount(); + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("detail")] + [System.Text.Json.Serialization.JsonPropertyName("detail")] + public Types.Detail? Detail { get; set; } + + /// + /// 获取或设置场景信息。 + /// + [Newtonsoft.Json.JsonProperty("scene_info")] + [System.Text.Json.Serialization.JsonPropertyName("scene_info")] + public Types.Scene? Scene { get; set; } + + /// + /// 获取或设置结算信息。 + /// + [Newtonsoft.Json.JsonProperty("settle_info")] + [System.Text.Json.Serialization.JsonPropertyName("settle_info")] + public Types.Settlement? Settlement { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionH5Request.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionH5Request.cs index 1a1c9589..8a23d081 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionH5Request.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionH5Request.cs @@ -6,14 +6,33 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /pay/partner/transactions/h5 接口的请求。 /// - public class CreatePayPartnerTransactionH5Request : CreatePayTransactionH5Request + public class CreatePayPartnerTransactionH5Request : WechatTenpayRequest { + public static class Types + { + public class Amount : CreatePayTransactionH5Request.Types.Amount + { + } + + public class Detail : CreatePayTransactionH5Request.Types.Detail + { + } + + public class Scene : CreatePayTransactionH5Request.Types.Scene + { + } + + public class Settlement : CreatePayTransactionH5Request.Types.Settlement + { + } + } + /// /// 获取或设置服务商商户号。如果不指定将使用构造 时的 参数。 /// [Newtonsoft.Json.JsonProperty("sp_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] - public override string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置子商户号。 @@ -27,7 +46,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("sp_appid")] [System.Text.Json.Serialization.JsonPropertyName("sp_appid")] - public override string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置子商户 AppId。 @@ -35,5 +54,77 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [Newtonsoft.Json.JsonProperty("sub_appid")] [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] public string? SubAppId { get; set; } + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { 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("time_expire")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("time_expire")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? ExpireTime { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("notify_url")] + public string? NotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount Amount { get; set; } = new Types.Amount(); + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("detail")] + [System.Text.Json.Serialization.JsonPropertyName("detail")] + public Types.Detail? Detail { get; set; } + + /// + /// 获取或设置场景信息。 + /// + [Newtonsoft.Json.JsonProperty("scene_info")] + [System.Text.Json.Serialization.JsonPropertyName("scene_info")] + public Types.Scene Scene { get; set; } = new Types.Scene(); + + /// + /// 获取或设置结算信息。 + /// + [Newtonsoft.Json.JsonProperty("settle_info")] + [System.Text.Json.Serialization.JsonPropertyName("settle_info")] + public Types.Settlement? Settlement { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionJsapiRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionJsapiRequest.cs index 0daa51b3..7ea39521 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionJsapiRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionJsapiRequest.cs @@ -6,9 +6,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /pay/partner/transactions/jsapi 接口的请求。 /// - public class CreatePayPartnerTransactionJsapiRequest : CreatePayTransactionJsapiRequest + public class CreatePayPartnerTransactionJsapiRequest : WechatTenpayRequest { - public new static class Types + public static class Types { public class Payer { @@ -26,6 +26,22 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] public string? SubOpenId { get; set; } } + + public class Amount : CreatePayTransactionJsapiRequest.Types.Amount + { + } + + public class Detail : CreatePayTransactionJsapiRequest.Types.Detail + { + } + + public class Scene : CreatePayTransactionJsapiRequest.Types.Scene + { + } + + public class Settlement : CreatePayTransactionJsapiRequest.Types.Settlement + { + } } /// @@ -33,7 +49,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("sp_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] - public override string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置子商户号。 @@ -47,7 +63,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("sp_appid")] [System.Text.Json.Serialization.JsonPropertyName("sp_appid")] - public override string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置子商户 AppId。 @@ -56,11 +72,83 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] public string? SubAppId { get; set; } + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { 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("time_expire")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("time_expire")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? ExpireTime { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("notify_url")] + public string? NotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount Amount { get; set; } = new Types.Amount(); + /// /// 获取或设置支付者信息。 /// [Newtonsoft.Json.JsonProperty("payer")] [System.Text.Json.Serialization.JsonPropertyName("payer")] - public new Types.Payer? Payer { get; set; } + public Types.Payer Payer { get; set; } = new Types.Payer(); + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("detail")] + [System.Text.Json.Serialization.JsonPropertyName("detail")] + public Types.Detail? Detail { get; set; } + + /// + /// 获取或设置场景信息。 + /// + [Newtonsoft.Json.JsonProperty("scene_info")] + [System.Text.Json.Serialization.JsonPropertyName("scene_info")] + public Types.Scene? Scene { get; set; } + + /// + /// 获取或设置结算信息。 + /// + [Newtonsoft.Json.JsonProperty("settle_info")] + [System.Text.Json.Serialization.JsonPropertyName("settle_info")] + public Types.Settlement? Settlement { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionNativeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionNativeRequest.cs index 61af311c..a4c6b058 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionNativeRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/CreatePayPartnerTransactionNativeRequest.cs @@ -6,14 +6,33 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /pay/partner/transactions/native 接口的请求。 /// - public class CreatePayPartnerTransactionNativeRequest : CreatePayTransactionNativeRequest + public class CreatePayPartnerTransactionNativeRequest : WechatTenpayRequest { + public static class Types + { + public class Amount : CreatePayTransactionNativeRequest.Types.Amount + { + } + + public class Detail : CreatePayTransactionNativeRequest.Types.Detail + { + } + + public class Scene : CreatePayTransactionNativeRequest.Types.Scene + { + } + + public class Settlement : CreatePayTransactionNativeRequest.Types.Settlement + { + } + } + /// /// 获取或设置服务商商户号。如果不指定将使用构造 时的 参数。 /// [Newtonsoft.Json.JsonProperty("sp_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] - public override string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置子商户号。 @@ -27,7 +46,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("sp_appid")] [System.Text.Json.Serialization.JsonPropertyName("sp_appid")] - public override string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置子商户 AppId。 @@ -35,5 +54,77 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [Newtonsoft.Json.JsonProperty("sub_appid")] [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] public string? SubAppId { get; set; } + + /// + /// 获取或设置商品描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { 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("time_expire")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("time_expire")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? ExpireTime { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置回调通知地址。 + /// + [Newtonsoft.Json.JsonProperty("notify_url")] + [System.Text.Json.Serialization.JsonPropertyName("notify_url")] + public string? NotifyUrl { get; set; } + + /// + /// 获取或设置订单优惠标记。 + /// + [Newtonsoft.Json.JsonProperty("goods_tag")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] + public string? GoodsTag { get; set; } + + /// + /// 获取或设置金额信息。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public Types.Amount Amount { get; set; } = new Types.Amount(); + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("detail")] + [System.Text.Json.Serialization.JsonPropertyName("detail")] + public Types.Detail? Detail { get; set; } + + /// + /// 获取或设置场景信息。 + /// + [Newtonsoft.Json.JsonProperty("scene_info")] + [System.Text.Json.Serialization.JsonPropertyName("scene_info")] + public Types.Scene Scene { get; set; } = new Types.Scene(); + + /// + /// 获取或设置结算信息。 + /// + [Newtonsoft.Json.JsonProperty("settle_info")] + [System.Text.Json.Serialization.JsonPropertyName("settle_info")] + public Types.Settlement? Settlement { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/ClosePayTransactionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/ClosePayTransactionRequest.cs index a43bb4e0..97b6e09f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/ClosePayTransactionRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/ClosePayTransactionRequest.cs @@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("mchid")] [System.Text.Json.Serialization.JsonPropertyName("mchid")] - public virtual string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置商户订单号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionAppRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionAppRequest.cs index d22c5f8c..3db28e59 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionAppRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionAppRequest.cs @@ -174,14 +174,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("mchid")] [System.Text.Json.Serialization.JsonPropertyName("mchid")] - public virtual string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置微信 AppId。 /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public virtual string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置商品描述。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionH5Request.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionH5Request.cs index f261a67b..d180d6d5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionH5Request.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionH5Request.cs @@ -80,14 +80,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("mchid")] [System.Text.Json.Serialization.JsonPropertyName("mchid")] - public virtual string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置微信 AppId。 /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public virtual string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置商品描述。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionJsapiRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionJsapiRequest.cs index aee6df86..67ebedf3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionJsapiRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayTransactions/CreatePayTransactionJsapiRequest.cs @@ -16,7 +16,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// 获取或设置用户唯一标识。 /// [Newtonsoft.Json.JsonProperty("openid")] - [System.Text.Json.Serialization.JsonPropertyName("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] public string OpenId { get; set; } = string.Empty; } @@ -42,14 +42,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("mchid")] [System.Text.Json.Serialization.JsonPropertyName("mchid")] - public virtual string? MerchantId { get; set; } + public string? MerchantId { get; set; } /// /// 获取或设置微信 AppId。 /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public virtual string AppId { get; set; } = string.Empty; + public string AppId { get; set; } = string.Empty; /// /// 获取或设置商品描述。 diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/VehicleParking/VehicleTransactionResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/VehicleParking/VehicleTransactionResource.json index 283cdbd5..ea6a90ce 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/VehicleParking/VehicleTransactionResource.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/VehicleParking/VehicleTransactionResource.json @@ -34,12 +34,12 @@ }, "promotion_detail": [ { - "promotion_id": "109519", + "coupon_id": "109519", "name": "单品惠-6", "scope": "SINGLE", "type": "DISCOUNT", "amount": 1, - "activity_id": "931386", + "stock_id": "931386", "wechatpay_contribute": 1, "merchant_contribute": 0, "other_contribute": 0