laravel 5对接支付宝SDK app支付,网页支付 回调

在项目根目录下进行操作

安装
composer require latrell/alipay dev-master

找到 config/app.php 配置文件中,key为 providers 的数组,在数组中添加服务提供者。

'providers' => [
    // ...
    'Latrell\Alipay\AlipayServiceProvider',
]

运行 php artisan vendor:publish 命令,发布配置文件到你的项目中。
如图,我的是显示的9 ,所以运行 php artisan vendor:publish之后,输入9回车就能配置成功
在这里插入图片描述
配置文件 config/latrell-alipay.php 为公共配置信息文件, config/latrell-alipay-web.php 为Web版支付宝SDK配置, config/latrell-alipay-mobile.php 为手机端支付宝SDK配置。

调用也非常简单:

例子
支付申请
网页
// 创建支付单。
$alipay = app(‘alipay.web’);
$alipay->setOutTradeNo(‘order_id’);
$alipay->setTotalFee(‘order_price’);
$alipay->setSubject(‘goods_name’);
$alipay->setBody(‘goods_description’);

$alipay->setQrPayMode('4'); //该设置为可选,添加该参数设置,支持二维码支付。

// 跳转到支付页面。
return redirect()->to($alipay->getPayLink());

手机端
// 创建支付单。
$alipay = app(‘alipay.mobile’);
$alipay->setOutTradeNo(‘order_id’);
$alipay->setTotalFee(‘order_price’);
$alipay->setSubject(‘goods_name’);
$alipay->setBody(‘goods_description’);

// 返回签名后的支付参数给支付宝移动端的SDK。
return $alipay->getPayPara();

结果通知
网页
/**
* 异步通知
*/
public function webNotify()
{
// 验证请求。
if (! app(‘alipay.web’)->verify()) {
Log::notice(‘Alipay notify post data verification fail.’, [
‘data’ => Request::instance()->getContent()
]);
return ‘fail’;
}

	// 判断通知类型。
	switch (Input::get('trade_status')) {
		case 'TRADE_SUCCESS':
		case 'TRADE_FINISHED':
			// TODO: 支付成功,取得订单号进行其它相关操作。
			Log::debug('Alipay notify post data verification success.', [
				'out_trade_no' => Input::get('out_trade_no'),
				'trade_no' => Input::get('trade_no')
			]);
			break;
	}

	return 'success';
}

/**
 * 同步通知
 */
public function webReturn()
{
	// 验证请求。
	if (! app('alipay.web')->verify()) {
		Log::notice('Alipay return query data verification fail.', [
			'data' => Request::getQueryString()
		]);
		return view('alipay.fail');
	}

	// 判断通知类型。
	switch (Input::get('trade_status')) {
		case 'TRADE_SUCCESS':
		case 'TRADE_FINISHED':
			// TODO: 支付成功,取得订单号进行其它相关操作。
			Log::debug('Alipay notify get data verification success.', [
				'out_trade_no' => Input::get('out_trade_no'),
				'trade_no' => Input::get('trade_no')
			]);
			break;
	}

	return view('alipay.success');
}

手机端
/**
* 支付宝异步通知
*/
public function alipayNotify()
{
// 验证请求。
if (! app(‘alipay.mobile’)->verify()) {
Log::notice(‘Alipay notify post data verification fail.’, [
‘data’ => Request::instance()->getContent()
]);
return ‘fail’;
}

	// 判断通知类型。
	switch (Input::get('trade_status')) {
		case 'TRADE_SUCCESS':
		case 'TRADE_FINISHED':
			// TODO: 支付成功,取得订单号进行其它相关操作。
			Log::debug('Alipay notify get data verification success.', [
				'out_trade_no' => Input::get('out_trade_no'),
				'trade_no' => Input::get('trade_no')
			]);
			break;
	}

	return 'success';
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值