因?yàn)楣镜男枨笠玫綊叽a支付堂淡,而且公司的PHP的開發(fā)框架是laravel5.2沪编,但是支持laravel的掃碼支付組件沒有苦始,由此挖坑帖池!
廢話不多說奈惑,直接說流程:
1》支付寶開放平臺下載當(dāng)面付Demo
2》將demo解壓放至app目錄下
3》去到f2fpay目錄下,把qrpay_test.php中html部分復(fù)制到pay.blade.php
4》在路由文件寫上睡汹,Route::get('/pay',function(){ return view('pay')});
5》修改pay.blade.php的form肴甸,為action填上'/submitpay'
6》在路由文件寫上,Route::any('/submitpay','AlipayController@submitpay');
7》將qrpay_test.php中php部分復(fù)制到AlipalController中的submitpay方法囚巴,并且修改引入文件
require_once app_path().'/F2FPay/f2fpay/model/builder/AlipayTradePrecreateContentBuilder.php';
require_once app_path().'/F2FPay/f2fpay/service/AlipayTradeService.php';并且將里面new 類的時候原在,在類的前面加上\,否則報類找不到的錯誤彤叉。
8》運(yùn)行域名/pay,并提交庶柿,報錯,
Cannot redeclare decrypt() (previously declared in
D:\wamp\www\company\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:308)
Cannot redeclare encrypt() (previously declared in
D:\wamp\www\company\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:363)
這是因?yàn)橹Ц秾歴dk和laravel框架系統(tǒng)函數(shù)沖突的緣故秽浇,我是把那個函數(shù)名修改了一下浮庐,報錯就消失了,但是還沒測試修改函數(shù)名的副作用(更新:想了一下我還是修改支付寶sdk的函數(shù)名柬焕,因此全局搜索decrypt和encrypt审残,其實(shí)這兩個函數(shù)用的也不是特別多,只要修改下aop/AopEncrypt.php的函數(shù)名击喂,用到的地方在aop/AopClient.php)
9》還有一個報錯是在AlipayTradeService類里面维苔,找到這個文件,第351行懂昂,因?yàn)檎也坏絣og的路徑介时,修改file_put_contents ( dirname ( FILE ).DIRECTORY_SEPARATOR."../log/log.txt", date ( "Y-m-d H:i:s" ) . " " . $text . "\r\n", FILE_APPEND );
到此大功告成,哎呀,坑死我了7腥帷Qァ!截個圖紀(jì)念一下