前言:
- 前段时间做公司的微信支付模块,功能开发完成后,多次测试未发现问腿。
然而上线前一个小时,测试发现了一个巨大bug! 巨额支付,扫码后支付
价格为一分钱!
问题分析:
- 按道理来说,我计算的金额的方式是不可能有问题的。我远程debug后,一路下来也没有发现什么问题。所以我首先怀疑是微信平台的问题!
问题所在:
- 我们的产品单价是 150RMB,用户购买必须是10的倍数,那么单笔交易最低金额是1500,而最大设置的是150w! 单笔超过10w,扫码后支付结果是一分钱,而且微信不会执行回调。说明,微信扫码支付有限额。
问题原因:
- 微信限额
- 微信下单传入的金额是int类型
- 微信金额超过上线后,默认为0.01钱,而且不会执行回调(保护机制)
解决办法:
- 用户端提示限额,巨额可分多笔支付
还好在上线前及时解决了
本文详细解析了在微信支付模块中遇到的一个重大bug,即在支付超过一定限额时,实际支付金额变为一分钱,且微信不执行回调。文章揭示了微信支付的内部限额机制,并提供了合理的解决方案。
1万+

被折叠的 条评论
为什么被折叠?



