互联网项目第三方支付模块之支付宝接入详解

2024-07-15
来源:网络整理

目前互联网项目如果涉及到第三方支付模块,那么支付宝/微信支付是不二之选,本文会先以支付宝为例,如果想了解更多微信支付,可以看我后续的文章。当然支付的形式有很多,比如扫码支付、当面支付、声波支付、调用APP支付、网页直接支付等等,但是最常用的形式还是服务器+APP+调用支付宝APP或者服务器+网页扫码/调用支付宝APP/直接支付,所以接下来我会以.1作为服务端来讲解从接入SDK到实现支付请求、回调业务流程的完整操作。虽然我用的是TP5.1,但是在这个使用过程中和TP5.1并没有太大的区别,只是TP5.1用到了一些TP5没有的静态方法,所以使用TP5的朋友也可以通过本文无障碍的使用。 使用沙盒的原因是有些用户还没有接触过具体的项目,也没有申请过商户资质。使用沙盒环境的时候就不用考虑这些了,直接用支付宝提供的沙盒号接入测试就可以了。当然如果你是要上线一个项目,只需要把信息改成项目要求就可以正常使用了。现在我们进入正文。

目录

1.接入支付宝SDK 1.下载SDK并放入框架中

第一步当然是下载支付宝提供的SDK,这里我们选择支付宝的服务端PHP SDK进行下载(点击此处进入下载页面)

下载下来的文件是一个压缩包,接下来我们打开TP5.1框架,在文件夹中新建一个文件夹(文件夹名任意,但后面一定要和命名空间对应,本文以此为例),然后把压缩包里的内容全部解压进去,效果如下:

2.为SDK所需的类添加命名空间

首先整理一下后面需要用到的SDK类

生成APP使用的支付码:uest.php、.php

网页支付:.php

异步通知回调签名验证:.php

总结一下,我们需要使用SDK中的这三个类,首先找到这三个类,然后手动给它们添加命名空间。

.php 位置://aop/.php

uest.php 位置://aop//uest.php

.php 位置://aop//

为它们添加命名空间如下

.php需要添加这个命名空间\aop;

uest.php 并需要添加命名空间 \aop\;

钱包模块支付_支付模块流程_支付模块

3.控制器中的引用

为所需的库文件添加命名空间后,就可以在控制器中引用它了。只需使用 use 即可,如下所示:

2.沙盒环境 1.获取商户/用户沙盒账户

首先使用支付宝账户登录支付宝开放平台,点击进入我的开放平台,在顶部导航栏的开发中心选择研发服务,跳转至沙盒页面。

在沙盒页面我们可以看到支付宝给我们生成的对应信息和账号,后面我们使用SDK的时候会用到这些对应信息:

记得下载沙盒版的支付宝,以后测试支付可以用,余额可以自行充值。

2.配置公钥和私钥

SDK主要需要四个参数,分别是支付宝网关、应用私钥、支付宝公钥。

获取支付宝公钥需要先生成私钥,然后提交对应的公钥,即可获取支付宝公钥。生成私钥我们需要下载支付宝开放平台开发助手,打开生成,记得选择非JAVA适用

将公钥复制到沙盒页面提交即可获取支付宝公钥,现在我们就有了后面需要的私钥和支付宝公钥。

3.APP支付(服务器提供序列号给APP调用支付宝APP)

一旦获取了具体的环境和参数之后,使用就非常简单了,只需要写入需要的参数然后调用SDK提供的API就可以生成APP调用支付宝所需要的字符串代码。

public function appAlipay() { $aop = new AopClient; $aop->gatewayUrl = "https://openapi.alipaydev.com/gateway.do"; //网关地址要使用沙箱网关alipaydev $aop->appId = "填写你自己的APPID"; $aop->rsaPrivateKey = '填写你自己的应用私钥'; $aop->format = "json"; $aop->postCharset = "UTF-8"; $aop->signType = "RSA2"; $aop->alipayrsaPublicKey = '填写沙箱页面给你的支付宝公钥'; //实例化具体API对应的reque

分享