RefundQueryResponse.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. using System;
  2. using System.Collections.Generic;
  3. using PaySharp.Core;
  4. using PaySharp.Core.Request;
  5. using static PaySharp.Wechatpay.Response.RefundResponse;
  6. namespace PaySharp.Wechatpay.Response
  7. {
  8. public class RefundQueryResponse : BaseResponse
  9. {
  10. /// <summary>
  11. /// 订单总退款次数
  12. /// </summary>
  13. public int TotalRefundCount { get; set; }
  14. /// <summary>
  15. /// 微信订单号
  16. /// </summary>
  17. [ReName(Name = "transaction_id")]
  18. public string TradeNo { get; set; }
  19. /// <summary>
  20. /// 商户订单号
  21. /// </summary>
  22. public string OutTradeNo { get; set; }
  23. /// <summary>
  24. /// 订单金额
  25. /// 订单总金额,单位为分
  26. /// </summary>
  27. [ReName(Name = "total_fee")]
  28. public int TotalAmount { get; set; }
  29. /// <summary>
  30. /// 应结订单金额
  31. /// 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。
  32. /// </summary>
  33. [ReName(Name = "settlement_total_fee")]
  34. public int SettlementTotalAmount { get; set; }
  35. /// <summary>
  36. /// 货币类型
  37. /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,详见货币类型
  38. /// </summary>
  39. [ReName(Name = "fee_type")]
  40. public string AmountType { get; set; }
  41. /// <summary>
  42. /// 现金支付金额
  43. /// 订单现金支付金额,详见支付金额
  44. /// </summary>
  45. [ReName(Name = "cash_fee")]
  46. public int CashAmount { get; set; }
  47. /// <summary>
  48. /// 退款笔数
  49. /// </summary>
  50. public int RefundCount { get; set; }
  51. /// <summary>
  52. /// 退款列表
  53. /// </summary>
  54. public List<RefundResponse> Refunds { get; set; }
  55. internal override void Execute<TModel, TResponse>(Merchant merchant, Request<TModel, TResponse> request)
  56. {
  57. Refunds = ConvertUtil.ToList<RefundResponse, RefundCouponResponse>(GatewayData, -1);
  58. }
  59. public class RefundResponse
  60. {
  61. /// <summary>
  62. /// 商户退款单号
  63. /// </summary>
  64. public string OutRefundNo { get; set; }
  65. /// <summary>
  66. /// 微信退款单号
  67. /// </summary>
  68. [ReName(Name = "refund_id")]
  69. public string RefundNo { get; set; }
  70. /// <summary>
  71. /// 退款渠道
  72. /// ORIGINAL—原路退款
  73. /// BALANCE—退回到余额
  74. /// OTHER_BALANCE—原账户异常退到其他余额账户
  75. /// OTHER_BANKCARD—原银行卡异常退到其他银行卡
  76. /// </summary>
  77. public string RefundChannel { get; set; }
  78. /// <summary>
  79. /// 退款金额,退款总金额,单位为分,可以做部分退款
  80. /// </summary>
  81. [ReName(Name = "refund_fee")]
  82. public int RefundAmount { get; set; }
  83. /// <summary>
  84. /// 应结退款金额,去掉非充值代金券退款金额后的退款金额,退款金额=申请退款金额-非充值代金券退款金额,退款金额&lt;=申请退款金额
  85. /// </summary>
  86. [ReName(Name = "settlement_refund_fee")]
  87. public int SettlementRefundAmount { get; set; }
  88. /// <summary>
  89. /// 代金券退款总金额,代金券退款金额&lt;=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠
  90. /// </summary>
  91. [ReName(Name = "coupon_refund_fee")]
  92. public int CouponRefundAmount { get; set; }
  93. /// <summary>
  94. /// 退款代金券使用数量
  95. /// </summary>
  96. public int CouponRefundCount { get; set; }
  97. /// <summary>
  98. /// 退款代金券
  99. /// </summary>
  100. public List<RefundCouponResponse> RefundCoupons { get; set; }
  101. /// <summary>
  102. /// 退款状态
  103. /// SUCCESS—退款成功
  104. /// REFUNDCLOSE—退款关闭
  105. /// PROCESSING—退款处理中
  106. /// CHANGE—退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(pay.weixin.qq.com)-交易中心,手动处理此笔退款。
  107. /// </summary>
  108. public string RefundStatus { get; set; }
  109. /// <summary>
  110. /// 退款资金来源
  111. /// REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款/基本账户
  112. /// REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款
  113. /// </summary>
  114. public string RefundAccount { get; set; }
  115. /// <summary>
  116. /// 退款入款账户
  117. /// 取当前退款单的退款入账方
  118. /// 1)退回银行卡:
  119. /// 2)退回支付用户零钱:
  120. /// 3)退还商户:
  121. /// 4)退回支付用户零钱通:
  122. /// </summary>
  123. public string RefundRecvAccount { get; set; }
  124. /// <summary>
  125. /// 退款成功时间
  126. /// </summary>
  127. public DateTime RefundSuccessTime { get; set; }
  128. }
  129. }
  130. }