laravel支付宝sdk接入
生活随笔
收集整理的這篇文章主要介紹了
laravel支付宝sdk接入
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
自己學(xué)習(xí)使的 僅供參考
一、打開螞蟻金服開放平臺 找到研發(fā)服務(wù)->沙箱應(yīng)用
設(shè)置沙箱應(yīng)用保證可以使用
二、找到sdkdemo下載放到本地環(huán)境并改名為alipay配置里面的config 注釋有詳細(xì)的講解仔細(xì)看
三、(這里是我的習(xí)慣)放到laravel的app下
四、去config下面新建一個alipay.php將本地修改好的config放到中間
五、復(fù)制alipay/pagepay里面的pagepay.php代碼到自己的支付方法里面需要修改(發(fā)生錯誤的順序沒分先后)
1、出現(xiàn)一個AopCline的一個each的錯誤(這個一般是laravel5.以上才會發(fā)生)
修改為
2.出現(xiàn)一個encrypt或者decrypt沖突的錯誤(因為laravel自帶encrypt和decrypt方法)修改alipay/aop/AopEncrypt.php的方法名即可 如:
3.會出現(xiàn)一個AlipayTradePagePayContentBuilder()錯誤 找到這個位置前面加個\
到這里基本就結(jié)束了 附上自己測試代碼
//支付方法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");//商戶訂單號,商戶網(wǎng)站訂單系統(tǒng)中唯一訂單號,必填$out_trade_no = date('YmdHis').rand(50,200).Str::random(10);//訂單名稱,必填$subject = trim("go團(tuán)隊測試");//付款金額,必填$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)站支付請求* @param $builder 業(yè)務(wù)參數(shù),使用buildmodel中的對象生成。* @param $return_url 同步跳轉(zhuǎn)地址,公網(wǎng)可以訪問* @param $notify_url 異步通知地址,公網(wǎng)可以訪問* @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)所返回的所有值 都將驗簽使用$arr = $_GET;//實例化AlipayTradeService 前面加個\ 傳配置文件過去$alipaySevice = new \AlipayTradeService($config);//調(diào)用驗簽方法 這里特別說明一下 如果驗簽失敗。請去AlipayTradeService文件中找到check方法做一下修改$ischeck = $alipaySevice->check($arr);//判斷驗簽是否成功if($ischeck){//成功跳轉(zhuǎn)到訂單成功頁面 用于提示用戶return view("order.success");}else{//驗簽失敗echo "fail";}}總結(jié)
以上是生活随笔為你收集整理的laravel支付宝sdk接入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA中Spring Boot项目报错
- 下一篇: hadoop 2.6.5 + hive