laravel 5 支付宝支付教程

laravel5集成支付宝alipay支付教程

关于支付宝 合作者id、支付宝账号、校验码Key自己去申请,这里不做解释


安装

1.执行命令安装包

cd 项目根目录>composer require latrell/alipay dev-master

2.执行更新

>composer update

3.找到 config/app.php 配置文件中,key为 providers 的数组,在数组中添加服务提供者。

 ‘providers‘ => [
        // ...
        ‘Latrell\Alipay\AlipayServiceProvider‘,
    ]

cmd 窗口,根目录运行

php artisan vendor:publish

命令,发布配置文件到你的项目中
4.配置说明
说明
配置文件
config/latrell-alipay.php 为公共配置信息文件,

    config/latrell-alipay-web.php
为Web版支付宝SDK配置,

    config/latrell-alipay-mobile.php 为手机端支付宝SDK配置。

打开config下
latrell-alipay-web.php

<?php
return [

   // 安全检验码,以数字和字母组成的32位字符。
   ‘key‘ => ‘‘,//这个在支付宝里面获得商家服务显示

   //签名方式
   ‘sign_type‘ => ‘MD5‘,

   // 服务器异步通知页面路径。
   ‘notify_url‘ => ‘http://www.cxycdz.cn/alipay/webnotify‘,

   // 页面跳转同步通知页面路径。
   ‘return_url‘ => ‘http://www.cxycdz.cn/alipay/webreturn‘    (注意:这里的路径必须是真实的链接)
];

路由参考
/*支付*/

Route::Group([‘namespace‘ => ‘Moneymember‘], function () {
    Route::get(‘/pay‘, [‘as‘ => ‘website.pay‘, ‘uses‘ => ‘[email protected]‘]);
    Route::get(‘/alipay/webnotify‘, [‘as‘ => ‘website.pay‘, ‘uses‘ => ‘PayControll[email protected]‘]);
    Route::get(‘/alipay/webreturn‘, [‘as‘ => ‘website.pay‘, ‘uses‘ => ‘[email protected]‘]);

例子
支付申请

网页
// 创建支付单。

   $alipay = app(‘alipay.web‘);
    $alipay->setOutTradeNo(‘order_id‘);  // 订单号、订单id
    $alipay->setTotalFee(‘order_price‘);   // 订单价格
    $alipay->setSubject(‘goods_name‘);   // 商品名称
    $alipay->setBody(‘goods_description‘);  // 商品描述

    $alipay->setQrPayMode(‘5‘);       //该设置为可选,添加该参数设置,支持二维码支付。,5为网页版扫码链接

    // 跳转到支付页面。
    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‘;
    }
时间: 2024-10-08 18:01:57

laravel 5 支付宝支付教程的相关文章

安卓Android轻松完成支付宝支付教程

介绍 参考安卓Dialog源码,他的builder设计模式实现方式是,使用内部类来实现功能,外部类的作用是通过build()函数,来对内部类进行参数设置,例如setter方法. Buidler设计模式它一般用于用户不知道内部构建细节的情况下更加精细地控制对象构建流程,例如安卓系统的AlertDialog类,它包括了icon.title.msg.button1.button2等,这些装配的部分是比较多的,代码实现过程也较为漫长.使用Builder模式,可以使得这些调用变得简单,在构建过程各个部件可

微信支付教程系列之扫码支付

微信支付教程系列之扫码支付 http://www.cnblogs.com/nangong/p/9fa625bfb92a986125f0ba72704c46ec.html 今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候,可以通过输入对方的微信号,也可以扫一扫对方的二维码.扫码支付,作为,微信支付里面,不可或缺的一个功能,对商品的支付提供了极为方便的体验,用途也非常的多.例如我们在地铁.公交站常见

【原创分享&#183;微信支付】 C# 微信支付教程系列之扫码支付

微信支付教程系列之扫码支付 今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候,可以通过输入对方的微信号,也可以扫一扫对方的二维码.扫码支付,作为,微信支付里面,不可或缺的一个功能,对商品的支付提供了极为方便的体验,用途也非常的多.例如我们在地铁.公交站常见的那些自动售货机(不错,就是那种投硬币,就可以自动出货的那种机器)中都用到.以前,那种机器,只能通过投硬币或者纸币,但是,这里面也有一定的风险

(转载)Android支付宝支付封装代码

Android支付宝支付封装代码 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-12-22我要评论 这篇文章主要介绍了Android支付宝支付封装代码,Android支付的时候肯定会使用支付宝进行支付,封装可以简化操作步骤,感兴趣的小伙伴们可以参考一下 在做Android支付的时候肯定会用到支付宝支付, 根据官方给出的demo做起来非常费劲,所以我们需要一次简单的封装. 封装的代码也很简单,就是将官网给的demo提取出一个类来方便使用. ? 1 2 3 4 5 6 7 8

***单文件搞定微信支付和支付宝支付

这段时间做微信支付和支付宝支付集成,发现了一个不错的开源代码 简单快捷,单文件即可搞定微信支付和支付宝支付. 单文件搞定微信支付系列: https://github.com/dedemao/weixinPay weixinPay 一个PHP文件搞定微信支付系列 网上的很多PHP微信支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义. 一个PHP文件搞定支付宝系列请移步:https://github.com/d

Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解)

前言 本教程详细介绍了如何使用ssm框架实现支付宝支付功能.本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释,自己实践的时候一定仔细阅读相关文档,话不多说我们开始. 本教程源代码: https://github.com/OUYANGSIHAI/sihai-maven-ssm-alipay 一.支付宝测试环境代码测试 1. 下载电脑网站的官方demo: 下载:https://docs.open.alipay.com/270/106291/

java调用支付宝 支付api 【沙箱环境】

由于支付宝支付api需要各种备案,但学校项目需要引入支付功能  先演示  ,所以采用 沙箱环境 一.登录支付宝 开放平台 及配置相关 https://openhome.alipay.com/platform/manageHome.htm 进入官方教程 建议下载 在 官方教程中提及的两款程序,下方这个在验证 密钥 的时候非常方便 二.下载SDK,配置相关数据,导入必备jar包 点击进入下载SDK 导入jar包 点击下载 不导入,会在后期出现: 无效 appid 报错 支付宝公钥: 配置支付宝网关:

微信浏览器中调用支付宝支付

众所周知,在微信浏览器中是无法唤起支付宝的,会提示请在浏览器中打开,如果非要在微信浏览器中调起支付宝的话,只能是跳出微信浏览器,关于这一点,在支付宝官网给出了一个例子.但是,话说回去,后来我仔细想想,其实真的没有必要非要在微信浏览器中调起支付宝支付(当时真是一根筋啊啊啊...) 支付宝手机网站支付的官方文档: https://doc.open.alipay.com/docs/doc.htm?treeId=203&articleId=105288&docType=1 快速接入: https:

php大力力 [047节] 支付宝支付.申请支付资质,等待审核中

https://beecloud.cn/doc/payapply/?index=6 支付宝支付申请支付资质 一.注册支付宝用户 在支付宝官网注册成为用户 二.签约对应支付产品 应用集成支付宝支付,需要签约支付宝支付产品. 荷马史诗,西西弗斯是人间最足智多谋又机巧的人,他是科林斯的建城者和国王.当宙斯掳走河神伊索普斯(Aesopus)的女儿伊琴娜(Aegina),河神曾到科林斯找寻其女,知悉此事的西西弗斯以一条四季常流的河川做为交换条件告知.由于泄露了宙斯的秘密,宙斯便派出死神要将他押下地狱.没有