TP3.2.3 接入支付寶
項目接入支付寶支付了,在做這個給我的感覺是,方便 ,畢竟是老馬的產品是吧,
話不多說 , 首先我們先找到官方的SDK ,不想去找的小伙伴復制此鏈接 https://docs.open.alipay.com/194/105201/
然后解壓 如圖

這我們只需要將這些文件放到Vendor 文件夾中的Alipay里就可以了,然后就是配置信息了
如圖

App_Id 在你的支付寶開發平台可以得到 ,私匙和公匙可以支付寶開放平台的一個生成器可以得到,但是要先生成私匙,在用私匙生成公匙,然后去頭去掉換行就好
然后在就是調用了
//支付寶充值操作
public function pay()
{
$config = C('Alipay');
//異步通知地址
$config['notify_url'] = "";
//同步跳轉
$config['return_url'] = "";
Vendor('Alipay.pagepay.service.AlipayTradeService');
Vendor('Alipay.pagepay.buildermodel.AlipayTradePagePayContentBuilder');
//商戶訂單號,商戶網站訂單系統中唯一訂單號,必填
$out_trade_no = trim(I('post.WIDout_trade_no'));
//訂單名稱,必填
$subject = trim(I('post.WIDsubject'));
//付款金額,必填
$total_amount = trim(I('post.WIDtotal_amount'));
//商品描述,可空
$body = trim(I('post.WIDbody'));
$ud = session('users.uid');
$data = array(
'uid'=>$ud, //用戶id
'win_code'=>$out_trade_no, //商戶訂單號
'winsubject'=>$subject, //訂單名稱
'wintotal_amount'=>$total_amount, //付款金額
'winbody'=>$body, //商品描述
'state'=>'zfb', //支付方式
'status'=>'0', //是否支付
'ordertime'=>time() //交易時間
);
M("pay_record")->add($data); // 保存交易信息
//構造參數
$payRequestBuilder = new \AlipayTradePagePayContentBuilder();
$payRequestBuilder->setBody($body);
$payRequestBuilder->setSubject($subject);
$payRequestBuilder->setTotalAmount($total_amount);
$payRequestBuilder->setOutTradeNo($out_trade_no);
$aop = new \AlipayTradeService($config);
$response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']);
//輸出表單
// var_dump($response);
}
然后異步的時候要注意要重跳轉之類的 比如是cookie session 判斷用戶是否登錄,沒登錄就跳轉,這些都不可以 ,甚至都不能出現,以免出錯 ,在下就是在這里坑了好一會
最后還是客服提醒我的。
搞定收工 , 祝大家早日成為大牛
