分享一个微信支付遇到的问题,用户付款了,没有回调
情景:
微信小程序
程序之前一直正常运行,可以正常支付,突然有一天客户打电话说有一个顾客付钱了,但是显示未支付(程序没走回调)
研究,研究,…
最后发现,当客户使用微信摇一摇红包(就是那种摇一摇1分2分钱的那种)时,程序不走回调
然后到处寻找答案…微信支付官方论坛也有类似的问题,但是还是没有解决…
最后自己研究数据,发现用户使用摇一摇红包时,回调的参数和普通的参数不一样,自己的程序使用固定的JavaBean ,所以导致程序错误,回调没有进行下去!!
然后就到了改代码的环节:
修改前:
可见,修改前是使用一个JavaBean(实体类)来接收XStream转来的数据(将微信回调的xml格式数据转换为我定义的Wxreturn)
修改后:
如上图,修改后直接使用工具类将xml转为Map,循环赋值,这样子就不被返回值限制
希望对大家有帮助
本文禁止转载