WeChatPayScoreServiceOrderDirectCompleteBodyModel.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. using System.Collections.Generic;
  2. using System.Text.Json.Serialization;
  3. namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
  4. {
  5. /// <summary>
  6. /// 微信支付分 - 创单结单合并 - 请求JSON参数
  7. /// </summary>
  8. /// <remarks>
  9. /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">微信支付分 - 创单结单合并API</a> - 最新更新时间:2020.04.23</para>
  10. /// </remarks>
  11. public class WeChatPayScoreServiceOrderDirectCompleteBodyModel : WeChatPayObject
  12. {
  13. /// <summary>
  14. /// 商户服务订单号
  15. /// </summary>
  16. /// <remarks>
  17. /// 商户系统内部服务订单号(不是交易单号),要求此参数只能由数字、大小写字母_-|*组成,且在同一个商户号下唯一。
  18. /// 详见[商户订单号]。
  19. /// <para>示例值:1234323JKHDFE1243252</para>
  20. /// </remarks>
  21. [JsonPropertyName("out_order_no")]
  22. public string OutOrderNo { get; set; }
  23. /// <summary>
  24. /// 应用ID
  25. /// </summary>
  26. /// <remarks>
  27. /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
  28. /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
  29. /// <para>示例值:wxd678efh567hg6787</para>
  30. /// </remarks>
  31. [JsonPropertyName("appid")]
  32. public string AppId { get; set; }
  33. /// <summary>
  34. /// 用户标识
  35. /// </summary>
  36. /// <remarks>
  37. /// 微信用户在商户对应appid下的唯一标识。
  38. /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
  39. /// </remarks>
  40. [JsonPropertyName("openid")]
  41. public string OpenId { get; set; }
  42. /// <summary>
  43. /// 服务ID
  44. /// </summary>
  45. /// <remarks>
  46. /// 该服务ID有本接口对应产品的权限。
  47. /// <para>示例值:500001</para>
  48. /// </remarks>
  49. [JsonPropertyName("service_id")]
  50. public string ServiceId { get; set; }
  51. /// <summary>
  52. /// 服务信息
  53. /// </summary>
  54. /// <remarks>
  55. /// 服务信息,用于介绍本订单所提供的服务 ,当参数长度超过20个字符时,报错处理。
  56. /// <para>示例值:某某酒店</para>
  57. /// </remarks>
  58. [JsonPropertyName("service_introduction")]
  59. public string ServiceIntroduction { get; set; }
  60. /// <summary>
  61. /// 付费项目
  62. /// </summary>
  63. /// <remarks>
  64. /// 付费项目列表,最多包含100条付费项目。
  65. /// </remarks>
  66. [JsonPropertyName("post_payments")]
  67. public List<PostPayment> PostPayments { get; set; }
  68. /// <summary>
  69. /// 商户优惠
  70. /// </summary>
  71. /// <remarks>
  72. /// 商户优惠列表,最多包含30条商户优惠。
  73. /// 如果传入,用户侧则显示此参数。
  74. /// </remarks>
  75. [JsonPropertyName("post_discounts")]
  76. public List<PostDiscount> PostDiscounts { get; set; }
  77. /// <summary>
  78. /// 服务时间段
  79. /// </summary>
  80. /// <remarks>
  81. /// 服务时间范围
  82. /// </remarks>
  83. [JsonPropertyName("time_range")]
  84. public TimeRange TimeRange { get; set; }
  85. /// <summary>
  86. /// 服务位置
  87. /// </summary>
  88. /// <remarks>
  89. /// 如果传入,用户侧则显示此参数。
  90. /// </remarks>
  91. [JsonPropertyName("location")]
  92. public Location Location { get; set; }
  93. /// <summary>
  94. /// 总金额
  95. /// </summary>
  96. /// <remarks>
  97. /// 1、金额:数字,必须≥0(单位:分)
  98. /// 2、总金额 =(完结付费项目1…+完结付费项目n)-(完结商户优惠项目1…+完结商户优惠项目n)
  99. /// 3、总金额上限:总金额≤“服务风险金额”
  100. /// <para>示例值:50000</para>
  101. /// </remarks>
  102. [JsonPropertyName("total_amount")]
  103. public long TotalAmount { get; set; }
  104. /// <summary>
  105. /// 微信支付服务分账标记
  106. /// </summary>
  107. /// <remarks>
  108. /// 完结订单分账接口标记。分账开通流程,详见
  109. /// false:不分账,默认:false
  110. /// true:分账。
  111. /// <para>示例值:false</para>
  112. /// </remarks>
  113. [JsonPropertyName("profit_sharing")]
  114. public bool ProfitSharing { get; set; }
  115. /// <summary>
  116. /// 订单优惠标记
  117. /// </summary>
  118. /// <remarks>
  119. /// 订单优惠标记,代金券或立减金优惠的参数,说明详见代金券或立减金优惠
  120. /// <para>示例值:goods_tag</para>
  121. /// </remarks>
  122. [JsonPropertyName("goods_tag")]
  123. public string GoodsTag { get; set; }
  124. /// <summary>
  125. /// 商户数据包
  126. /// </summary>
  127. /// <remarks>
  128. /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。 当商户数据包总长度超出256字符时,报错处理。
  129. /// <para>示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald</para>
  130. /// </remarks>
  131. [JsonPropertyName("attach")]
  132. public string Attach { get; set; }
  133. /// <summary>
  134. /// 商户回调地址
  135. /// </summary>
  136. /// <remarks>
  137. /// 商户接收用户确认订单和付款成功回调通知的地址。
  138. /// <para>示例值:https://api.test.com</para>
  139. /// </remarks>
  140. [JsonPropertyName("notify_url")]
  141. public string NotifyUrl { get; set; }
  142. }
  143. }