thinkphp6.0 集成Alipay 手机和电脑端支付的方法

简介: 第一步  下载 Alipay 的PHP SDK :https://docs.open.alipay.com/54/103419/第二步  解压下载都到的压缩包:  解压后得到的文件内容如图   第三步、上传得到的目录中的 aop 文件夹到 thinkphp 6.
+关注继续查看

第一步

  下载 Alipay 的PHP SDK :https://docs.open.alipay.com/54/103419/

第二步

  解压下载都到的压缩包:

  解压后得到的文件内容如图

  
image

第三步、上传得到的目录中的 aop 文件夹到 thinkphp 6.0 的 extend 目录,如下图:

  
image

第四步、修改 AopClient.php 文件,加入命名空间 aop 具体修改如下图

  在第二行位置,也就是最开始的位置,加入代码:

namespace aop;

image

第五步、修改 PC 支付文件 AlipayTradePagePayRequest.php 同样是加入命名空间 namespace aoprequest ,具体如下:

  在第二行位置,也就是最开始的位置,加入代码:

namespace aop\request;

image

  

第六步、使用PC支付接口,生成支付链接

  PS:接口方法这不是统一定义、而是在购买控制器中直接定义的,如要统一可以创建公共控制器或其他方法统一。

  1.在 确认订单的控制器 ,我这里是 Buy 中引入支付方法。

  

use aop\AopClient;
use aop\request\AlipayTradePagePayRequest;

  

  image

  2.创建私有方法 $alipay_config ,替换下面红色的内容部分,为你的信息,具体信息在你的支付宝开发者平台获取,地址:https://openhome.alipay.com/platform/appManage.htm#/apps

private $alipay_config = array(
    'app_id' => '你的app_id',
    'notify_url'=>"https://xxx.com/xxx/ 这是你的异步通知地址",
    'merchant_private_key' => '你的私钥',
    'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
    'public_key' => "你的公钥",
);

  

  3.配置、引入 aop

$aop = new AopClient();
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = $this->alipay_config['appid'];
$aop->method = 'alipayTradePagePay';
$aop->charset = 'utf-8';
$aop->signType = 'RSA2';
 
$aop->alipayrsaPublicKey = $this->alipay_config['public_key'];
$aop->rsaPrivateKey      = $this->alipay_config['private_key'];

  4.生成 biz_content 内容,具体内容可根据自己需求增删,具体文档参考:https://docs.open.alipay.com/api_1/alipay.trade.page.pay/

    参数解释:

      out_trade_no :订单号,阿里要求是唯一的。

      product_code :销售产品码,与支付宝签约的产品码名称。注:目前仅支持 FAST_INSTANT_TRADE_PAY

      total_amount :支付金额

      subject :订单名称

      timeout_express : 支付过期时间,订单创建后多久过期,这里 设置 30m 意思是,订单创建后 30 分钟后过期,过期了这个就不能支付了,这里只是alipay这里不能支付,不要搞晕了。

$biz_content = json_encode([
    'out_trade_no'=> rand(11111111,99999999),
    'product_code'=> 'FAST_INSTANT_TRADE_PAY',
    'total_amount'=> 99.9,
    'subject'=> 'BI8EJM Alipay 测试',
    'timeout_express'=>'30m',
]);

  

  5. 引入 PC 支付 并显示 支付链接

$payRequest= new AlipayTradePagePayRequest();
 
$payRequest->setReturnUrl(url('index/index'));
$payRequest->setNotifyUrl($this->alipay_config['notify_url']);
$payRequest->setBizContent($biz_content);
$response = $aop->sdkExecute($payRequest);<br>
echo '<a href="'.'https://openapi.alipay.com/gateway.do?'.$response.'">

  

  至此,支付链接生成就完毕了。

第七步、测试打开支付链接

image

  点击:立即支付 成功跳转到支付页面

image

第八步、异曲同工。

  这里仅仅展示了 PC 的支付,说好的手机支付呢?手机支付一样,你只需要在手机支付接口文件中,指定命名空间,然后引入手机支付方法即可,希望你能顺利完成,本文首发在我的cnblogs,献丑了。

目录
相关文章
|
1月前
|
Android开发 开发者
SAP UI5 应用开发教程之四十九 - 如何在桌面电脑端调试运行在手机上的 SAP UI5 应用试读版
SAP UI5 应用开发教程之四十九 - 如何在桌面电脑端调试运行在手机上的 SAP UI5 应用试读版
22 0
判断手机登录还是电脑登录效果示例(整理)
判断手机登录还是电脑登录效果示例(整理)
|
4月前
|
Android开发 iOS开发
【资源共享】手机共享摄像头给电脑用
【资源共享】手机共享摄像头给电脑用
162 0
|
4月前
|
网络协议 数据安全/隐私保护 Windows
手机远程控制电脑?让cpolar帮你完美实现(二)
手机远程控制电脑?让cpolar帮你完美实现
104 0
|
4月前
|
网络协议 Windows
手机远程控制电脑?让cpolar帮你完美实现(一)
手机远程控制电脑?让cpolar帮你完美实现
151 0
|
4月前
|
API Android开发
电脑端如何访问手机SD卡中的文件
基于AndServer所提供的功能,是不是我们就可以以自己的手机做为一个服务器,来部署一个网站呢?这个必须可以,AndServer中已经提供了部署的方式,部署完毕后,无非就是,电脑端访问服务器(也就是自己手机)里的各个文件
|
5月前
|
Android开发
Android实现手机和电脑屏幕共享
Android实现手机和电脑屏幕共享
|
5月前
|
Windows
【电脑控制手机屏幕】windows11、10自带投屏功能,三步解决
想用电脑控制手机,但是下载第三方软件好麻烦,只需三步骤即可使用windows系统自带投屏插件实现投屏功能
641 0
|
6月前
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
190 0
|
6月前
[✔️]AudioRelay将电脑的声音投射在手机上
[✔️]AudioRelay将电脑的声音投射在手机上
263 0
推荐文章
更多