laravel支付宝sdk接入
自己學(xué)習(xí)使的 僅供參考
一、打開(kāi)螞蟻金服開(kāi)放平臺(tái) 找到研發(fā)服務(wù)->沙箱應(yīng)用
設(shè)置沙箱應(yīng)用保證可以使用
二、找到sdkdemo下載放到本地環(huán)境并改名為alipay配置里面的config 注釋有詳細(xì)的講解仔細(xì)看
三、(這里是我的習(xí)慣)放到laravel的app下
四、去config下面新建一個(gè)alipay.php將本地修改好的config放到中間
五、復(fù)制alipay/pagepay里面的pagepay.php代碼到自己的支付方法里面需要修改(發(fā)生錯(cuò)誤的順序沒(méi)分先后)
1、出現(xiàn)一個(gè)AopCline的一個(gè)each的錯(cuò)誤(這個(gè)一般是laravel5.以上才會(huì)發(fā)生)
修改為
2.出現(xiàn)一個(gè)encrypt或者decrypt沖突的錯(cuò)誤(因?yàn)閘aravel自帶encrypt和decrypt方法)修改alipay/aop/AopEncrypt.php的方法名即可 如:
3.會(huì)出現(xiàn)一個(gè)AlipayTradePagePayContentBuilder()錯(cuò)誤 找到這個(gè)位置前面加個(gè)\
到這里基本就結(jié)束了 附上自己測(cè)試代碼
//支付方法public function pay($order_id){require_once app_path("Packages/alipay/pagepay/service/AlipayTradeService.php");require_once app_path("Packages/alipay/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php");$config = config("alipay");//商戶訂單號(hào),商戶網(wǎng)站訂單系統(tǒng)中唯一訂單號(hào),必填$out_trade_no = date('YmdHis').rand(50,200).Str::random(10);//訂單名稱,必填$subject = trim("go團(tuán)隊(duì)測(cè)試");//付款金額,必填$total_amount = rand(10,100);//商品描述,可空$body = "";//構(gòu)造參數(shù)$payRequestBuilder = new \AlipayTradePagePayContentBuilder();$payRequestBuilder->setBody($body);$payRequestBuilder->setSubject($subject);$payRequestBuilder->setTotalAmount($total_amount);$payRequestBuilder->setOutTradeNo($out_trade_no);$aop = new \AlipayTradeService($config);/*** pagePay 電腦網(wǎng)站支付請(qǐng)求* @param $builder 業(yè)務(wù)參數(shù),使用buildmodel中的對(duì)象生成。* @param $return_url 同步跳轉(zhuǎn)地址,公網(wǎng)可以訪問(wèn)* @param $notify_url 異步通知地址,公網(wǎng)可以訪問(wèn)* @return $response 支付寶返回的信息*/$response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']);//輸出表單var_dump($response);}4、同步跳轉(zhuǎn)
//同步跳轉(zhuǎn)public function success(){//引入配置文件$config = config('alipay');//引入ALipayTradeService文件require_once app_path("Packages/alipay/pagepay/service/AlipayTradeService.php");//接到支付寶同步跳轉(zhuǎn)所返回的所有值 都將驗(yàn)簽使用$arr = $_GET;//實(shí)例化AlipayTradeService 前面加個(gè)\ 傳配置文件過(guò)去$alipaySevice = new \AlipayTradeService($config);//調(diào)用驗(yàn)簽方法 這里特別說(shuō)明一下 如果驗(yàn)簽失敗。請(qǐng)去AlipayTradeService文件中找到check方法做一下修改$ischeck = $alipaySevice->check($arr);//判斷驗(yàn)簽是否成功if($ischeck){//成功跳轉(zhuǎn)到訂單成功頁(yè)面 用于提示用戶return view("order.success");}else{//驗(yàn)簽失敗echo "fail";}}總結(jié)
以上是生活随笔為你收集整理的laravel支付宝sdk接入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: IDEA中Spring Boot项目报错
- 下一篇: Ubuntu16.04 Caffe 编译