基于OpenCart的支付插件支付寶,財付通,微信支付參數(shù)錯誤問題
[日期:2022-11-02] 來源:宇塵網(wǎng)絡(luò)幫助中心 作者:宇塵網(wǎng)絡(luò)幫助中心 閱讀:1047次
近期一些外貿(mào)vps,例如泰國vps,印度vps,特別是美國vps,都在跟進(jìn)opencart程序,所以最近關(guān)于這個程序的問題有很多,今天說下關(guān)于支付插件的問題
基于OpenCart 開發(fā)支付寶,財付通,微信支付參數(shù)錯誤問題
最近在給OpenCart集成支付寶,財付通和微信掃碼支付,其實這些插件都是有的賣的,但是還蠻貴的,還是自己開發(fā)集成吧,省錢。但是集成過程中發(fā)現(xiàn)了一些坑,有opencart的坑,也有支付sdk的坑,浪費了不少時間,這里整理幾條,給需要的人跨坑。
1.微信native 模式二中的notify_url 地址必須是公網(wǎng)地址
2.支付寶的notify_url不能是query string的形式,比如 xxx/notify.php?route=a/b,只能為xxx/notify.php
3.OpenCart 中支付寶和財付通中的同步回調(diào)處理中最好unset($_GET[‘route'])再做支付回調(diào)驗證,否則因為這個多余的參數(shù)參與校檢導(dǎo)致回調(diào)驗證不成功
4.微信回調(diào)notify的時候是發(fā)送數(shù)據(jù)流,所以GET和POST是獲取不到支付后異步通知過來的數(shù)據(jù)的,用官方的SDK的時候你可以這樣改一下:
$GLOBALS["HTTP_RAW_POST_DATA"] = file_get_contents("php://input", "r");
$notify = new PayNotifyCallBack();
$notify->Handle(false);
5.PC瀏覽器的支付寶用ios設(shè)備訪問的時候會彈出支付寶客戶端來支付,這樣是接收不到異步和同步通知的,所以需要判斷一下訪問設(shè)備是移動端還是客戶端,如果是移動端的話得用支付寶的wap方式來支付
6.財付通支付QQ瀏覽器支付一直參數(shù)錯誤,還沒找到為什么。
提醒大家在使用OpenCart 開發(fā)支付寶,財付通,微信支付的時候,一定要細(xì)心