使用Laravel AliPay
来源:互联网 发布:学汉语的软件 编辑:程序博客网 时间:2024/06/07 05:26
支付宝 SDK 在 Laravel 5 封装包
https://github.com/Latrell/Alipay
Alipay
支付宝SDK在Laravel5封装包。
该拓展包想要达到在Laravel5框架下,便捷使用支付宝的目的。
安装
composer require latrell/alipay dev-master
更新你的依赖包 composer update 或者全新安装 composer install。
使用
要使用支付宝SDK服务提供者,你必须自己注册服务提供者到Laravel服务提供者列表中。 基本上有两种方法可以做到这一点。
找到 config/app.php 配置文件中,key为 providers 的数组,在数组中添加服务提供者。
'providers' => [ // ... 'Latrell\Alipay\AlipayServiceProvider', ]
运行 php artisan vendor:publish 命令,发布配置文件到你的项目中。
配置文件 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');// 跳转到支付页面。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 1
- 使用Laravel AliPay
- ionic如何使用cordova-plugin-alipay支付
- laravel引入laterll的alipay支付问题:Non-static method Symfony\Component\HttpFoundation\Request::getQueryStri
- android alipay
- laravel(六)laravel路由使用
- laravel-soap 使用
- Laravel 使用Redis 笔记
- laravel结合datatables使用。
- 如何使用 Laravel Facades ?
- Laravel使用之旅
- Laravel使用之旅
- laravel使用mysql队列
- Laravel PHPExcel 使用
- Laravel Homestead 使用
- laravel之模板使用
- Laravel使用redis库
- Laravel 5.2 使用ckeditor
- laravel中使用apidoc
- 关于Ubuntu 14.04中使用wireshark无法指定网口的问题
- LeetCode(241)Different Ways to Add Parentheses
- 欢迎使用CSDN-markdown编辑器
- UGUI研究院之设置全屏图
- JS常用属性
- 使用Laravel AliPay
- SVM全系列:从原理到python实现(一):SVM原理
- ButterKnife
- 小白软件工程师历程
- js判断对象是否相等
- 【NOIP2009提高组T4】靶形数独-DFS剪枝+位运算优化
- ProxySQL--灵活强大的MySQL代理层
- Oracle进阶之你可能会用到的命令(一)
- LAMP环境安装