AlipayTradeAppPayModel.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using System.Collections.Generic;
  2. using System.Text.Json.Serialization;
  3. namespace Essensoft.Paylink.Alipay.Domain
  4. {
  5. /// <summary>
  6. /// AlipayTradeAppPayModel Data Structure.
  7. /// </summary>
  8. public class AlipayTradeAppPayModel : AlipayObject
  9. {
  10. /// <summary>
  11. /// 签约参数。如果希望在sdk中支付并签约,需要在这里传入签约信息。 周期扣款场景 product_code 为 CYCLE_PAY_AUTH 时必填。
  12. /// </summary>
  13. [JsonPropertyName("agreement_sign_params")]
  14. public SignParams AgreementSignParams { get; set; }
  15. /// <summary>
  16. /// 订单描述
  17. /// </summary>
  18. [JsonPropertyName("body")]
  19. public string Body { get; set; }
  20. /// <summary>
  21. /// 商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式
  22. /// </summary>
  23. [JsonPropertyName("business_params")]
  24. public string BusinessParams { get; set; }
  25. /// <summary>
  26. /// 禁用渠道,用户不可用指定渠道支付,多个渠道以逗号分割 注,与enable_pay_channels互斥 <a href="https://docs.open.alipay.com/common/wifww7">渠道列表</a>
  27. /// </summary>
  28. [JsonPropertyName("disable_pay_channels")]
  29. public string DisablePayChannels { get; set; }
  30. /// <summary>
  31. /// 指定支付渠道。 用户只能使用指定的渠道进行支付,多个渠道以逗号分割。 与disable_pay_channels互斥,支持传入的值:<a target="_blank" href="https://docs.open.alipay.com/common/wifww7">渠道列表</a>。 注:如果传入了指定支付渠道,则用户只能用指定内的渠道支付,包括营销渠道也要指定才能使用。该参数可能导致用户支付受限,慎用。
  32. /// </summary>
  33. [JsonPropertyName("enable_pay_channels")]
  34. public string EnablePayChannels { get; set; }
  35. /// <summary>
  36. /// 外部指定买家
  37. /// </summary>
  38. [JsonPropertyName("ext_user_info")]
  39. public ExtUserInfo ExtUserInfo { get; set; }
  40. /// <summary>
  41. /// 业务扩展参数
  42. /// </summary>
  43. [JsonPropertyName("extend_params")]
  44. public ExtendParams ExtendParams { get; set; }
  45. /// <summary>
  46. /// 订单包含的商品列表信息,json格式,其它说明详见商品明细说明
  47. /// </summary>
  48. [JsonPropertyName("goods_detail")]
  49. public List<GoodsDetail> GoodsDetail { get; set; }
  50. /// <summary>
  51. /// 商品主类型,取值如下: 0:虚拟类商品; 1:实物类商品。
  52. /// </summary>
  53. [JsonPropertyName("goods_type")]
  54. public string GoodsType { get; set; }
  55. /// <summary>
  56. /// 开票信息
  57. /// </summary>
  58. [JsonPropertyName("invoice_info")]
  59. public InvoiceInfo InvoiceInfo { get; set; }
  60. /// <summary>
  61. /// 商户的原始订单号
  62. /// </summary>
  63. [JsonPropertyName("merchant_order_no")]
  64. public string MerchantOrderNo { get; set; }
  65. /// <summary>
  66. /// 商户订单号。 由商家自定义,64个字符以内,仅支持字母、数字、下划线且需保证在商户端不重复。
  67. /// </summary>
  68. [JsonPropertyName("out_trade_no")]
  69. public string OutTradeNo { get; set; }
  70. /// <summary>
  71. /// 公用回传参数。 如果请求时传递了该参数,支付宝会在异步通知时将该参数原样返回。 本参数必须进行UrlEncode之后才可以发送给支付宝。
  72. /// </summary>
  73. [JsonPropertyName("passback_params")]
  74. public string PassbackParams { get; set; }
  75. /// <summary>
  76. /// 产品码。 商家和支付宝签约的产品码。 枚举值(点击查看签约情况): <a target="_blank" href="https://opensupport.alipay.com/support/codelab/detail/694/695">QUICK_MSECURITY_PAY</a>:无线快捷支付产品; <a target="_blank" href="https://opensupport.alipay.com/support/codelab/detail/807/1419">CYCLE_PAY_AUTH</a>:周期扣款产品。 默认值为QUICK_MSECURITY_PAY。
  77. /// </summary>
  78. [JsonPropertyName("product_code")]
  79. public string ProductCode { get; set; }
  80. /// <summary>
  81. /// 优惠参数 注:仅与支付宝协商后可用
  82. /// </summary>
  83. [JsonPropertyName("promo_params")]
  84. public string PromoParams { get; set; }
  85. /// <summary>
  86. /// 描述分账信息,json格式,详见分账参数说明
  87. /// </summary>
  88. [JsonPropertyName("royalty_info")]
  89. public RoyaltyInfo RoyaltyInfo { get; set; }
  90. /// <summary>
  91. /// 卖家支付宝用户ID。 当需要指定收款账号时,通过该参数传入,如果该值为空,则默认为商户签约账号对应的支付宝用户ID。 注:直付通和机构间联场景下seller_id无需传入或者保持跟pid一致; 如果传入的seller_id与pid不一致,需要联系支付宝小二配置收款关系;
  92. /// </summary>
  93. [JsonPropertyName("seller_id")]
  94. public string SellerId { get; set; }
  95. /// <summary>
  96. /// 描述结算信息,json格式,详见结算参数说明
  97. /// </summary>
  98. [JsonPropertyName("settle_info")]
  99. public SettleInfo SettleInfo { get; set; }
  100. /// <summary>
  101. /// 指定单通道。 目前仅支持传入pcredit,若由于用户原因渠道不可用,用户可选择是否用其他渠道支付。 注:该参数不可与花呗分期参数同时传入
  102. /// </summary>
  103. [JsonPropertyName("specified_channel")]
  104. public string SpecifiedChannel { get; set; }
  105. /// <summary>
  106. /// 商户门店编号。 指商户创建门店时输入的门店编号。
  107. /// </summary>
  108. [JsonPropertyName("store_id")]
  109. public string StoreId { get; set; }
  110. /// <summary>
  111. /// 二级商户信息。 直付通模式和机构间连模式下必传,其它场景下不需要传入。
  112. /// </summary>
  113. [JsonPropertyName("sub_merchant")]
  114. public SubMerchant SubMerchant { get; set; }
  115. /// <summary>
  116. /// 订单标题。 注意:不可使用特殊字符,如 /,=,& 等。
  117. /// </summary>
  118. [JsonPropertyName("subject")]
  119. public string Subject { get; set; }
  120. /// <summary>
  121. /// 订单绝对超时时间。 格式为yyyy-MM-dd HH:mm。 注:time_express和timeout_express两者只需传入一个或者都不传,如果两者都传,优先使用time_expire。
  122. /// </summary>
  123. [JsonPropertyName("time_expire")]
  124. public string TimeExpire { get; set; }
  125. /// <summary>
  126. /// 订单相对超时时间。 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:5m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 注:无线支付场景最小值为5m,低于5m支付超时时间按5m计算。 注:time_express和timeout_express两者只需传入一个或者都不传,如果两者都传,优先使用time_expire。
  127. /// </summary>
  128. [JsonPropertyName("timeout_express")]
  129. public string TimeoutExpress { get; set; }
  130. /// <summary>
  131. /// 订单总金额。 单位为元,精确到小数点后两位,取值范围:[0.01,100000000] 。
  132. /// </summary>
  133. [JsonPropertyName("total_amount")]
  134. public string TotalAmount { get; set; }
  135. }
  136. }