RefundResponse.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. using System.Collections.Generic;
  2. using PaySharp.Core;
  3. using PaySharp.Core.Request;
  4. namespace PaySharp.Wechatpay.Response
  5. {
  6. public class RefundResponse : BaseResponse
  7. {
  8. /// <summary>
  9. /// 微信订单号
  10. /// </summary>
  11. [ReName(Name = "transaction_id")]
  12. public string TradeNo { get; set; }
  13. /// <summary>
  14. /// 商户订单号
  15. /// </summary>
  16. public string OutTradeNo { get; set; }
  17. /// <summary>
  18. /// 商户退款单号
  19. /// </summary>
  20. public string OutRefundNo { get; set; }
  21. /// <summary>
  22. /// 微信退款单号
  23. /// </summary>
  24. [ReName(Name = "refund_id")]
  25. public string RefundNo { get; set; }
  26. /// <summary>
  27. /// 退款金额,退款总金额,单位为分,可以做部分退款
  28. /// </summary>
  29. [ReName(Name = "refund_fee")]
  30. public int RefundAmount { get; set; }
  31. /// <summary>
  32. /// 应结退款金额,去掉非充值代金券退款金额后的退款金额,退款金额=申请退款金额-非充值代金券退款金额,退款金额&lt;=申请退款金额
  33. /// </summary>
  34. [ReName(Name = "settlement_refund_fee")]
  35. public int SettlementRefundAmount { get; set; }
  36. /// <summary>
  37. /// 订单金额
  38. /// 订单总金额,单位为分
  39. /// </summary>
  40. [ReName(Name = "total_fee")]
  41. public int TotalAmount { get; set; }
  42. /// <summary>
  43. /// 应结订单金额
  44. /// 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。
  45. /// </summary>
  46. [ReName(Name = "settlement_total_fee")]
  47. public int SettlementTotalAmount { get; set; }
  48. /// <summary>
  49. /// 货币类型
  50. /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,详见货币类型
  51. /// </summary>
  52. [ReName(Name = "fee_type")]
  53. public string AmountType { get; set; }
  54. /// <summary>
  55. /// 现金支付金额
  56. /// 订单现金支付金额,详见支付金额
  57. /// </summary>
  58. [ReName(Name = "cash_fee")]
  59. public int CashAmount { get; set; }
  60. /// <summary>
  61. /// 现金支付货币类型
  62. /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
  63. /// </summary>
  64. [ReName(Name = "cash_fee_type")]
  65. public string CashAmountType { get; set; }
  66. /// <summary>
  67. /// 现金退款金额,现金退款金额,单位为分,只能为整数,详见支付金额
  68. /// </summary>
  69. [ReName(Name = "cash_refund_fee")]
  70. public int CashRefundAmount { get; set; }
  71. /// <summary>
  72. /// 代金券退款总金额,代金券退款金额&lt;=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠
  73. /// </summary>
  74. [ReName(Name = "coupon_refund_fee")]
  75. public int CouponRefundAmount { get; set; }
  76. /// <summary>
  77. /// 退款代金券使用数量
  78. /// </summary>
  79. public int CouponRefundCount { get; set; }
  80. /// <summary>
  81. /// 退款代金券
  82. /// </summary>
  83. public List<RefundCouponResponse> RefundCoupons { get; set; }
  84. internal override void Execute<TModel, TResponse>(Merchant merchant, Request<TModel, TResponse> request)
  85. {
  86. RefundCoupons = ConvertUtil.ToList<RefundCouponResponse, object>(GatewayData, -1);
  87. }
  88. public class RefundCouponResponse
  89. {
  90. /// <summary>
  91. /// 编号
  92. /// </summary>
  93. [ReName(Name = "coupon_refund_id")]
  94. public string Id { get; set; }
  95. /// <summary>
  96. /// 类型
  97. /// CASH--充值代金券
  98. /// NO_CASH---非充值优惠券
  99. /// </summary>
  100. [ReName(Name = "coupon_type")]
  101. public string Type { get; set; }
  102. /// <summary>
  103. /// 金额
  104. /// </summary>
  105. [ReName(Name = "coupon_refund_fee")]
  106. public int Amount { get; set; }
  107. }
  108. }
  109. }