RefundQuery.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. 
  2. namespace Wechat.PayAPI
  3. {
  4. public class RefundQuery
  5. {
  6. /***
  7. * 退款查询完整业务流程逻辑
  8. * @param refund_id 微信退款单号(优先使用)
  9. * @param out_refund_no 商户退款单号
  10. * @param transaction_id 微信订单号
  11. * @param out_trade_no 商户订单号
  12. * @return 退款查询结果(xml格式)
  13. */
  14. public static string Run(string refund_id, string out_refund_no, string transaction_id, string out_trade_no, Gateway.Payment.Shared.WxPayConfig config)
  15. {
  16. //Log.Info("RefundQuery", "RefundQuery is processing...");
  17. WxPayData data = new WxPayData();
  18. if(!string.IsNullOrEmpty(refund_id))
  19. {
  20. data.SetValue("refund_id", refund_id);//微信退款单号,优先级最高
  21. }
  22. else if(!string.IsNullOrEmpty(out_refund_no))
  23. {
  24. data.SetValue("out_refund_no", out_refund_no);//商户退款单号,优先级第二
  25. }
  26. else if(!string.IsNullOrEmpty(transaction_id))
  27. {
  28. data.SetValue("transaction_id", transaction_id);//微信订单号,优先级第三
  29. }
  30. else
  31. {
  32. data.SetValue("out_trade_no", out_trade_no);//商户订单号,优先级最低
  33. }
  34. WxPayData result = WxPayApi.RefundQuery(data, config);//提交退款查询给API,接收返回数据
  35. //Log.Info("RefundQuery", "RefundQuery process complete, result : " + result.ToXml());
  36. return result.ToPrintStr();
  37. }
  38. }
  39. }