支付宝接口对接

刚刚对接完支付宝的接口, 接下来我把过程还有该注意的一些细节给提下,一方面方便自己巩固,另外一方面与大家分享下。

首先我们要清楚了解自己的平台需要什么样的对接接口, 因为支付宝的对接接口有3种,根据不同用户的需求不同,产品的业务流程不同, 而产生了3种接口。

第一种 担保交易

第二种 即时到账

第三种 双功能 

他们的不同点,我就不一一阐述了,你们可以上网查看下, 了解下自己网站的需求,在针对性的去选择支付接口。

当了解了自己所需要的接口之后,登陆alipay.com 官网申请商户账号,申请的主要目的是为了得到

1.商务的密钥 

2.商务的ID

申请完之后,我们选择一种接口,上百度搜索支付宝接口, 下载对应的一种接口文档, 比如我使用的是即时到帐。


接口文档里面有这些的配置文件,




拿到这些文件我们应该先了解这些文件的结构开始,

Index.php是这个测试接口的表单提交信息。

 

alipay.config.php 是支付宝接口的配置文件

需要准备的是合作ID和合作者KEY,这些在申请的商户账号可以获取

notify_url.php  异步接口

return_url.php   同步接口

异步接口和同步接口的不同:

1, 在支付成功之后会进行跳转。

思考:

如果用户把跳转页给提交关闭了???

工作原理:

1, 支付成功的时候,它会向同步接口【跳转】和异步接口【怎么实现的?参照第2提示】同时发送一份支付成功的通知。

2, CURL的操作【CURL不知道是神马?】基于URL的库文件,模拟HTTP的所有操作。有用户密码,需要登陆,还是需要记录COOKIE,还是要模拟发送GET信息或POST信息等等,CURL全部能实现。

3, 

Logs.txt 日志文件

Readme.txt帮助文件和说明文件

Lib目录是对应的类文件,在支付时需要使用的东西。

注意:

同步接口可以在本地模拟出来

C:\windows\system32\drivers\etc\host

异步接口,没办法模拟:

支付宝会找对应的真实的URL来进行模拟访问,向这个真实的互联网当中的站点。来发送POST信息。

如果你用的是php5.3以上的版本,如果在php.ini当中没有设置对应的时区,这当中默认不会再是格林威治时间。

会给出一个提示。


对接完以上步骤也只是紧紧完成了付款,付款后的流程是应该返回一些已经购买成功的信息,并修改本地商品的一些状态。

例如 :有一个在线商店,绑定了支付宝 

用户买了一批商品,形成了一个订单。我是不是要把订单的总额发过去给支付宝,让支付宝处理完成,告诉我。然后,我的系统自动,跟用户把订单状态改为已付款?


首先 建立一个表:【订单表】

在我们的订单表当中,需要有哪些信息。

第一, 订单ID   主键,自增

第二, 订单号    char 20

第三, 订单名称  字符串

第四, 订单简介  字符串

第五, 订单总价  float

第六, 订单的状态【付款、未付款】  tinyint   0,1 如果支付宝处理完成之后,我在代码当中,把订单状态改为1.


步骤:

1, 连接数据库 【建立一个共用文件专门来做数据库连接使用】 pdo,mysqli我直接使用面向过程的mysql系列函数来完成。数据库操作类,你可以直接使用thinkphp当中的方法。未来的项目视频当中,来跟大家使用。

参考代码:conn.php

2, 显示产品,把index.php改成订单显示页,你到底对你的哪个订单来进行支付。

3, 点击订单进行支付,将其信息传递给alipayto.php这个文件。在里面,读取出来相关的订单信息。支付宝的接口,全部为大家做好了,把信息交给相关变量就行了。

参考  index.phpalipayto.php

4, 修改return_url.php接收信息,判断订单是否支付成功。如果直接成功,并且未处理。修改订单的交易状态,将其改为已付款。

5, 修改notify_url.php 将异步接口当中,与return_url.php的代码一样。

参考代码: notify_url.php  return_url.phps

注意项:

为什么会有支付宝订单号?

支付宝生成的。

公司里面,财务是单纯划分的一个部门。

要求你把支付宝的订单号存起来。他会对帐。。。。


大家按照我的步骤去对接支付宝接口一般问题不会太大, 如果有出现本文章之外的一些疑难杂症可以在下方评论或者加我微信luo425116243我们共同讨论与解决。


猜你喜欢

转载自blog.csdn.net/qq_33842966/article/details/70186699