随着电子商务的普及和发展,安全便捷的在线支付方式已经成为消费者不可或缺的服务。支付宝作为国内最大的在线支付平台之一,为数以亿计的用户提供着信任与便利,对于企业而言,也是进行支付业务必不可少的选择。本文将介绍如何在ThinkPHP6框架下使用支付宝开放平台,以方便企业进行支付业务。
一、 准备工作
在使用支付宝开放平台进行开发之前,需要进行对应的开发者注册和应用创建。具体步骤如下:
1、 注册成为开发者
首先,开发者需要进入支付宝开放平台(https://open.alipay.com/platform/home.htm)并完成注册,获取开发者ID和KEY。
2、 创建应用
应用的创建需要在开放平台后台进行,选择创建应用,填写应用的基本信息。
完成创建后,会生成APP ID、密钥等相关信息。
二、 配置支付宝开放平台SDK
Pay API是阿里开放平台的一项常用开放接口,使用Pay API进行支付可以极大地降低开发难度。Pay API提供开箱即用的支付功能,使用户能够快速轻松地开发出完整的支付流程。
1、 引入SDK
在ThinkPHP6中进行支付宝开放平台的开发,需要先引入SDK,在composer.json中新增:
"require": { "alipay/easysdk":"^2.1" }
之后执行composer install安装SDK,完成之后,就可以进行支付宝相关开发了。
2、 配置文件
在ThinkPHP6中进行配置,需要新建配置文件config/easysdk.php,然后将以下内容复制进去:
<?php return [ 'app_id' => '', //应用ID 'notify_url' => '', //支付回调通知地址 'return_url' => '', //支付结束后跳转地址 'ali_public_key' => '', //支付宝公钥 'private_key' => '', //应用私钥 'log' => [ //日志配置 'file' => './logs/easysdk.log', 'level' => 'debug', 'type' => 'daily', //按日志文件 ], 'http' => [ //API请求配置 'timeout' => 5.0, 'connect_timeout' => 5.0, ], ];
三、 发起支付请求
有了准备工作和配置文件后,就可以在ThinkPHP6中发起支付请求了。具体步骤如下:
1、 编写控制器
首先,需要在app/controller目录下新建控制器文件AlipyController.php。在该文件中写入以下内容:
<?php namespace appcontroller; use thinkApp; use thinkhelperArr; use thinkacadeConfig; use alipayEasySDKKernelFactory; class AlipayController { public function pay() { //支付金额 $totalAmount = 10.00; $pay = Factory::payment(Config::get('easysdk')); //构造支付请求参数 $builder = $pay->common()->precreate( [ 'out_trade_no' => '20191120' . uniqid(), 'total_amount' => $totalAmount, 'subject' => '思音联合会 -- 支付测试', ] ); //发起支付请求,获取响应 $response = $builder->getResponse(); $qrCode = Arr::get($response->bizContent, 'qr_code'); //展示支付二维码 echo "<img src='{$qrCode}'>"; } }
2、 发出请求
在浏览器中输入上述控制器的路由,即可进行支付请求。页面将展示支付二维码。