using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models { /// /// 表示 [POST] /pay/contractorder 接口的请求。 /// public class CreateContractOrderRequest : WechatTenpaySignableRequest { /// /// /// [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("contract_mchid")] [System.Text.Json.Serialization.JsonPropertyName("contract_mchid")] public string ContractMerchantId { get; set; } = string.Empty; /// /// 获取或设置签约 AppId。 /// [Newtonsoft.Json.JsonProperty("contract_appid")] [System.Text.Json.Serialization.JsonPropertyName("contract_appid")] public string ContractAppId { get; set; } = string.Empty; /// /// 获取或设置商品描述。 /// [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; } /// /// 获取或设置附加数据。 /// [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; } /// /// 获取或设置交易类型。 /// [Newtonsoft.Json.JsonProperty("trade_type")] [System.Text.Json.Serialization.JsonPropertyName("trade_type")] public string TradeType { get; set; } = string.Empty; /// /// 获取或设置订单优惠标记。 /// [Newtonsoft.Json.JsonProperty("goods_tag")] [System.Text.Json.Serialization.JsonPropertyName("goods_tag")] public string? GoodsTag { get; set; } /// /// 获取或设置通知地址。 /// [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")] [System.Text.Json.Serialization.JsonPropertyName("detail")] public string? Detail { get; set; } /// /// 获取或设置模板 ID。 /// [Newtonsoft.Json.JsonProperty("plan_id")] [System.Text.Json.Serialization.JsonPropertyName("plan_id")] public int PlanId { get; set; } /// /// 获取或设置签约协议号。 /// [Newtonsoft.Json.JsonProperty("contract_code")] [System.Text.Json.Serialization.JsonPropertyName("contract_code")] public string ContractCode { get; set; } = string.Empty; /// /// 获取或设置请求序列号。 /// [Newtonsoft.Json.JsonProperty("request_serial")] [System.Text.Json.Serialization.JsonPropertyName("request_serial")] public long RequestSerialNumber { 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; } } }