微信公众号支付的那些坑

339 阅读1分钟

最近开发中有接入微信支付的需求,来聊聊我跟java童鞋开发中遇到的那些坑。。

下图为整个业务流程:



第一坑 

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



这两个并不一样哦~调起支付的paySign需要算两次

第二坑

时间戳的坑


这个调起支付的时间戳并不是代码执行到调起支付时的时间戳,而是后端小伙伴下单时的时间戳,需要后端返回给前端,如果支付的时候有时成功有时失败,说不定是踩到这个坑哦~

第三坑

还是时间戳的坑

我明明写了timeStamp这个参数,ios调起支付还是报错缺少timeStamp参数,是因为ios系统调起支付需要的timeStamp参数必须是字符串!


欢迎各位童鞋交流指正~