微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案
背景:最近双十一活动,修改了新的下单方法,遇到了一个问题困扰了好几天,用户在微信环境下使用JSAPI方式付完款后,显示如下图:
寻找问题根源比较曲折,不是所有的用户都不能付款,只有少部分用户不能付款,问了一下用户,用户反馈用绑定的邮政和浦发银行的卡支付是不行的
一边自己找原因,一边问内部的人是什么原因
最终还没来得急等到回复,自己在网上找了几篇文章后怀疑是JSAPI 统一下单 参数 商品描述 body 描述中出现了特殊符号,特别是这一篇
防踩坑指南:对接支付渠道二三事
然后,找了有浦发银行卡的同事在测试环境试了一下,确实如此,
body 为 "课时卡购买[{课时购买}]" 时,必现『支付失败,如果已扣款,资金在0-3个工作日原路返回』弹窗文案
body 为 "课时卡购买" 时,则不会出现此情况,能够正常支付
所以,如果出现少部分用户反馈此场景时,可能真的要检查是否下单描述参数中有出现特殊字符,毕竟现阶段微信支付对接了300多个银行机构,有一些银行可能真的有校验特殊字符参数会下单失败的情况