using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models { /// /// 表示 [POST] /deposit/unifiedorder 接口的请求。 /// public class CreateDepositUnifiedOrderRequest : WechatTenpaySignableRequest { public static class Types { public class Detail : CreatePayUnifiedOrderRequest.Types.Detail { } public class Scene : CreatePayUnifiedOrderRequest.Types.Scene { } } internal static class Converters { internal class RequestPropertyDetailNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase { } internal class RequestPropertyDetailSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase { } internal class RequestPropertySceneNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase { } internal class RequestPropertySceneSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase { } } /// /// /// [Newtonsoft.Json.JsonProperty("mch_id")] [System.Text.Json.Serialization.JsonPropertyName("mch_id")] public override string? MerchantId { get; set; } /// /// /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] public override string? AppId { get; set; } /// /// 获取或设置子商户号。 /// [Newtonsoft.Json.JsonProperty("sub_mch_id")] [System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")] public string? SubMerchantId { get; set; } /// /// 获取或设置子商户 AppId。 /// [Newtonsoft.Json.JsonProperty("sub_appid")] [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] public string? SubAppId { get; set; } /// /// 获取或设置商品描述。 /// [Newtonsoft.Json.JsonProperty("body")] [System.Text.Json.Serialization.JsonPropertyName("body")] public string Body { 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("total_fee")] [System.Text.Json.Serialization.JsonPropertyName("total_fee")] public int TotalFee { get; set; } /// /// 获取或设置货币类型。 /// [Newtonsoft.Json.JsonProperty("fee_type")] [System.Text.Json.Serialization.JsonPropertyName("fee_type")] public string? FeeType { get; set; } /// /// 获取或设置用户的 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] public string? OpenId { get; set; } /// /// 获取或设置用户在子商户下的 AppId。 /// [Newtonsoft.Json.JsonProperty("sub_openid")] [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] public string? SubOpenId { get; set; } /// /// 获取或设置附加数据。 /// [Newtonsoft.Json.JsonProperty("attach")] [System.Text.Json.Serialization.JsonPropertyName("attach")] public string? Attachment { get; set; } /// /// 获取或设置终端设备号。 /// [Newtonsoft.Json.JsonProperty("device_info")] [System.Text.Json.Serialization.JsonPropertyName("device_info")] public string? DeviceInfo { get; set; } /// /// 获取或设置用户终端 IP。 /// [Newtonsoft.Json.JsonProperty("spbill_create_ip")] [System.Text.Json.Serialization.JsonPropertyName("spbill_create_ip")] public string ClientIp { get; set; } = string.Empty; /// /// 获取或设置交易类型。 /// [Newtonsoft.Json.JsonProperty("trade_type")] [System.Text.Json.Serialization.JsonPropertyName("trade_type")] public string TradeType { get; set; } = string.Empty; /// /// 获取或设置通知地址。 /// [Newtonsoft.Json.JsonProperty("notify_url")] [System.Text.Json.Serialization.JsonPropertyName("notify_url")] public string? NotifyUrl { get; set; } /// /// 获取或设置商品 ID。 /// [Newtonsoft.Json.JsonProperty("product_id")] [System.Text.Json.Serialization.JsonPropertyName("product_id")] public string? ProductId { get; set; } /// /// 获取或设置指定付款方式编码。 /// [Newtonsoft.Json.JsonProperty("limit_pay")] [System.Text.Json.Serialization.JsonPropertyName("limit_pay")] public string? LimitPayCode { get; set; } /// /// 获取或设置交易起始时间。 /// [Newtonsoft.Json.JsonProperty("time_start")] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))] [System.Text.Json.Serialization.JsonPropertyName("time_start")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))] public DateTimeOffset? StartTime { get; set; } /// /// 获取或设置交易结束时间。 /// [Newtonsoft.Json.JsonProperty("time_expire")] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))] [System.Text.Json.Serialization.JsonPropertyName("time_expire")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))] public DateTimeOffset? ExpireTime { get; set; } /// /// 获取或设置商品信息。 /// [Newtonsoft.Json.JsonProperty("detail")] [Newtonsoft.Json.JsonConverter(typeof(Converters.RequestPropertyDetailNewtonsoftJsonConverter))] [System.Text.Json.Serialization.JsonPropertyName("detail")] [System.Text.Json.Serialization.JsonConverter(typeof(Converters.RequestPropertyDetailSystemTextJsonConverter))] public Types.Detail? Detail { get; set; } /// /// 获取或设置场景信息。 /// [Newtonsoft.Json.JsonProperty("scene_info")] [Newtonsoft.Json.JsonConverter(typeof(Converters.RequestPropertySceneNewtonsoftJsonConverter))] [System.Text.Json.Serialization.JsonPropertyName("scene_info")] [System.Text.Json.Serialization.JsonConverter(typeof(Converters.RequestPropertySceneSystemTextJsonConverter))] public Types.Scene? Scene { get; set; } /// /// 获取或设置是否开放电子发票入口。 /// [Newtonsoft.Json.JsonProperty("receipt")] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.YesOrNoNullableBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("receipt")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoNullableBooleanConverter))] public bool? IsReceiptOpen { get; set; } } }