本文由 BI8EJM 原创,转载请注明出处!

第一步

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

第二步

  解压下载都到的压缩包:

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

   

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

  

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

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

namespace aop;

  

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

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

namespace aop\request;

  

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

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

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

  

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

  

  

  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);
echo '<a href="'.'https://openapi.alipay.com/gateway.do?'.$response.'">

  

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

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

  

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

第八步、异曲同工。

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

  

最新文章

  1. Nodejs 及 NPM 的安装
  2. SQL Update实现使用一个表的数据更新另一张表
  3. JsRender系列demo(5) for else
  4. hdu 2544最短路——最短路的初次总结 UESTC 6th Programming Contest Online
  5. HDU 5781 ATM Mechine (概率DP)
  6. minicom移植到ARM开发平台
  7. MongoDB的索引
  8. 【Eclipse】Tomcat 改变发布路径
  9. 【python】内部函数
  10. handlebars.js模版引擎随记
  11. Python之file方法
  12. 【6】JMicro微服务-服务日志监控
  13. Docker 镜像加速器
  14. eclipse调试的方法和技巧【转】
  15. zabbix服务快速搭建指南
  16. Day16 Django深入讲解
  17. ES6 module语法加载 import export
  18. [Angular] Improve Server Communication in Ngrx Effects with NX Data Persistence in Angular
  19. Log4j 2
  20. drawableRightset 和 CompoundDrawables

热门文章

  1. pycharm的补充
  2. RecyclerView实现混合布局
  3. 设计一个完美的http缓存策略
  4. nginx之gzip压缩提升网站速度
  5. HDU 6363
  6. CodeForces 909F
  7. 玩转 SpringBoot 2 快速搭建 | RESTful Api 篇
  8. Jenkins教程(三)添加凭据与流水线拉取Git代码
  9. mybatis 源码分析(七)KeyGenerator 详解
  10. crontab使用方法