Laravel5.5 支付宝手机网站支付的教程
时间:2018-07-11
这篇文章主要介绍了Laravel5.5 支付宝手机网站支付的教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1、安装使用Laravel扩展库yansongda/laravel-pay
yansongda/laravel-pay Github地址
通过composer进行安装
$ composer require yansongda/laravel-pay
生成配置文件
复制代码 代码如下:
$ php artisan vendor:publish --provider="Yansongda\LaravelPay\PayServiceProvider" --tag=laravel-pay
2、配置支付信息,填写到配置文件pay.php中
运行支付宝提供的工具生成如下:
将公钥文件里面的去除-----BEGIN PUBLIC KEY-----与-----END PUBLIC KEY-----,将剩下的内容合并为一行,添加到应用公钥中
将私钥文件里面的去除-----BEGIN RSA PRIVATE KEY-----与-----END RSA PRIVATE KEY-----,将剩下的内容合并为一行,需添加到配置文件中
配置文件中填写对应内容
3、拉起支付
yansongda/laravel-pay中拉起支付,是将支付form信息直接返回到页面中,考虑到业务需求,需要通过json方式返回更方便一些
use YansongdaPayPay; /** * Class SecondPay * @package App * 支付宝手机网页支付接口 */ class ZfbWapPay extends Model { //发送支付请求 public function send(Request $request,$outTradeNum,$payAmount) { $config = config('pay.alipay'); //取出配置信息,根据需求动态改变 $config['return_url'] ='http://api.aiwangyouxi.com/web/pay/jump/'.$outTradeNum; $order = [ 'out_trade_no' => $outTradeNum, //我方订单号 'total_amount' => $payAmount, //支付金额,单位(元) 'subject' => '游戏支付', ]; $alipay = Pay::alipay($config)->wap($order); return $alipay; //返回form表单信息 } }
成功返回form表单信息,将信息插入到页面中完成拉起支付
$("body").append(data.form_text);
4、支付回调
use YansongdaPayPay; /** * Class WxwebController * @package AppHttpControllersWeb * 支付宝h5支付回调 */ class ZfbwebController extends Controller { private $pay_order; //我方订单号 private $call_order; //第三方订单号 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())); //将支付回调信息记录到数据库中 $check_result = $alipay->verify(); if(!$check_result) { //回调验签失败 return ''; } return $alipay->success(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- HTML条件注释判断浏览器及检验
- HttpClient(二)HttpClient使用Ip代理与处理连接超时
- JavaScript中匿名函数的困惑
- 基础野:细说有符号整数
- Ubuntu14.04下如何开启Mysql远程访问
- docker学习(7) docker-compose使用示例
- docker学习(3) 容器的启动过程
- 基础野:细说原码、反码和补码
- JavaScript循环读书笔记
- docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
- HttpClient(一)HttpClient抓取网页基本信息
- Httpd运维日志:通过apxs添加模块
- 探索客户端JavaScript
- docker学习(8) 在mac机上搭建私有仓库
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Android Textview实现颜色渐变滚动效果
- Android中fragment+viewpager实现布局
- android自动工具类TextUtils使用详解
- Android常用正则表达式验证工具类(实例代码)
- Android webview实现拍照的方法
- Android ListView自定义Adapter实现仿QQ界面
- Android webview旋转屏幕导致页面重新加载问题解决办法
- Android系统对话框使用详解(最详细)
- Android webview 遇到android.os.FileUriExposedException错误解决办法
- Android修改字体样式的示例代码
- Android Retrofit 中文乱码问题的解决办法
- Android实现Camera2预览和拍照效果
- Android开发实现webview中img标签加载本地图片的方法
- Android实现二级列表购物车功能
- Android开发仿bilibili刷新按钮的实现代码