好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 網(wǎng)站建設(shè) > 建站知識(shí) > 織夢(mèng)CMS支付寶接口問題及解決辦法

織夢(mèng)CMS支付寶接口問題及解決辦法

POST TIME:2020-03-28 16:39

我的情況: 系統(tǒng)只集成了支付寶。其他情況可能會(huì)有不同的及我國(guó),呵呵,這里只把我遇到的問題進(jìn)行分享

在織夢(mèng)模板系統(tǒng)上設(shè)置好了商家ID、密鑰、支付寶郵箱之后,理論上應(yīng)該是直接可以用了,但是我還是遇到了問題

首先就來(lái)了一個(gè)ILLEGAL_ARGUMENT錯(cuò)誤。

經(jīng)過分析post出去的url地址,發(fā)現(xiàn)商家ID、密鑰、支付寶郵箱都加載錯(cuò)誤。經(jīng)過分析應(yīng)該是數(shù)據(jù)加載錯(cuò)誤。于是分析data目錄下的sys_pay.cache.php文件:
$payment_select = array(0 => “tenpay”,2 => “alipay”,3 => “cbpayment”,4 => “yeepay”);
$payment_userid = array(0 => “********“,1 => “”,2 => “”,3 => “”,4 => “”);
$payment_key = array(0 => “*********“,1 => “”,2 => “”,3 => “”,4 => “”);
$payment_curpay = array(0 => ‘CNY’,1 => ‘CNY’,2 => ‘CNY’,3 => ‘CNY’,4 => ‘CNY’);
$payment_exp = array(0 => “0.01″,1 => “0.00″,2 => “0.01″,3 => “0.01″,4 => “0.00″);
$payment_email = array(0 => “[url=mailto:*******@a.com%22,1]*******@*****.com“,1[/url] => “[url=mailto:webmaster@admin.com%22,2]webmaster@admin.com”,2[/url] => “[url=mailto:webmaster@admin.com%22,3]webmaster@admin.com”,3[/url] => “[url=mailto:webmaster@admin.com%22,4]webmaster@admin.com”,4[/url] => “[url=mailto:“webmaster@admin.com]webmaster@admin.com[/url]“);

如紅色字所示,這是應(yīng)該傳遞的三個(gè)直接跟支付寶相關(guān)的數(shù)據(jù),而他們?cè)跀?shù)組中的位置為0,也就是array[0]位置。

再來(lái)看支付寶接口下的alipay_config.php文件
<?php
$partner = $payment_userid[2];
$security_code = $payment_key[2];
$seller_email = $payment_email[2];//賣家郵箱
$_input_charset = $cfg_soft_lang; //字符編碼格式 目前支持 GBK 或 utf-8
$sign_type = “MD5″; //加密方式 系統(tǒng)默認(rèn)(不要修改)
$transport = “http”;//訪問模式,你可以根據(jù)自己的服務(wù)器是否支持ssl訪問而選擇http以及https訪問模式(系統(tǒng)默認(rèn),不要修改)
$notify_url = $cfg_basehost.”/member/paycenter/alipay/notify_url.php”;// 異步返回地址 需要填寫完整的路徑
$return_url = $cfg_basehost.”/member/paycenter/alipay/return_url.php”; //同步返回地址 需要填寫完整大額路徑
$show_url = “” //你網(wǎng)站商品的展示地址,可以為空
?>

如上紅色字所示,而他的位置為array[2],所以加載數(shù)據(jù)必定錯(cuò)誤。(我這是只有支付寶接口的情況,其他情況照此分析即可),將上面的2改為0,數(shù)據(jù)加載問題解決。


但是,支付寶接口還是不成功。這次提示的錯(cuò)誤為:ILLEGAL_LOGISTICS_FORMAT
查支付寶文檔,這是由于物流相關(guān)問題造成。

經(jīng)過再次查看url,分析后發(fā)現(xiàn)url中缺少了一個(gè)參數(shù)叫“logistics_fee”。怎么辦呢?原來(lái)還有一個(gè)支付寶的配置文件,在member/inc/下的config_pay_alipay.php。打開文件:
“service” => “trade_create_by_buyer“, //交易類型,必填實(shí)物交易=trade_create_by_buyer(需要填寫物流)
“partner” => $partner,//合作商戶號(hào)
“return_url” => $return_url, //同步返回
“notify_url” => $notify_url, //異步返回
“_input_charset” => $_input_charset, //字符集,默認(rèn)為GBK
“subject” => $ptype, //商品名稱,必填
“body” => $pname, //商品描述,必填
“out_trade_no” => $buyid, //商品外部交易號(hào),必填,每次測(cè)試都須修改
“logistics_fee” => 0.00, //物流配送費(fèi)用
“logistics_payment”=>’BUYER_PAY’, // 物流配送費(fèi)用付款方式:SELLER_PAY(賣家支付)、BUYER_PAY(買家支付)、BUYER_PAY_AFTER_RECEIVE(貨到付款)
“logistics_type”=>’EXPRESS’, // 物流配送方式:POST(平郵)、EMS(EMS)、EXPRESS(其他快遞)

這里交易類型為實(shí)物交易,trade_create_by_buyer,下面三個(gè)紅色字部分就是物流信息部分,而不顯示的就是logistics_fee” => 0.00。

解決辦法:只要將后面的0.00加上單引號(hào),問題就解決了,也就是改成logistics_fee” => '0.00′。

解決之后,順利通過。購(gòu)買點(diǎn)卡成功。

以下為織夢(mèng)模板官方 木匠 給與的參考:

正常的 array[2] 才是,可能你只取了支付寶變成array[0]了。

logistics_fee => 0.00 應(yīng)該被PHP認(rèn)為是個(gè)空值了。

開始的時(shí)候logistics_fee默認(rèn)是沒有的,后來(lái)可能弄上去了。

謝謝樓主提出該問題。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266