开头什么都先不讲,就先说说对接微信的三大不爽!!!!
-
微信审核步骤太繁琐,且审核的周期过长。
-
微信支付文档太杂乱,只有按照文档走一遍报错了,去网上搜原因的时候,你会在另一个两眼看不到的文档中找到原因。
-
微信字段名一会大写一会小写,偏偏它们对字段的大小写还要求特别严格。
-
报错原因告诉你fail error,剩下的你自己去查吧,查不到就去猜吧!
正文开始:
1.微信前期的审核工作太繁琐,其它博主有讲过这里就不说了。不过有一点需要注意,前面都准备好了之后,不要忘记在微信商户平台===》产品中心===》APPID授权管理进行绑定,这一步也是需要审核的(耗时间!)。
2.先调用统一下单api,如果你在这一步出错了,建议你用起来开发工具(我用的idea)的debug模式,走到发送xml数据那一步时,你会看到因为各种审核不通过或者商户号与appid不统一的错误,如果不是debug模式,微信给的错误消息你是看不到的。得到错误消息后,复制粘贴去百度就能解决(这个步骤出现的问题还是很好解决的,就是解决方案一般都是审核可能需要耗费点时间)。
3/4.3和4就放在一起说了,当你看到
"errMsg": "requestPayment:fail errors"
这个错误时,你需要做的是先去dcloud社区查找相关的解决方案,如果都试过了,还不能解决,如果代码逻辑你觉得没问题,那么第一步你要做的就是先去验证签名是否正确,第二步就是对照字段名称大小写是否正确。我就是错在了大小写上:在返还给uniapp的orderinfo数据中,timestamp字段名我写成了timeStamp,一个大写的S搞了我好几天!!对了,uniapp官网说微信支付orderinfo需要string格式,但是亲测好像object也是可以的。
最后就还是吐槽,支付宝支付比微信支付简单一百倍!!!