浅析微信支付:申请退款、退款回调接口、查询退款 (5)

注意:当一个订单部分退款超过10笔后,商户用微信订单号或商户订单号调退款查询API查询退款时,默认返回前10笔和total_refund_count(订单总退款次数)。商户需要查询同一订单下超过10笔的退款单时,可传入订单号及offset来查询,微信支付会返回offset及后面的10笔,以此类推。当商户传入的offset超过total_refund_count,则系统会返回报错PARAM_ERROR。

举例:

一笔订单下的退款单有36笔,当商户想查询第25笔时,可传入订单号及offset=24,微信支付平台会返回第25笔到第35笔的退款单信息,或商户可直接传入退款单号查询退款

以下为调用方式:

private void doRefundQuery() { // 四选一,微信订单号查询的优先级是: refund_id > out_refund_no > transaction_id > out_trade_no HashMap<String, String> data = new HashMap<String, String>(); // 商户订单号 data.put("out_trade_no", out_trade_no); // 微信订单号 data.put("transaction_id", out_trade_no); // 商户退款单号 data.put("out_refund_no", out_trade_no); // 微信退款单号 data.put("refund_id", out_trade_no); try { Map<String, String> r = wxpay.refundQuery(data); System.out.println(r); } catch (Exception e) { e.printStackTrace(); } }

PS:微信订单号查询的优先级是: refund_id > out_refund_no > transaction_id > out_trade_no

需要注意的是,查询退款时,需要注意退款返回的错误码,如果出现错误,需要及时同步商户系统中的退款数据。

结语

以上为申请退款、退款回调接口、查询退款相关的解释和源码,特别需要注意的是接收退款时的解密方式和替换安全文件,小伙伴们一定要注意哦,具体的源码可以看作者的github,里面对每个方法有详细的注释。

预告:下一篇文章 下载对账单和资金账单,敬请期待!!!

​如果想要提前一览源码的小伙伴,可以先看看我的 github,地址如下:

​​https://github.com/YClimb/wxpay-sdk/blob/master/README.md ​

加作者私人微信,作者微信号如下 yclimb,标明 微信支付 可拉入微信支付讨论群与小伙伴一起探讨哦,一定要标明 微信支付 哦~

到此本文就结束了,关注公众号查看更多推送!!!

关注我的公众号

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxyzf.html