解決Hbuilder打包的APP微信支付時沒法喚起支付,且提示{"code":-100,"message":"[payment微信:-1]General errors"}的問題

依次排查:php

一、menifest.json中配置了微信的appid是否是https://open.weixin.qq.com(微信開放平臺)對應的APP id,包名是否和微信開放平臺對應APP的包名一致(com.******.app)


二、服務端請求prepareid是否正確返回

三、服務端返回數據格式與官方是否一致(還有你的付款金額不能低於0.01元也就是不能低於1分錢喲):
{"appid":"wxbe5db3966730d866","noncestr":"b9Wq4qIWRNfkx3PQ","package":"Sign=WXPay","partnerid":"1486361592","prepayid":"wx201708151638194ade78ef790224970694","timestamp":1502786229,"sign":"A9A87CB00BDEA180E226CDA35EF4B325"}
若是不一致,去https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3查看php如何寫後端接口,若是你是java開發的後端本身百度對應的樣例

四、是否使用了本身生成的keystore證書,千萬別用google的免費證書,不然你怎麼死的都不知道,生成我的證書的方式
https://blog.csdn.net/qq_37860634/article/details/88954146

五、android版雲打包數字簽名與微信開放平臺是否一致,具體獲取安卓apk的簽名方法去https://jingyan.baidu.com/album/84b4f565a4864760f7da3250.html?picindex=2查看

手機裏面查看apk簽名界面
html

我是到了第五步才解決此問題的,當你去微信開放平臺修改了對應APP的應用簽名的時候,必定要等他個幾分鐘,畢竟人家騰訊服務器也會有緩存,而後你再把本身的app緩存清除下,或者重裝一次再去測試支付就能夠喚起微信支付了java