using System; using System.Collections.Generic; using PaySharp.Core; using PaySharp.Core.Request; using static PaySharp.Wechatpay.Response.RefundResponse; namespace PaySharp.Wechatpay.Response { public class RefundQueryResponse : BaseResponse { /// /// 订单总退款次数 /// public int TotalRefundCount { get; set; } /// /// 微信订单号 /// [ReName(Name = "transaction_id")] public string TradeNo { get; set; } /// /// 商户订单号 /// public string OutTradeNo { 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; } /// /// 退款笔数 /// public int RefundCount { get; set; } /// /// 退款列表 /// public List Refunds { get; set; } internal override void Execute(Merchant merchant, Request request) { Refunds = ConvertUtil.ToList(GatewayData, -1); } public class RefundResponse { /// /// 商户退款单号 /// public string OutRefundNo { get; set; } /// /// 微信退款单号 /// [ReName(Name = "refund_id")] public string RefundNo { get; set; } /// /// 退款渠道 /// ORIGINAL—原路退款 /// BALANCE—退回到余额 /// OTHER_BALANCE—原账户异常退到其他余额账户 /// OTHER_BANKCARD—原银行卡异常退到其他银行卡 /// public string RefundChannel { get; set; } /// /// 退款金额,退款总金额,单位为分,可以做部分退款 /// [ReName(Name = "refund_fee")] public int RefundAmount { get; set; } /// /// 应结退款金额,去掉非充值代金券退款金额后的退款金额,退款金额=申请退款金额-非充值代金券退款金额,退款金额<=申请退款金额 /// [ReName(Name = "settlement_refund_fee")] public int SettlementRefundAmount { get; set; } /// /// 代金券退款总金额,代金券退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠 /// [ReName(Name = "coupon_refund_fee")] public int CouponRefundAmount { get; set; } /// /// 退款代金券使用数量 /// public int CouponRefundCount { get; set; } /// /// 退款代金券 /// public List RefundCoupons { get; set; } /// /// 退款状态 /// SUCCESS—退款成功 /// REFUNDCLOSE—退款关闭 /// PROCESSING—退款处理中 /// CHANGE—退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(pay.weixin.qq.com)-交易中心,手动处理此笔退款。 /// public string RefundStatus { get; set; } /// /// 退款资金来源 /// REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款/基本账户 /// REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款 /// public string RefundAccount { get; set; } /// /// 退款入款账户 /// 取当前退款单的退款入账方 /// 1)退回银行卡: /// 2)退回支付用户零钱: /// 3)退还商户: /// 4)退回支付用户零钱通: /// public string RefundRecvAccount { get; set; } /// /// 退款成功时间 /// public DateTime RefundSuccessTime { get; set; } } } }