AlipayTradeCreateModel.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. using System;
  2. using Newtonsoft.Json;
  3. using System.Xml.Serialization;
  4. using System.Collections.Generic;
  5. namespace Essensoft.AspNetCore.Payment.Alipay.Domain
  6. {
  7. /// <summary>
  8. /// AlipayTradeCreateModel Data Structure.
  9. /// </summary>
  10. [Serializable]
  11. public class AlipayTradeCreateModel : AlipayObject
  12. {
  13. /// <summary>
  14. /// 支付宝的店铺编号
  15. /// </summary>
  16. [JsonProperty("alipay_store_id")]
  17. [XmlElement("alipay_store_id")]
  18. public string AlipayStoreId { get; set; }
  19. /// <summary>
  20. /// 对交易或商品的描述
  21. /// </summary>
  22. [JsonProperty("body")]
  23. [XmlElement("body")]
  24. public string Body { get; set; }
  25. /// <summary>
  26. /// 商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式
  27. /// </summary>
  28. [JsonProperty("business_params")]
  29. [XmlElement("business_params")]
  30. public string BusinessParams { get; set; }
  31. /// <summary>
  32. /// 买家的支付宝唯一用户号(2088开头的16位纯数字)
  33. /// </summary>
  34. [JsonProperty("buyer_id")]
  35. [XmlElement("buyer_id")]
  36. public string BuyerId { get; set; }
  37. /// <summary>
  38. /// 买家支付宝账号,和buyer_id不能同时为空
  39. /// </summary>
  40. [JsonProperty("buyer_logon_id")]
  41. [XmlElement("buyer_logon_id")]
  42. public string BuyerLogonId { get; set; }
  43. /// <summary>
  44. /// 禁用渠道,用户不可用指定渠道支付,多个渠道以逗号分割 注,与enable_pay_channels互斥 <a href="https://docs.open.alipay.com/common/wifww7">渠道列表</a>
  45. /// </summary>
  46. [JsonProperty("disable_pay_channels")]
  47. [XmlElement("disable_pay_channels")]
  48. public string DisablePayChannels { get; set; }
  49. /// <summary>
  50. /// 可打折金额. 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【不可打折金额】则该值默认为【订单总金额】-【不可打折金额】
  51. /// </summary>
  52. [JsonProperty("discountable_amount")]
  53. [XmlElement("discountable_amount")]
  54. public string DiscountableAmount { get; set; }
  55. /// <summary>
  56. /// 可用渠道,用户只能在指定渠道范围内支付,多个渠道以逗号分割 注,与disable_pay_channels互斥 渠道列表:https://docs.open.alipay.com/common/wifww7
  57. /// </summary>
  58. [JsonProperty("enable_pay_channels")]
  59. [XmlElement("enable_pay_channels")]
  60. public string EnablePayChannels { get; set; }
  61. /// <summary>
  62. /// 外部指定买家
  63. /// </summary>
  64. [JsonProperty("ext_user_info")]
  65. [XmlElement("ext_user_info")]
  66. public ExtUserInfo ExtUserInfo { get; set; }
  67. /// <summary>
  68. /// 业务扩展参数
  69. /// </summary>
  70. [JsonProperty("extend_params")]
  71. [XmlElement("extend_params")]
  72. public ExtendParams ExtendParams { get; set; }
  73. /// <summary>
  74. /// 订单包含的商品列表信息,json格式,其它说明详见:“商品明细说明”
  75. /// </summary>
  76. [JsonProperty("goods_detail")]
  77. [XmlArray("goods_detail")]
  78. [XmlArrayItem("goods_detail")]
  79. public List<GoodsDetail> GoodsDetail { get; set; }
  80. /// <summary>
  81. /// 物流信息
  82. /// </summary>
  83. [JsonProperty("logistics_detail")]
  84. [XmlElement("logistics_detail")]
  85. public LogisticsDetail LogisticsDetail { get; set; }
  86. /// <summary>
  87. /// 商户原始订单号,最大长度限制32位
  88. /// </summary>
  89. [JsonProperty("merchant_order_no")]
  90. [XmlElement("merchant_order_no")]
  91. public string MerchantOrderNo { get; set; }
  92. /// <summary>
  93. /// 商户操作员编号
  94. /// </summary>
  95. [JsonProperty("operator_id")]
  96. [XmlElement("operator_id")]
  97. public string OperatorId { get; set; }
  98. /// <summary>
  99. /// 商户订单号,64个字符以内、只能包含字母、数字、下划线;需保证在商户端不重复
  100. /// </summary>
  101. [JsonProperty("out_trade_no")]
  102. [XmlElement("out_trade_no")]
  103. public string OutTradeNo { get; set; }
  104. /// <summary>
  105. /// 收货人及地址信息
  106. /// </summary>
  107. [JsonProperty("receiver_address_info")]
  108. [XmlElement("receiver_address_info")]
  109. public ReceiverAddressInfo ReceiverAddressInfo { get; set; }
  110. /// <summary>
  111. /// 描述分账信息,json格式。
  112. /// </summary>
  113. [JsonProperty("royalty_info")]
  114. [XmlElement("royalty_info")]
  115. public RoyaltyInfo RoyaltyInfo { get; set; }
  116. /// <summary>
  117. /// 卖家支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID
  118. /// </summary>
  119. [JsonProperty("seller_id")]
  120. [XmlElement("seller_id")]
  121. public string SellerId { get; set; }
  122. /// <summary>
  123. /// 描述结算信息,json格式,详见结算参数说明
  124. /// </summary>
  125. [JsonProperty("settle_info")]
  126. [XmlElement("settle_info")]
  127. public SettleInfo SettleInfo { get; set; }
  128. /// <summary>
  129. /// 商户门店编号
  130. /// </summary>
  131. [JsonProperty("store_id")]
  132. [XmlElement("store_id")]
  133. public string StoreId { get; set; }
  134. /// <summary>
  135. /// 二级商户信息,当前只对特殊银行机构特定场景下使用此字段
  136. /// </summary>
  137. [JsonProperty("sub_merchant")]
  138. [XmlElement("sub_merchant")]
  139. public SubMerchant SubMerchant { get; set; }
  140. /// <summary>
  141. /// 订单标题
  142. /// </summary>
  143. [JsonProperty("subject")]
  144. [XmlElement("subject")]
  145. public string Subject { get; set; }
  146. /// <summary>
  147. /// 商户机具终端编号
  148. /// </summary>
  149. [JsonProperty("terminal_id")]
  150. [XmlElement("terminal_id")]
  151. public string TerminalId { get; set; }
  152. /// <summary>
  153. /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。
  154. /// </summary>
  155. [JsonProperty("timeout_express")]
  156. [XmlElement("timeout_express")]
  157. public string TimeoutExpress { get; set; }
  158. /// <summary>
  159. /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入了【打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【打折金额】+【不可打折金额】
  160. /// </summary>
  161. [JsonProperty("total_amount")]
  162. [XmlElement("total_amount")]
  163. public string TotalAmount { get; set; }
  164. /// <summary>
  165. /// 不可打折金额. 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【打折金额】,则该值默认为【订单总金额】-【打折金额】
  166. /// </summary>
  167. [JsonProperty("undiscountable_amount")]
  168. [XmlElement("undiscountable_amount")]
  169. public string UndiscountableAmount { get; set; }
  170. }
  171. }