之前写游戏充值系统的时候,一开始使用了码支付,但是码支付需要自己监控,感觉很麻烦,之前看到过易支付,感觉很方便不需要监控,只是有手续费而已,然后我就去找来研究了。
需要的东西
- TP3
- 彩虹易支付SDK
易支付SDK
- lib [文件夹,放着封装好的函数]
- epay_core.function.php [接口的公共函数]
- epay_md5.function.php [MD5加密函数]
- epay_notify.class.php [支付通知处理类]
- epay_submit.class.php [支付接口请求提交类]
其实这里面的几个文件就是支付宝官方提供的SDK里面的
- epay.config.php [配置文件]
- epayapi.php [交易支付接口]
- index.php [显示页]
- notify_url.php [异步通知页面]
- return_url.php [同步跳转通知页面]
开始对接
查看epayapi.php
忽略那些配置,我们直接看下面的建立请求,需要注意的是在该文件顶部导入了lib/epay_submit.class.php
这个文件,并且我们看到了它实例化了一个对象,并且调用了一个方法,我们去lib/epay_submit.class.php
这个文件内看看
[]查看lib/epay_submit.class.php
打开该文件,我们发现:
文件的开头包含了另外两个文件,而且这里的类名正好是epayapi.php
里面实例化的,我们来找到epayapi.php
里面调用的那个方法buildRequestForm()
:
我们可以看到是这个方法将处理好的数据进行发送了,而且我们可以看到该方法里面又调用了另外得一个方法$para = $this->buildRequestPara($para_temp);
对数据进行处理。
最后我们可以知道这个整个流程:
- 提交支付
通过页面将支付的一系列的信息传入到epayapi.php
里面后,通过一个方法将数据传入,然后数据经过了排序,拼接,加密等一系列的操作将数据重新写入到一个表单再次进行提交支付宝 - 支付结果
整个流程就是这样子了,代码就不粘了.