using System.Collections.Generic; using PaySharp.Core; using PaySharp.Core.Request; namespace PaySharp.Wechatpay.Response { public class RefundResponse : BaseResponse { /// /// 微信订单号 /// [ReName(Name = "transaction_id")] public string TradeNo { get; set; } /// /// 商户订单号 /// public string OutTradeNo { get; set; } /// /// 商户退款单号 /// public string OutRefundNo { get; set; } /// /// 微信退款单号 /// [ReName(Name = "refund_id")] public string RefundNo { get; set; } /// /// 退款金额,退款总金额,单位为分,可以做部分退款 /// [ReName(Name = "refund_fee")] public int RefundAmount { get; set; } /// /// 应结退款金额,去掉非充值代金券退款金额后的退款金额,退款金额=申请退款金额-非充值代金券退款金额,退款金额<=申请退款金额 /// [ReName(Name = "settlement_refund_fee")] public int SettlementRefundAmount { get; set; } /// /// 订单金额 /// 订单总金额,单位为分 /// [ReName(Name = "total_fee")] public int TotalAmount { get; set; } /// /// 应结订单金额 /// 当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。 /// [ReName(Name = "settlement_total_fee")] public int SettlementTotalAmount { get; set; } /// /// 货币类型 /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,详见货币类型 /// [ReName(Name = "fee_type")] public string AmountType { get; set; } /// /// 现金支付金额 /// 订单现金支付金额,详见支付金额 /// [ReName(Name = "cash_fee")] public int CashAmount { get; set; } /// /// 现金支付货币类型 /// 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 /// [ReName(Name = "cash_fee_type")] public string CashAmountType { get; set; } /// /// 现金退款金额,现金退款金额,单位为分,只能为整数,详见支付金额 /// [ReName(Name = "cash_refund_fee")] public int CashRefundAmount { get; set; } /// /// 代金券退款总金额,代金券退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠 /// [ReName(Name = "coupon_refund_fee")] public int CouponRefundAmount { get; set; } /// /// 退款代金券使用数量 /// public int CouponRefundCount { get; set; } /// /// 退款代金券 /// public List RefundCoupons { get; set; } internal override void Execute(Merchant merchant, Request request) { RefundCoupons = ConvertUtil.ToList(GatewayData, -1); } public class RefundCouponResponse { /// /// 编号 /// [ReName(Name = "coupon_refund_id")] public string Id { get; set; } /// /// 类型 /// CASH--充值代金券 /// NO_CASH---非充值优惠券 /// [ReName(Name = "coupon_type")] public string Type { get; set; } /// /// 金额 /// [ReName(Name = "coupon_refund_fee")] public int Amount { get; set; } } } }