前提:由于涉及公司業務,部分核心代碼無法展示,這里僅僅是聊一下如何解決微信公眾號支付無法支付的解決方案。
問題:微信公眾號平臺支付失敗。
頁面:大致頁面就是下面這張圖片(引自《公眾號支付開發者文檔》中的"公眾號支付"-"場景介紹")所展示的那樣,可以選擇充值金額,可以點擊立即充值,然后就可以進行充值了。

現象:
1、點擊"立即充值"按鈕,頁面將會顯示微信支付慣有的灰色加載(我也只能形容成這樣了),然后一閃而過,無法進行正常的充值業務;
2、此充值頁面無法正常加載。表現為微信上方綠色進度條瞬間加載完成,但無法顯示正常的頁面,是一片白色的屏幕;
3、點擊"立即充值"按鈕,頁面無跳轉,頁面無反應,頁面死活不動,死了。
排查步驟編號:
從這里開始是我對于整個問題的排查流程,其中因為涉及3個問題,為了條理更加清晰,這里的三大問題就用阿拉伯數字(1、2、3)表示,內在流程歸屬于1.1、1.2、1.3......3.1這樣的形式(這里希望可以得到更好的分類建議,我這邊兒現在沒有太多的時間去查閱文章編號規則,寫論文的那點兒套路早就忘了)。
排查&解決:
1. 針對"點擊'立即充值'按鈕,頁面將會顯示微信支付慣有的灰色加載(我也只能形容成這樣了),然后一閃而過,無法進行正常的充值業務"的問題解決。
1.1 起先排查后臺日志,進入微信后臺模塊所部署的生產環境內。拷貝當前日志,通過vim命令查看該日志,依照客服提供的充值時間點進行排查,最終查到這樣一個錯誤:
<xml> <return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[invalid out_trade_no]]></return_msg></xml>
從字面意思可以看出這是在告訴我出現了非法的訂單號,這樣我又一次依據此日志記錄向上排查其他日志信息,又發現了一個疑問(除卻紅色標注的out_trade_no,其余內容數據已替換成《公眾號支付開發者文檔》中的"API列表"-"統一下單"-"請求參數"提供的示例值):
appid=wxd678efh567hg6787&body=會員充值&device_info=013467007045764&mch_id=1230000109&nonce_str=5K8264ILTKCH16CQ2502SI8ZNMTM67VS¬ify_url=http://www.weixin.qq.com/wxpay/pay.php&openid=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&out_trade_no=2018年04月08日17時1609001&total_fee=1000&trade_type=JSAPI&key=KevenPotter
新聞熱點
疑難解答