最近开发中有接入微信支付的需求,来聊聊我跟java童鞋开发中遇到的那些坑。。
下图为整个业务流程:

第一坑
遇到第一个坑是验证签名失败,后端童鞋算出以下的sign参数并不是前端调起支付需要的paySign参数,参数需要重新进行签名计算,参与签名的参数为:appId、timeStamp、nonceStr、package、signType,参数区分大小写


这两个并不一样哦~调起支付的paySign需要算两次
第二坑
时间戳的坑

这个调起支付的时间戳并不是代码执行到调起支付时的时间戳,而是后端小伙伴下单时的时间戳,需要后端返回给前端,如果支付的时候有时成功有时失败,说不定是踩到这个坑哦~
第三坑
还是时间戳的坑
我明明写了timeStamp这个参数,ios调起支付还是报错缺少timeStamp参数,是因为ios系统调起支付需要的timeStamp参数必须是字符串!
欢迎各位童鞋交流指正~