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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • vm虚拟机怎么启动_虚拟机macos运行显卡驱动

    vm虚拟机怎么启动_虚拟机macos运行显卡驱动VM上完美运行macos作者:方辰昱时间:十月三号效果图简要步骤下载安装VM下载镜像文件链接,darwin.iso,unlocker,beamoff。合集下载链接:https://pan.baidu.com/s/1jeHA-ksEKT1iK5Ld7GmS9Q提取码:27tjunlock对VM进行操作使其对macos支持安装安装macos磁盘工具建立新的…

  • 内存映射文件原理_开源内存数据库

    内存映射文件原理_开源内存数据库前言在前文LMDB简介的基础上,本文介绍LMDB数据库的基本用法,包括环境environment创建、数据存储put、数据读取get等;源码ULONGcvtest_Test4_Lmdb(){INTiRet;MDB_txn*pstTxn=NULL;MDB_dbistDbi;UINTuiKey=1;…

  • Java多线程详解_java支持多线程

    Java多线程详解_java支持多线程一、线程生命周期一个线程被实例化完成,到线程销毁的中间过程1.新生态:New一个线程对象被实例化完成,但是没有做任何操作2.就绪态度:Ready一个线程被开启,并且开始抢占CPU时间3.运

  • 数据库系统原理——概述「建议收藏」

    数据库系统原理——概述「建议收藏」穷则独善其身,达则兼济天下一.什么是数据库狭义:存储数据的仓库广义:可以对数据进行存储和管理的软件以及数据本身统称为数据库数据库是由表、关系、操作组成二.为什么需要数据库几乎所有的应用软件的后台都需要数据库数据存储数据占用空间小,容易持久保存数据库的内容是存储在硬盘上,掉电之后任然存在存储比较安全软件是加密的,只能通过DBMS打开容易维护和升级使用SQL语句方便操作数据数据库移植比较容易简化对数据的操作为将来学习Oracle做准备.

  • Web后端基础知识

    Web后端基础知识文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsimportwarnings

  • golang激活码【2021.10最新】

    (golang激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~92U4ILM59M-eyJsaWNlb…

发表回复

您的电子邮箱地址不会被公开。

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