QueryResponse.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. using System.Collections.Generic;
  2. using PaySharp.Core;
  3. using PaySharp.Core.Request;
  4. namespace PaySharp.Wechatpay.Response
  5. {
  6. public class QueryResponse : BaseResponse
  7. {
  8. /// <summary>
  9. /// 用户标识
  10. /// 用户在商户appid 下的唯一标识
  11. /// </summary>
  12. [ReName(Name = "openid")]
  13. public string OpenId { get; set; }
  14. /// <summary>
  15. /// 是否关注公众账号
  16. /// 仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注
  17. /// </summary>
  18. public string IsSubscribe { get; set; }
  19. /// <summary>
  20. /// 交易类型
  21. /// </summary>
  22. public string TradeType { get; set; }
  23. /// <summary>
  24. /// 交易状态
  25. /// SUCCESS—支付成功
  26. /// REFUND—转入退款
  27. /// NOTPAY—未支付
  28. /// CLOSED—已关闭
  29. /// REVOKED—已撤销(刷卡支付)
  30. /// USERPAYING--用户支付中
  31. /// PAYERROR--支付失败(其他原因,如银行返回失败)
  32. /// 支付状态机请见下单API页面
  33. /// </summary>
  34. public string TradeState { get; set; }
  35. /// <summary>
  36. /// 银行类型,采用字符串类型的银行标识,详见银行类型
  37. /// </summary>
  38. public string BankType { get; set; }
  39. /// <summary>
  40. /// 订单金额
  41. /// 订单总金额,单位为分
  42. /// </summary>
  43. [ReName(Name = "total_fee")]
  44. public int TotalAmount { get; set; }
  45. /// <summary>
  46. /// 应结订单金额
  47. /// 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。
  48. /// </summary>
  49. [ReName(Name = "settlement_total_fee")]
  50. public int SettlementTotalAmount { get; set; }
  51. /// <summary>
  52. /// 货币类型
  53. /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,详见货币类型
  54. /// </summary>
  55. [ReName(Name = "fee_type")]
  56. public string AmountType { get; set; }
  57. /// <summary>
  58. /// 现金支付货币类型
  59. /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
  60. /// </summary>
  61. [ReName(Name = "cash_fee_type")]
  62. public string CashAmountType { get; set; }
  63. /// <summary>
  64. /// 现金支付金额
  65. /// 订单现金支付金额,详见支付金额
  66. /// </summary>
  67. [ReName(Name = "cash_fee")]
  68. public int CashAmount { get; set; }
  69. /// <summary>
  70. /// 代金券金额
  71. /// “代金券”金额小于等于订单金额,订单金额-“代金券”金额=现金支付金额,详见支付金额
  72. /// </summary>
  73. [ReName(Name = "coupon_fee")]
  74. public int CouponAmount { get; set; }
  75. /// <summary>
  76. /// 代金券使用数量
  77. /// </summary>
  78. public int CouponCount { get; set; }
  79. /// <summary>
  80. /// 微信支付订单号
  81. /// </summary>
  82. [ReName(Name = "transaction_id")]
  83. public string TradeNo { get; set; }
  84. /// <summary>
  85. /// 商户订单号
  86. /// </summary>
  87. public string OutTradeNo { get; set; }
  88. /// <summary>
  89. /// 商家数据包
  90. /// </summary>
  91. public string Attach { get; set; }
  92. /// <summary>
  93. /// 支付完成时间
  94. /// </summary>
  95. public string TimeEnd { get; set; }
  96. /// <summary>
  97. /// 交易状态描述
  98. /// 对当前查询订单状态的描述和下一步操作的指引
  99. /// </summary>
  100. public string TradeStateDesc { get; set; }
  101. /// <summary>
  102. /// 退款代金券
  103. /// </summary>
  104. public List<CouponResponse> Coupons { get; set; }
  105. internal override void Execute<TModel, TResponse>(Merchant merchant, Request<TModel, TResponse> request)
  106. {
  107. Coupons = ConvertUtil.ToList<CouponResponse, object>(GatewayData, -1);
  108. }
  109. public class CouponResponse
  110. {
  111. /// <summary>
  112. /// 编号
  113. /// </summary>
  114. [ReName(Name = "coupon_id")]
  115. public string Id { get; set; }
  116. /// <summary>
  117. /// 类型
  118. /// CASH--充值代金券
  119. /// NO_CASH---非充值优惠券
  120. /// </summary>
  121. [ReName(Name = "coupon_type")]
  122. public string Type { get; set; }
  123. /// <summary>
  124. /// 金额
  125. /// </summary>
  126. [ReName(Name = "coupon_fee")]
  127. public int Amount { get; set; }
  128. }
  129. }
  130. }