沙箱環境開發支付寶支付,收不到非同步通知(使用Ngrok內網穿透)

翱翔於世紀發表於2020-12-20

一、問題描述

最近在沙箱環境下開發支付寶的支付模組,遇到了非同步通知介面沒有被支付寶呼叫的情況。檢查Alipay配置檔案,發現配置檔案並沒有寫錯,比如:商戶的私鑰、支付寶的公鑰以及非同步通知路徑和同步通知路徑也符合要求沒有寫上引數。在這個時候也很疑惑,為什麼配置檔案沒有出錯,為什麼就是非同步通知的介面就是沒有呼叫呢???甚至一度懷疑,支付寶是不是在針對我,哈哈哈哈哈?。

二、發現問題

前提介紹:Ngrok是一個反向代理,通過在公共的端點和本地執行的 Web 伺服器之間建立一個安全的通道,作用就是可以把你本地的專案部署到外網上,可以供支付寶訪問得到你的非同步通知介面路徑。問題出現在Ngrok上,因為第一次開通隧道服務,如下截圖:
在這裡插入圖片描述
在第一次開通的時候,我填寫了http驗證使用者名稱和http驗證密碼這兩項內容,導致了每次訪問都要輸入使用者名稱和密碼進行身份驗證,問題顯然了呀。就是因為我設定了使用者名稱和密碼,所以支付寶可以傳送非同步請求,但是要輸入使用者名稱和密碼,顯然支付寶的請求是不會自動填寫使用者名稱和密碼,所以非同步通知收不到。解決方法:將驗證使用者名稱和密碼刪除,不需要驗證,就完美解決了非同步通知收不到的問題。
在這裡插入圖片描述

B站學習支付寶支付的教程:
springboot整合支付寶線上支付專案實戰公開課之支付寶沙箱環境線上支付、退款、查詢…

相關文章