1,支付宝实名认证的商家账号,签约电脑网站支付
2,登录蚂蚁金服开放平台,创建应用,添加签约产品(电脑网站支付,手机网站支付等)等待审核通过。

3,配置密钥和授权回调地址。授权回调地址就是你的notify方法的网址,注意前面要加http://
4,下载yansongda/pay支付组件通过composer命令

composer require yansongda/pay -vvv

5, laravel5.5的routes文件夹下的web.php加入

//支付宝支付处理路由
Route::get('alipay','AlipayController@Alipay');  // 发起支付请求
Route::any('notify','AlipayController@AliPayNotify'); //服务器异步通知页面路径
Route::any('return','AlipayController@AliPayReturn');  //页面跳转同步通知页面路径

6.在控制器里加入以下代码

<?php
/*** Created by PhpStorm.* User: Administrator* Date: 2017/2/8* Time: 20:19*/namespace App\Http\Controllers;use App\Http\Controllers;
use Illuminate\Http\Request;
//use Illuminate\Support\Facades\Log;
use Yansongda\Pay\Pay;
use Yansongda\Pay\Log;
class alipayController extends Controller{protected $config = ['app_id' => '',//你创建应用的APPID'notify_url' => '',//异步回调地址'return_url' => '',//同步回调地址'ali_public_key' => '',//是支付宝公钥,不是应用公钥,  公钥要写成一行,不要换行// 加密方式: **RSA2**'private_key' => '',//密钥,密钥要写成一行,不要换行'log' => [ // optional'file' => './logs/alipay.log','level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug'type' => 'single', // optional, 可选 daily.'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天],'http' => [ // optional'timeout' => 5.0,'connect_timeout' => 5.0,// 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)],//'mode' => 'dev', // optional,设置此参数,将进入沙箱模式];public function Alipay(){$order = ['out_trade_no' => time(),'total_amount' => '0.1','subject' => 'test subject - 测试',];$alipay = Pay::alipay($this->config)->web($order);return $alipay;// laravel 框架中请直接 `return $alipay`}public function AliPayReturn(){$data = Pay::alipay($this->config)->verify(); // 是的,验签就这么简单!// 订单号:$data->out_trade_no// 支付宝交易号:$data->trade_no// 订单总金额:$data->total_amount}public function AliPayNotify(){$alipay = Pay::alipay($this->config);try{$data = $alipay->verify(); // 是的,验签就这么简单!// 请自行对 trade_status 进行判断及其它逻辑进行判断,在支付宝的业务通知中,只有交易通知状态为 TRADE_SUCCESS 或 TRADE_FINISHED 时,支付宝才会认定为买家付款成功。// 1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号;// 2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额);// 3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email);// 4、验证app_id是否为该商户本身。// 5、其它业务逻辑情况Log::debug('Alipay notify', $data->all());} catch (\Exception $e) {//$e->getMessage();}return $alipay->success();// laravel 框架中请直接 `return $alipay->success()`}
}


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

7.以下是踩过的坑

  1. 如果你想更新yansongda/pay 支付组件,在本地composer下载后传上服务器的话一定要记得,把vendor文件夹一并传上服务器替换调以前的vendor文件夹,不然会报错 类找不到,因为你在本地composer更新的话,vendor文件夹下的composer文件夹也会发生变化,为以防万一应把vendor文件夹一并更新

  2. 如果遇到下面这个错误就是你没有屏蔽下面的代码,导致进入沙箱模式

 'mode' => 'dev', // optional,设置此参数,将进入沙箱模式

沙箱模式的支付宝网关 https://openapi.alipaydev.com/gateway.do
线上应用的支付宝网关 https://openapi.alipay.com/gateway.do

3) 如果出现以下的错误,是因为在控制器里的公钥或私钥不正确 注意公钥指的是支付宝公钥不是应用公钥


完结,撒花。。。

参考网址

laravel5.5通过yansongda/pay组件实现支付宝电脑网站支付相关推荐

  1. Spring Boot集成支付宝电脑网站支付功能

    Spring Boot集成支付宝电脑网站支付功能 接入准备 登录 创建应用 添加能力 生成私钥与公钥 开发设置 沙箱环境 示例Demo的使用与学习 下载Demo 启动项目 参数配置 执行测试 Spri ...

  2. Laravel 集成支付宝电脑网站支付

    前期准备: 1.下载SDK,里面还有Demo,可以参照Demo里面的内容快速接入 支付宝电脑网站支付SDK&Demo 2.把下载的zip文件解压,放到项目目录里,这里作者放在app文件夹里,方 ...

  3. 支付宝开放平台开发助手_支付宝:如何创建和接入支付宝电脑网站支付-新手必备...

    1.登录支付宝 1.打开支付宝官网,以"我是支付宝商家"用户登录 https://www.alipay.com/ 2.进入"产品中心",选择并申请支付类型 2. ...

  4. 支付宝电脑网站支付 demo 启动过程

    接支付的这个需求,想了很久,看了官网总是没有头绪,依旧不知道怎么做,于是把demo下载下来跑一下,由于太菜,弄了一天. 准备工作: 支付宝开发平台登录后注册获取APPID,支付宝公钥,私钥 (http ...

  5. 接入支付宝电脑网站支付实现JAVA版

    简介 首先要说明的是个人感觉接入支付宝比微信简单多了,很轻松的,所以同学们不要紧张~ 当然还是老规矩啦,上来肯定的贴上官网地址,因为我这些服务天天在更新,而我的文章是教大家方法,而让你不是照葫芦画瓢 ...

  6. SpringBoot(二)集成支付宝 - 电脑网站支付和查询账单案例

    一.简介 电脑支付常用于电商和后台管理系统的账户充值等场景. 电脑网站支付 文档 电脑网站支付流程图 项目源代码(含数据库):码云Gitee 二.集成步骤 0.创建应用.配置密钥 集成前需要先创建应用 ...

  7. 支付宝电脑网站支付及回调

    官方文档:https://docs.open.alipay.com/270 支付 电脑网站支付的支付接口 alipay.trade.page.pay 调用时序图如下: 调用顺序如下: 商户系统请求支付 ...

  8. 支付宝-电脑网站支付初长成

    前言 企业制定金额生成微信二维码集成完后,客户需要再集成支付宝,经过差文档及看博客终于实现出来(支付宝生成指定金额二维码,需要在"蚂蚁金服开放平台"注册账号,并且开通"电 ...

  9. 支付宝电脑网站支付(新版)

    前言 继前面几篇文章以后,查看了常用的支付方式,发现还有电脑网站的支付方式,因此,这里稍微整理了一下,其实原理和手机网站支付差不多,只是使用沙箱测试的时候可能会遇到一点小坑. 沙箱采坑 因为在本地测试 ...

  10. 支付宝电脑网站支付 alipay.trade.page.pay

    只涉及支付接口 其他接口没有使用 支付宝官方文档:https://docs.open.alipay.com/270/105899/ 支付接口文档 https://docs.open.alipay.co ...

最新文章

  1. 《预训练周刊》第34期:使用图像级监督检测两万个类别、BigScience寻求建立强大的开放语言模型...
  2. tableau必知必会之妙用 Lookup 函数同时跨行跨列取数
  3. VTK:PolyData之ExtractCellsUsingPoints
  4. m.2接口和nvme区别_透明款散热不好,那么ORICO 全铝NVMe固态硬盘盒了解一下?
  5. 继BAT之后 第四大巨头是谁
  6. vue.js开发环境搭建
  7. 浏览器渲染机制面试_【前端面试必考题】页面渲染机制(一)
  8. JDK 12,合并的收集器和命名的挑战
  9. 程序员进阶之路:四个程序员职业阶段,通常对应不同的薪资待遇!
  10. Flex Develpment中右边的框的linkWithEdit
  11. Video for linux 2 example (v4l2 demo)
  12. Chrome(谷歌浏览器)插件资料 !
  13. c4d语言包英文,Maxon Cinema 4D R23(C4D R23)中英文安装及设置详细教程(附下载)
  14. 【如何注销华为云账号(解绑合作伙伴)】
  15. 李德毅院士:迭代的智能——从薛定谔、图灵和维纳谈开去
  16. OCR学习之一:OCR简介
  17. Arcgis制作风速风向
  18. iOS“伪后台“机制下如何保持APP一直运行在后台
  19. 优化企业银行账户服务器,农业银行多措并举优化企业账户服务
  20. 爱普生Epson L14158 一体机驱动

热门文章

  1. 【福利】论机房如何关闭方正软件保护卡
  2. 电动机正反转继电器控制系统
  3. ubuntu16.04快速安装zabbix
  4. Excel·VBA数组排列函数
  5. SHP格式数据点线面无边界坐标生成经纬度边界点集合数据
  6. Mujoco-二阶单摆建模与控制
  7. android真机调试工具,ADB 安卓真机调试工具
  8. arcgispython空间插值_python2 使用arcpy自定义GIS工具箱,实现excel读取、空间插值
  9. 工业设计与钣金工艺是怎么相互相成的
  10. 机器视觉在工业互联网中的应用