今天下午和安卓和IOS聯調一下支付,一開始一切順利, 調訂單, 調統一支付, 結果到了調起微信打開支付的時候顯示支付失敗, 顯示 ( 支付驗證簽名失敗 ) 返回錯誤信息顯示 -2 ,按照常理應該顯示的是 -1
然后我一臉懵逼, 不是剛在官網測試了簽名顯示通過了嗎? 驗證簽名地址: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=20_1
然后重新回顧了下了文檔的流程, 檢查了下參數值, 參數大小寫, 簽名拼接邏輯, 簽名加密方法, 等並無異常, 但是微信調起還是顯示簽名失敗,
於是重頭開始篩查了一遍,
1. 統一下單接口可以使用並且正常返回參數,說明簽名加密規則和簽名解密規則正確,
2. 然后檢查調起微信參數大小寫,也沒問題,
3. 檢查參數類型和文檔區別, 發現提供的時間和類型長度不一致, 懷疑是這里的問題
經過一番測試, 發現這里的時間是 年月日時 代碼如下:
$data['timestamp'] = date("YmdH");
App測試之后調起成功 ! 支付小插曲解決!
總結 :
沒有仔細查看文檔,沒有注意小細節問題,
遇到問題嘗試解決的時候應該去論壇上查一下同類問題, 解決速度會快很多, 微信支付論壇 https://developers.weixin.qq.com/community/develop/mixflow
參考博文 https://developers.weixin.qq.com/community/develop/doc/000c8aeaa34098dc7408e86d05b000
諸君共勉之 !