近段时间发现网上问关于支持接口的人越来越多,大多的人在程序方面都有一定功底,但在对网上支付的接口方面却很迷茫,很多时候不知从何下手。其实不管是哪一种支付接口,其实他们的原理都是相通的,只要知道了一种支付接口的用法,其他的接口都可以衍生出来,不同的可能就是各自己传递的参数不一样而已。
首先,我们就拿支付宝的接口来说吧,支付宝接口的说明文档有10多页吧,初次接触可能看得人头都晕了,但还是不知道从何下手。其实10多页的内容无非就说明了几点:要实现这个接口你得先有一个网站、要有自己的支付宝账户、支付宝的合作身份ID、安全校验码等。要简单的实现支付功能,其实只用配置支付宝接口文件夹的几个文件就可以了。拿ASP版本的接口来说明吧,这个更能通俗易懂:里面有一个alipay_Config.asp按里面的配置设置好你的相关信息,注意的是notify_url跟return_url这两个变量的作用。Alipay_Notify.asp跟return_Alipay_Notify.asp这两个页面的配置作用是指你可以根所这个页面的内容改你的数据库状态以判断客户是否支付成功,
如:这一段
If mysign=Request("sign") and ResponseTxt="true" Then
‘在这里你可以改你的数据状态,以判断客户成功支付,并做页面跳转
response.write "付款成功页面" '这里可以指定你需要显示的内容
Else
response.write "跳转失败" '这里可以指定你需要显示的内容
End If
相对于其他的支付接口,支付宝传递的参数要简单一点,其实原理就是这样:比如说我们现在有一个页面要向支付宝传递一个价格跟商品信息,那么可以通过POST和GET两种方式传递进去,当支付宝接收我们参数的同时,它还要判断我们的身份,所以传递的时候身份自己也要一起传过去,当我们身份确认以后,支付宝就开始处理商品信息跟价格信息了,至于客户是否支付成功,它都会返回一个信息给我们,这个返回页面就是我们之前设置的,在这个返回页面里面我们改写数据信息,这样就完成了一个简单支付接口。
上面说的接口是相对简单一点的,而对于直接针对各大银行的接口要复杂一点,只看他们的接口文档,就可以不做事了,相关厚的一本,呵呵。只能这样说,这些事业性单位的东西是这样,就是喜欢绕弯子,这是我个人的观点哈。跟支付宝一样,原理上的东西都是通的,不一样的东西就是他们的参数传递不像支付宝那样简单了,简单的传过去是不行的,看了文档就应该知道,这些参数是经过了按一定排列顺序并区分大小写(参数为空也要传递)在一个MD5字符串,所以传递的时候一定要注意。返回页面也有区分,拿建设银行的接口来说,他们是分了服务器反馈和页面反馈的,实现在功能基本相同。对于有什么不一样,在做一个项目的时候,我咨询了官方的相关人员,回答是服务器反馈是三分钟返回一次结果(订单的支付结果),页面反馈只是用户请求了才会返回。保险起见,我们还是都做吧,做了这些在建设银行的页面上面,我们还要设置我们的返回地址还有我们的商品信息,值得注意的是商户密钥跟证书之类的记得一定要备份,不然重系统之后,你哭都来不及,你会发现所有信息都丢失了建行的后台设置进不了,信息也不能修改。支付接口做完了之后就是做查询接口了,现在的查询接口可以有几种格式,我们就用返回的XML格式吧,至于如何解析XML不用我说了吧,我们这里只说传递参数,同理,向目标地址传递相关参数,顺序不能乱写,测试成功后我们就可以在后台随时查询我们的银行帐户的相关信息和订单支付的一些信息了。
对于网银在线的接口一共也只有三个页面,一个接收参数页面、一个设置参数页面,一个就是处理业务的页面改写状态,比较简单我就不介绍了。总之,懂了支付宝的接口流程就应该能够应付了。