使用的是官方提供方的php介面:create_direct_pay_by_user-php-utf-8
將lib下的四個檔案複製至:yii專案\protected\vendor\下
四個檔案分別是:alipay_core.function.php、alipay_md5.function.php、alipay_notify.class.php、alipay_submit.class.php
將ca證書檔案:cacert.pem在
yii專案\目錄和 yii專案\protected\controllers下各複製乙份
'params'=>array('alipay_config'=>array(
'partner' =>'',//必填
'key'=>'',//必填
'sign_type'=>strtoupper('md5'),//必填
'input_charset'=> strtolower('utf-8'),//必填
'cacert'=>getcwd().'/cacert.pem',//必填且ca證書檔案能有效訪問,否則會有sign錯誤
'transport'=>'http',//如果你的伺服器支援https請填寫https
),'alipay' =>array(
'seller_email'=>'',//必填
'notify_url'=>'',
'return_url'=>'',//必填
'successpage'=>'account/list',//處理成功後的頁面
'errorpage'=>'shopcart/list',//處理失敗的頁面
),),
然後寫乙個支付的控制器:
<?php/***author:xiaojiang
*create_time:2014/9/19 16:06
*/class paycontroller extends controller
public function actionnotifyurl()
//注意:
//該種交易狀態只在兩種情況下出現
//1、開通了普通即時到賬,買家付款成功後。
//2、開通了高階即時到賬,從該筆交易成功時間算起,過了簽約時的可退款時限(如:三個月以內可退款、一年以內可退款等)後。
//除錯用,寫文字函式記錄程式運**況是否正常
// logresult("這裡寫入想要除錯的**變數值,或其他執行的結果記錄");
} else if ($_post['trade_status'] == 'trade_success')
//注意:
//該種交易狀態只在一種情況下出現——開通了高階即時到賬,買家付款成功後。
//除錯用,寫文字函式記錄程式運**況是否正常
//logresult("這裡寫入想要除錯的**變數值,或其他執行的結果記錄");
}//——請根據您的業務邏輯來編寫程式(以上**僅作參考)——
echo "success"; //請不要修改或刪除
/} else
}public function actionreturnurl()
}else
}else
}}
一下是兩個上面控制器中用到的兩個處理方法:我是寫在了乙個可以定義全域性方法的functions.php檔案中
你可以把這兩個方法寫在購物車或者其他的模型中進行呼叫//函式功能:根據支付介面傳回的資料判斷該訂單是否已經支付成功;
//返回值:如果訂單已經成功支付,返回true,否則返回false;
function checkorderstatus($ordid)else
}//處理訂單函式
//更新訂單狀態,寫入訂單支付後返回的資料
function orderhandle($parameter) else
} else
} else
由於yii初始路由方式為index.php?r=xx/xx 所以後面也算是帶參的url,在支付成功後會出現驗證失敗的情況,解決辦法是更改alipy_core.function.php中的parafilter()方法
function parafilter($para)return $para_filter;
}
支付寶支付介面開發
1.簡單點說就是呼叫支付寶那邊的介面方法,然後傳遞資料過去,之後會返回乙個是否成功的值,然後你拿到之後判斷就好了 流程說明 以android平台為例 第4步 呼叫支付介面 此訊息就是本介面所描述的開發包提供的支付物件paytask,將商戶簽名後的訂單資訊傳進pay方法喚起支付寶收銀台,訂單格式具體參...
支付寶介面
支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commona...
支付寶介面
解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...