栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

laravel8 支付宝沙箱支付

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

laravel8 支付宝沙箱支付

一 : 下载第三方插件

composer require yansongda/pay:^2.10 -vvv

二 : 使用命令行新建控制器

php artisan make:controller Api/PayController

三 : 控制器内头部需要调用的类

use YansongdaPayPay;
use YansongdaPayLog;

四 : 更改私有的配置文件

下面的配置代码中只需要更改app_id、notify_url、return_url、ali_public_key、private_key即可

protected $config = [
        'app_id' => '',
        'notify_url' => 'http://127.0.0.1/laravle8/public/api/pay/notify',  				//将网址改成你的路由
        'return_url' => 'http://127.0.0.1/laravle8/public/api/pay/return',   //网站就是你自己域名
        '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,设置此参数,将进入沙箱模式
    ];

   

1:可以根据支付宝沙箱这个链接中获取APPID

2:回调路由根据自己所需更改即可

3:应用公钥和应用私钥

应用公钥就是支付宝公钥:

应用私钥:

五 : 支付

	
    public function index(Request $request)
    {
        //接收订单id
        $id = $request->get('id');

        //查询订单数据
        $order = ApiOrder::where('id',$id)->get()->toArray();

        //查询商品数据
        $goods = ApiGoods::where('id',$order[0]['gid'])->get()->toArray();

        //组装支付信息
        $order = [
            'out_trade_no' => $order[0]['name'],//订单号
            'total_amount' => $order[0]['total_price'],//价格
            'subject' => $goods[0]['name'],//描述 可以为商品名称
        ];

        //支付
        $alipay = Pay::alipay($this->config)->web($order);

        return $alipay;//
    }

六 : 修改订单表的状态

	
    public function return()
    {
        //验签
        $data = Pay::alipay($this->config)->verify(); // 是的,验签就这么简单!

        //获取订单信息
        $order = ApiOrder::where('name',$data->out_trade_no)->get()->toArray();

        //组装订单表数据
        $data = [
            'name' => $order[0]['name'],
            'gid' => $order[0]['gid'],
            'status' => 1,
            'uid' => $order[0]['uid'],
            'total_price' => $order[0]['total_price']
        ];

        //返回
        ApiOrder::where('name',$data['name'])->update($data);
        return ['code' => 200,'msg' => '支付成功','data' => ''];
    }

七 : 后台,无需更改

	public function notify()
    {
        //支付成功后会走到这个方法里面
        $alipay = Pay::alipay($this->config);

        try{
            $data = $alipay->verify(); // 是的,验签就这么简单!

            Log::debug('Alipay notify', $data->all());
        } catch (Exception $e) {
            // $e->getMessage();
        }

        return $alipay->success()->send();
    }

八 :在小程序端的页面中使用web-view进行支付操作

支付

END

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/683655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号