支付寶支付非同步回撥的一些問題
阿新 • • 發佈:2019-02-06
做了好多次支付寶支付,還是經常掉坑,現在整理下,作為參考
1,關於設定公鑰
一定要注意,是“支付寶公鑰”,不要填應用公鑰,不然就坑了
2、關於回撥的域名地址
乾淨些,不要有引數,如:http://*****.com/notify.php,千萬不要寫:http://*****.com/back.php?r=notify。
這個注意是針對用框架的,一定要把url美化了,不然直接用帶引數的,回撥的時候會把“?”後面的引數全部去掉的, 那麼肯定訪問不到實際回撥函數了,只能是首頁之類的了。
3、注意設定回撥域名設定
這個回撥是應用閘道器,不是授權回撥地址,之前沒注意,怎麼都不能回撥。
4、關於引數中含有中文
支付寶回撥是直接給的中文的,沒有編碼。自己記錄日誌的時候編碼再放到日誌的,所以直接拿日誌裡面的內容用簽名工具驗證,怎麼都驗證不通過。所以用demo裡的預設不編碼就可以了,不要把中文編碼了。(我用的PHP,如果是java的中文需要自己處理下)
5、最後一個是警告自己的
一定要看清楚引數,不要亂寫。本地其他都好好的,最後一步硬是把自己給搞死,回撥的訂單id引數“out_trade_no”不 是“orderid”,金額是“total_amount”不是“money”,因為一次寫多個支付介面,所以回撥驗證通過後處理的地方是一個公共函式,直接複製的,都沒注意,結果浪費了個把小時在這個上面。以後要注意這個了。
還有些需要注意的,比如:簽名方式是 “RSA2”,編碼是“UTF-8”,之類的,demo都是有預設的,非必要不要動就好了。不用demo的要注意這些。