1、安裝使用Laravel擴(kuò)展庫yansongda/laravel-pay
yansongda/laravel-pay Github地址
通過composer進(jìn)行安裝
$ composer require yansongda/laravel-pay
生成配置文件
復(fù)制代碼 代碼如下:
$ php artisan vendor:publish --provider="Yansongda\\LaravelPay\\PayServiceProvider" --tag=laravel-pay
2、配置支付信息,填寫到配置文件pay.php中
運(yùn)行支付寶提供的工具生成如下:
將公鑰文件里面的去除-----BEGIN PUBLIC KEY-----與-----END PUBLIC KEY-----,將剩下的內(nèi)容合并為一行,添加到應(yīng)用公鑰中
將私鑰文件里面的去除-----BEGIN RSA PRIVATE KEY-----與-----END RSA PRIVATE KEY-----,將剩下的內(nèi)容合并為一行,需添加到配置文件中
配置文件中填寫對(duì)應(yīng)內(nèi)容
3、拉起支付
yansongda/laravel-pay中拉起支付,是將支付form信息直接返回到頁面中,考慮到業(yè)務(wù)需求,需要通過json方式返回更方便一些
use Yansongda\Pay\Pay;
/**
* Class SecondPay
* @package App
* 支付寶手機(jī)網(wǎng)頁支付接口
*/
class ZfbWapPay extends Model
{
//發(fā)送支付請(qǐng)求
public function send(Request $request,$outTradeNum,$payAmount)
{
$config = config('pay.alipay'); //取出配置信息,根據(jù)需求動(dòng)態(tài)改變
$config['return_url'] ='http://api.aiwangyouxi.com/web/pay/jump/'.$outTradeNum;
$order = [
'out_trade_no' => $outTradeNum, //我方訂單號(hào)
'total_amount' => $payAmount, //支付金額,單位(元)
'subject' => '游戲支付',
];
$alipay = Pay::alipay($config)->wap($order);
return $alipay; //返回form表單信息
}
}
成功返回form表單信息,將信息插入到頁面中完成拉起支付
$("body").append(data.form_text);
4、支付回調(diào)
use Yansongda\Pay\Pay;
/**
* Class WxwebController
* @package App\Http\Controllers\Web
* 支付寶h5支付回調(diào)
*/
class ZfbwebController extends Controller
{
private $pay_order; //我方訂單號(hào)
private $call_order; //第三方訂單號(hào)
public function notify(Request $request)
{
$pay_config = config('pay.alipay');
$alipay = Pay::alipay($pay_config);
$this->pay_order = $request->out_trade_no;
$this->call_order = $request->trade_no;
$save_back = $m_pay_back->addback($this->pay_order,json_encode($request->all())); //將支付回調(diào)信息記錄到數(shù)據(jù)庫中
$check_result = $alipay->verify();
if(!$check_result) { //回調(diào)驗(yàn)簽失敗
return '';
}
return $alipay->success();
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel使用支付寶進(jìn)行支付的示例代碼