最近在給OpenCart集成支付寶,財付通和微信掃碼支付,其實這些插件都是有的賣的,但是還蠻貴的,還是自己開發集成吧,省錢。但是集成過程中發現了一些坑,有opencart的坑,也有支付sdk的坑,浪費了不少時間,這裡整理幾條,給需要的人跨坑。
1.微信native 模式二中的notify_url 地址必須是公網地址
2.支付寶的notify_url不能是query string的形式,比如 xxx/notify.php?route=a/b,只能為xxx/notify.php
3.OpenCart 中支付寶和財付通中的同步回調處理中最好unset($_GET[‘route'])再做支付回調驗證,否則因為這個多余的參數參與校檢導致回調驗證不成功
4.微信回調notify的時候是發送數據流,所以GET和POST是獲取不到支付後異步通知過來的數據的,用官方的SDK的時候你可以這樣改一下:
$GLOBALS["HTTP_RAW_POST_DATA"] = file_get_contents("php://input", "r"); $notify = new PayNotifyCallBack(); $notify->Handle(false);
5.PC浏覽器的支付寶用ios設備訪問的時候會彈出支付寶客戶端來支付,這樣是接收不到異步和同步通知的,所以需要判斷一下訪問設備是移動端還是客戶端,如果是移動端的話得用支付寶的wap方式來支付
6.財付通支付QQ浏覽器支付一直參數錯誤,還沒找到為什麼。
提醒大家在使用OpenCart 開發支付寶,財付通,微信支付的時候,一定要細心,謝謝朋友們關注網站,在此腳本支架小編祝大家國慶節快樂。
原文地址:http://www.yuansir-web.com/2015/09/14/opencart-%E5%BC%80%E5%8F%91%E6%94%AF%E4%BB%98%E5%AE%9D%EF%BC%8C%E8%B4%A2%E4%BB%98%E9%80%9A%EF%BC%8C%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98%E6%8E%A5%E5%85%A5%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/