Laravel5.5 支付宝手机网站支付的教程

Laravel5.5 支付宝手机网站支付的教程

https://segmentfault.com/a/1190000015559571

这篇文章主要介绍了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中

Laravel5.5 支付宝手机网站支付的教程

运行支付宝提供的工具生成如下:

Laravel5.5 支付宝手机网站支付的教程

将公钥文件里面的去除—–BEGIN PUBLIC KEY—–与—–END PUBLIC KEY—–,将剩下的内容合并为一行,添加到应用公钥中

将私钥文件里面的去除—–BEGIN RSA PRIVATE KEY—–与—–END RSA PRIVATE KEY—–,将剩下的内容合并为一行,需添加到配置文件中

配置文件中填写对应内容

Laravel5.5 支付宝手机网站支付的教程

3、拉起支付

yansongda/laravel-pay中拉起支付,是将支付form信息直接返回到页面中,考虑到业务需求,需要通过json方式返回更方便一些

Laravel5.5 支付宝手机网站支付的教程

use Yansongda\Pay\Pay;
 
/**
 * 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 Yansongda\Pay\Pay;
 
/**
 * Class WxwebController
 * @package App\Http\Controllers\Web
 * 支付宝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();
 }
}

 

   

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

 

原文链接:https://segmentfault.com/a/1190000015559571

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113099.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 剑指 Offer 09. 用两个栈实现队列「建议收藏」

    剑指 Offer 09. 用两个栈实现队列「建议收藏」用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“appendTail”,“ap

    2022年8月9日
    4
  • mysql分页查询倒序_【Mysql笔记】MySQL实现分页查询[通俗易懂]

    limit基本实现方式一般情况下,客户端通过传递pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用MySQL自带的limit来解决这个问题:收到客户端{pageNo:1,pagesize:10}select*fromtablelimit(pageNo-1)*pageSize,pageSize;收到客户端{pa…

    2022年4月15日
    198
  • JAVA—— AJAX[通俗易懂]

    JAVA—— AJAX[通俗易懂]文章目录1、Ajax快速入门1.1、AJAX介绍1.2、原生JS实现AJAX1.3、原生JS实现AJAX详解1.4、JQuery的GET方式实现AJAX1.5、JQuery的POST方式实现AJAX1.6、JQuery的通用方式实现AJAX1.7、小结2、JSON的处理2.1、JSON回顾2.2、JSON转换工具的介绍2.3、JSON转换练习2.4、小结3、综合案例搜索联想4、综合案例分页4.1、案例效果和环境准备4.2、案例的分析4.3、案例的实现4.4、点击按钮分页1、Ajax快速入门1.1、

    2022年7月8日
    12
  • drupal 没有mysql,Drupal安装无法连接到MySQL服务器,但是已经存在「建议收藏」

    drupal 没有mysql,Drupal安装无法连接到MySQL服务器,但是已经存在「建议收藏」I’mgettingthefollowingerrorinstallingdrupal7:Failedtoconnecttoyourdatabaseserver.Theserverreportsthefollowingmessage:SQLSTATE[HY000][2003]Can’tconnecttoMySQLserveron’myserv…

    2022年7月20日
    15
  • 发现制作CSS导航菜单工具CSS Tab Designer

    发现制作CSS导航菜单工具CSS Tab Designer

    2021年7月24日
    51
  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号