AlipayTradePagePayBizModel.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using System.Text.Json.Serialization;
  2. using Essensoft.Paylinks.Alipay.Payments.Domain;
  3. namespace Essensoft.Paylinks.Alipay.Payments.Model;
  4. public class AlipayTradePagePayBizModel
  5. {
  6. /// <summary>
  7. /// 商户网站唯一订单号。
  8. /// 由商家自定义,64个字符以内,仅支持字母、数字、下划线且需保证在商户端不重复。
  9. /// </summary>
  10. [JsonPropertyName("out_trade_no")]
  11. public string OutTradeNo { get; set; }
  12. /// <summary>
  13. /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000],金额不能为0
  14. /// </summary>
  15. [JsonPropertyName("total_amount")]
  16. public string TotalAmount { get; set; }
  17. /// <summary>
  18. /// 订单标题。
  19. /// 注意:不可使用特殊字符,如 /,=,& 等。
  20. /// </summary>
  21. [JsonPropertyName("subject")]
  22. public string Subject { get; set; }
  23. /// <summary>
  24. /// 销售产品码,与支付宝签约的产品码名称。注:目前电脑支付场景下仅支持FAST_INSTANT_TRADE_PAY
  25. /// </summary>
  26. [JsonPropertyName("product_code")]
  27. public string ProductCode { get; set; }
  28. /// <summary>
  29. /// PC扫码支付的方式。
  30. /// 支持前置模式和跳转模式。
  31. /// 前置模式是将二维码前置到商户的订单确认页的模式。需要商户在自己的页面中以 iframe 方式请求支付宝页面。具体支持的枚举值有以下几种:
  32. /// 0:订单码-简约前置模式,对应 iframe 宽度不能小于600px,高度不能小于300px;
  33. /// 1:订单码-前置模式,对应iframe 宽度不能小于 300px,高度不能小于600px;
  34. /// 3:订单码-迷你前置模式,对应 iframe 宽度不能小于 75px,高度不能小于75px;
  35. /// 4:订单码-可定义宽度的嵌入式二维码,商户可根据需要设定二维码的大小。
  36. /// 跳转模式下,用户的扫码界面是由支付宝生成的,不在商户的域名下。支持传入的枚举值有:
  37. /// 2:订单码-跳转模式
  38. /// </summary>
  39. [JsonPropertyName("qr_pay_mode")]
  40. public string? QrPayMode { get; set; }
  41. /// <summary>
  42. /// 商户自定义二维码宽度。
  43. /// 注:qr_pay_mode=4时该参数有效
  44. /// </summary>
  45. [JsonPropertyName("qrcode_width")]
  46. public string? QrcodeWidth { get; set; }
  47. /// <summary>
  48. /// 订单包含的商品列表信息,json格式,其它说明详见商品明细说明
  49. /// </summary>
  50. [JsonPropertyName("goods_detail")]
  51. public List<GoodsDetail>? GoodsDetail { get; set; }
  52. /// <summary>
  53. /// 订单绝对超时时间。
  54. /// 格式为yyyy-MM-dd HH:mm:ss。超时时间范围:1m~15d。
  55. /// 注:time_expire和timeout_express两者只需传入一个或者都不传,两者均传入时,优先使用time_expire。
  56. /// </summary>
  57. [JsonPropertyName("time_expire")]
  58. public DateTimeOffset? TimeExpire { get; set; }
  59. /// <summary>
  60. /// 二级商户信息。
  61. /// 直付通模式和机构间连模式下必传,其它场景下不需要传入。
  62. /// </summary>
  63. [JsonPropertyName("sub_merchant")]
  64. public string? SubMerchant { get; set; }
  65. /// <summary>
  66. /// 业务扩展参数
  67. /// </summary>
  68. [JsonPropertyName("extend_params")]
  69. public ExtendParams? ExtendParams { get; set; }
  70. /// <summary>
  71. /// 商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式
  72. /// </summary>
  73. [JsonPropertyName("business_params")]
  74. public string? BusinessParams { get; set; }
  75. /// <summary>
  76. /// 优惠参数。为 JSON 格式。注:仅与支付宝协商后可用
  77. /// </summary>
  78. [JsonPropertyName("promo_params")]
  79. public string? PromoParams { get; set; }
  80. /// <summary>
  81. /// 请求后页面的集成方式。
  82. /// 枚举值:
  83. /// ALIAPP:支付宝钱包内
  84. /// PCWEB:PC端访问
  85. /// 默认值为PCWEB。
  86. /// </summary>
  87. [JsonPropertyName("integration_type")]
  88. public string? IntegrationType { get; set; }
  89. /// <summary>
  90. /// 请求来源地址。如果使用ALIAPP的集成方式,用户中途取消支付会返回该地址。
  91. /// </summary>
  92. [JsonPropertyName("request_from_url")]
  93. public string? RequestFromUrl { get; set; }
  94. /// <summary>
  95. /// 商户门店编号。
  96. /// 指商户创建门店时输入的门店编号。
  97. /// </summary>
  98. [JsonPropertyName("store_id")]
  99. public string? StoreId { get; set; }
  100. /// <summary>
  101. /// 商户原始订单号,最大长度限制32位
  102. /// </summary>
  103. [JsonPropertyName("merchant_order_no")]
  104. public string? MerchantOrderNo { get; set; }
  105. /// <summary>
  106. /// 外部指定买家
  107. /// </summary>
  108. [JsonPropertyName("ext_user_info")]
  109. public ExtUserInfo? ExtUserInfo { get; set; }
  110. /// <summary>
  111. /// 开票信息
  112. /// </summary>
  113. [JsonPropertyName("invoice_info")]
  114. public InvoiceInfo? InvoiceInfo { get; set; }
  115. }