WeChatPayPartnerTransactionsNotify.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. using System.Collections.Generic;
  2. using System.Text.Json.Serialization;
  3. using Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain;
  4. namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
  5. {
  6. /// <summary>
  7. /// 基础支付(服务商)- 支付通知
  8. /// </summary>
  9. /// <remarks>
  10. /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_11.shtml">支付通知API</a> - 最新更新时间:2020.05.26</para>
  11. /// </remarks>
  12. public class WeChatPayPartnerTransactionsNotify : WeChatPayNotify
  13. {
  14. /// <summary>
  15. /// 服务商公众号ID
  16. /// </summary>
  17. /// <remarks>
  18. /// 服务商申请的公众号或移动应用appid。
  19. /// <para>示例值:wx8888888888888888</para>
  20. /// </remarks>
  21. [JsonPropertyName("sp_appid")]
  22. public string SpAppId { get; set; }
  23. /// <summary>
  24. /// 服务商户号
  25. /// </summary>
  26. /// <remarks>
  27. /// 服务商户号,由微信支付生成并下发
  28. /// <para>示例值:1230000109</para>
  29. /// </remarks>
  30. [JsonPropertyName("sp_mchid")]
  31. public string SpMchId { get; set; }
  32. /// <summary>
  33. /// 子商户公众号ID
  34. /// </summary>
  35. /// <remarks>
  36. /// 子商户申请的公众号或移动应用appid。
  37. /// <para>示例值:wxd678efh567hg6999</para>
  38. /// </remarks>
  39. [JsonPropertyName("sub_appid")]
  40. public string SubAppId { get; set; }
  41. /// <summary>
  42. /// 子商户号
  43. /// </summary>
  44. /// <remarks>
  45. /// 子商户的商户号,有微信支付生成并下发。
  46. /// <para>示例值:1900000109</para>
  47. /// </remarks>
  48. [JsonPropertyName("sub_mchid")]
  49. public string SubMchId { get; set; }
  50. /// <summary>
  51. /// 商户订单号
  52. /// </summary>
  53. /// <remarks>
  54. /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
  55. /// 特殊规则:最小字符长度为6
  56. /// <para>示例值:1217752501201407033233368018</para>
  57. /// </remarks>
  58. [JsonPropertyName("out_trade_no")]
  59. public string OutTradeNo { get; set; }
  60. /// <summary>
  61. /// 微信支付订单号
  62. /// </summary>
  63. /// <remarks>
  64. /// 微信支付系统生成的订单号。
  65. /// <para>示例值:1217752501201407033233368018</para>
  66. /// </remarks>
  67. [JsonPropertyName("transaction_id")]
  68. public string TransactionId { get; set; }
  69. /// <summary>
  70. /// 交易类型
  71. /// </summary>
  72. /// <remarks>
  73. /// 交易类型,枚举值:
  74. /// JSAPI:公众号支付
  75. /// NATIVE:扫码支付
  76. /// APP:APP支付
  77. /// MICROPAY:付款码支付
  78. /// MWEB:H5支付
  79. /// FACEPAY:刷脸支付
  80. /// <para>示例值:MICROPAY</para>
  81. /// </remarks>
  82. [JsonPropertyName("trade_type")]
  83. public string TradeType { get; set; }
  84. /// <summary>
  85. /// 交易状态
  86. /// </summary>
  87. /// <remarks>
  88. /// 交易状态,枚举值:
  89. /// SUCCESS:支付成功
  90. /// REFUND:转入退款
  91. /// NOTPAY:未支付
  92. /// CLOSED:已关闭
  93. /// REVOKED:已撤销(付款码支付)
  94. /// USERPAYING:用户支付中(付款码支付)
  95. /// PAYERROR:支付失败(其他原因,如银行返回失败)
  96. /// <para>示例值:SUCCESS</para>
  97. /// </remarks>
  98. [JsonPropertyName("trade_state")]
  99. public string TradeState { get; set; }
  100. /// <summary>
  101. /// 交易状态描述
  102. /// </summary>
  103. /// <remarks>
  104. /// 交易状态描述
  105. /// <para>示例值:支付失败,请重新下单支付</para>
  106. /// </remarks>
  107. [JsonPropertyName("trade_state_desc")]
  108. public string TradeStateDesc { get; set; }
  109. /// <summary>
  110. /// 付款银行
  111. /// </summary>
  112. /// <remarks>
  113. /// 银行类型,采用字符串类型的银行标识。
  114. /// <para>示例值:CMC</para>
  115. /// </remarks>
  116. [JsonPropertyName("bank_type")]
  117. public string BankType { get; set; }
  118. /// <summary>
  119. /// 附加数据
  120. /// </summary>
  121. /// <remarks>
  122. /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
  123. /// <para>示例值:自定义数据</para>
  124. /// </remarks>
  125. [JsonPropertyName("attach")]
  126. public string Attach { get; set; }
  127. /// <summary>
  128. /// 支付完成时间
  129. /// </summary>
  130. /// <remarks>
  131. /// 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
  132. /// <para>示例值:2018-06-08T10:34:56+08:00</para>
  133. /// </remarks>
  134. [JsonPropertyName("success_time")]
  135. public string SuccessTime { get; set; }
  136. /// <summary>
  137. /// 支付者
  138. /// </summary>
  139. /// <remarks>
  140. /// <para>示例值:见请求示例</para>
  141. /// </remarks>
  142. [JsonPropertyName("payer")]
  143. public PartnerPayerInfo Payer { get; set; }
  144. /// <summary>
  145. /// 订单金额
  146. /// </summary>
  147. /// <remarks>
  148. /// 订单金额信息
  149. /// </remarks>
  150. [JsonPropertyName("amount")]
  151. public Amount Amount { get; set; }
  152. /// <summary>
  153. /// 场景信息
  154. /// </summary>
  155. /// <remarks>
  156. /// 支付场景描述
  157. /// </remarks>
  158. [JsonPropertyName("scene_info")]
  159. public SceneInfo SceneInfo { get; set; }
  160. /// <summary>
  161. /// 优惠功能
  162. /// </summary>
  163. /// <remarks>
  164. /// 优惠功能,享受优惠时返回该字段。
  165. /// </remarks>
  166. [JsonPropertyName("promotion_detail")]
  167. public List<PromotionDetail> PromotionDetail { get; set; }
  168. }
  169. }