返回的参数如下
{"result":{"return_code":"SUCCESS","return_msg":"OK","appid":"wxfe8bf3702412331f","mch_id":"1600336438","nonce_str":"afhIcn2MQuQGsoDk","sign":"4CC422F230018353D7AB92CD338F028E","resu
lt_code":"FAIL","err_code":"INVALID_REQUEST","err_code_des":"订单金额或退款金额与之前请求不一致,请核实后再试"}}
在支付平台中查询出的订单信息显示,该订单为实际已支付的订单,支付金额与记录一致,支付平台中可申请退款金额也与接口申请退款金额一致
今天的其他订单也有退款,都成功的,就这个失败,前几天也有此情况发生。
请问是什么问题,我们该如何解决?
请按照以下几点检查:
1,total_fee或refund_fee(金额参数单位为分,不能加小数点)填写错误,请仔细检查确认
2,同一个商户退款单号发起重复调用,退款金额不一致
【请求数据】:{"out_trade_no":"622848385024","out_refund_no":"597078515728","notify_url":"~~/apis/order/refund/result/1","amount":{"refund":15800,"total":15800,"currency":"CNY"}}
商户id:1648391354
报错:异常信息】:订单金额或退款金额与之前请求不一致,请核实后再试
我们遇到这个问题的原因是,发起了5笔退款,退款的单号一致,造成了这个错误,所以每一笔退款,退款单号要不重复才行(退款单号不是订单号!)。
<total_fee>2</total_fee> <refund_fee>1</refund_fee>
需要注意下,微信退款时需要传入两个参数,原始支付金额total_fee和本次退款的金额refund_fee,如果原始支付金额refund_fee和实际的支付金额不一致时,就会报这个错误:订单金额或退款金额与之前请求不一致,请核实后再试
可以对比下下单付款时的支付金额和退款时的原始支付金额是否一致。
我遇到的是这个原因导致的。
支付单号:202101281738387409
退款单号:202101281752448623
总金额:1906
退款金额:1906
这个关键要看你请求参数。但你没有贴出来。
另外要看你是否使用相同的退款单号发起过多次退款。