1. 程式人生 > >微信公眾號支付的回撥地址 不起作用的問題

微信公眾號支付的回撥地址 不起作用的問題

使用者在微信公眾號裡面付款,輸入支付密碼後會彈出一個微信頁面,頁面裡面有一個“完成”的按鈕。

如果支付後不點選完成按鈕,那麼:錢已經支付,但是框住的這段程式碼不會執行。

只有點選完成按鈕之後,才會走js裡支付成功後的程式碼,訂單資訊才會更改。

在微信支付的過程中,有這麼一個流程:使用者輸入密碼,微信驗證後會非同步通知商戶支付結果。

傳送通知的地址是之前在統一下單時,配置支付引數的notify_url 引數

我們在notify_url這個地址的所在方法中可以處理微信給我們傳送的資料,若資料顯示success,就可以編寫支付完成後的邏輯

但是我寫完notify方法後,一直沒起作用。

經過查詢資料和自己摸索,發現問題所在:

原因是:

回撥地址是必須能夠直接訪問的,不能有任何限制。而我們的公眾號專案是有“必須在微信瀏覽器開啟”的限制,所以微信伺服器不能傳送資訊過來。

解決方法:

       把回撥這個方法單獨拿出了,不用WX_controller 而是使用原生的CI_controller。

之前考慮的是本來就是在微信伺服器裡做處理,所以不會有問題。現在看來,這個想法是不對的,我們在專案裡驗證的是微信瀏覽器,而微信伺服器發訊息並不滿足這個要求。

現在問題解決了,貼下程式碼