多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
本文由 BI8EJM 原创,转载请注明出处! 第一步   下载 Alipay 的PHP SDK  :[https://docs.open.alipay.com/54/103419/](https://docs.open.alipay.com/54/103419/) 第二步   解压下载都到的压缩包:   解压后得到的文件内容如图 ![](https://img.kancloud.cn/7d/9f/7d9f0aaa1a1d02342cd631cb41c7e532_677x201.png) 第三步、上传得到的目录中的**aop** 文件夹到 thinkphp 6.0 的 **extend** 目录,如下图: ![](https://img.kancloud.cn/7c/a2/7ca205f9b0f5f70b8816734b15235389_432x296.png)  第四步、修改 AopClient.php 文件,加入命名空间 **aop **具体修改如下图   在第二行位置,也就是最开始的位置,加入代码: ~~~ namespace aop; ~~~ ![](https://img.kancloud.cn/f9/aa/f9aa04aa8dbf8bfc363f7cffbd080163_464x318.png)  第五步、修改 PC 支付文件 **AlipayTradePagePayRequest.php** 同样是加入命名空间**namespace aop\\request**,具体如下:   在第二行位置,也就是最开始的位置,加入代码: ~~~ namespace aop\request; ~~~ ![](https://img.kancloud.cn/8a/da/8ada0d0b0ffa9d832a89228471cef637_409x215.png)  第六步、使用PC支付接口,生成支付链接   PS:接口方法这不是统一定义、而是在购买控制器中直接定义的,如要统一可以创建公共控制器或其他方法统一。   1.在 确认订单的控制器 ,我这里是 Buy 中引入支付方法。 ``` `use``aop\AopClient;` `use``aop\request\AlipayTradePagePayRequest;` ``` ![](https://img.kancloud.cn/38/c4/38c46e69ee08605f0ff9924360d846db_453x193.png)   2.创建私有方法 $alipay\_config ,替换下面红色的内容部分,为你的信息,具体信息在你的支付宝开发者平台获取,地址:[https://openhome.alipay.com/platform/appManage.htm#/apps](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/](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``.'">` ```   至此,支付链接生成就完毕了。 第七步、测试打开支付链接 ![](https://img.kancloud.cn/61/9e/619ea99f99ad8ca67e854c36e55b1783_623x189.png)   点击:立即支付 成功跳转到支付页面 ![](https://img.kancloud.cn/53/fd/53fd3048f0cd332f5a4de324a567d49b_941x646.png) 第八步、异曲同工。   这里仅仅展示了 PC 的支付,说好的手机支付呢?手机支付一样,你只需要在手机支付接口文件中,指定命名空间,然后引入手机支付方法即可,希望你能顺利完成。