易宝网银支付

前段时间在公司写了易宝支付的并在生产环境已经稳定运行一段时间了,所以来总结一下这个过程。

一、简介

其实易宝也是一个第三方支付平台,是连接商户与银行的纽带,因为商户不可能去对接每家银行,所以易宝作为中间商完成了对接每个银行的工作,商户只有调用易宝的支付接口,就可以让顾客用各种银行卡进行支付了。易宝支持的支付形式也是蛮多的,如下所示,一键支付其实还支持支付宝跟微信支付,这里要介绍的是易宝网银支付。
易宝支付产品

二、对接易宝

这部分的话都是由业务人员完成的,对接易宝之后会有个易宝的商户后台,跟微信的商户平台一样,里面可以看到出入账流水,除了有个商户后台的话还能拿到支付开发文档。很想报怨的是易宝的后台太难登了,每次都要手机验证码,然后验证码又在财务处那边管理,十五分钟没有操作后台又要重新登录,每次看个数据都要等很久。

三、支付接口

有了商户后台跟开发文档就可以开始开发了,我就通过易宝给的demo来将一下大概的流程。
这里写图片描述
支付流程:
1、首先要准备好请求参数,用hamc加密请求参数,将易宝支付接口地址跟参数拼接成新的url,重定向到这个url,从而发起支付请求(当然你可以用post方式)。
2、根据你请求参数中选择的银行卡参数不同,易宝会为你跳转到不同银行的网上银行,让顾客自行支付(当然这一步都是由易宝完成,不用我们关心)
3、(请求参数中有回调地址跟服务器通知地址这个两个参数),当顾客支付成功(或失败)之后,浏览器会重定向到你请求参数中的回调地址,并发送支付结果。同时易宝也会将支付结果发送到服务器通知地址。所以相当于是有两个通知方式。
下面是发起支付请求的代码:
支付请求
下面说一下需要注意的事项:
1、两个通知地址,我怕支付成功之后业务逻辑会处理两次,所以在请求参数中只设置了服务器通知地址,回调地址为空,这样的话顾客支付成功的话会跳到易宝的支付成功界面。而我的服务器通知地址里面接收支付结果之后进行业务逻辑的处理。
2、一开始易宝给我的开发文档是比较旧的,还没有服务器通知地址这个参数,是要在后台配置回调通知地址,但是后台配了回调通知地址之后支付完发现收不到回调通知,所以最后还是不要在后台配回调通知地址。
3、关于支付费的问题,根据交易金额的不同,易宝会收一定比例的手续费(如千分之三),也就是说用易宝的接口支付了一千块钱,易宝就会收三块钱的手续费,当然这三块钱是从后台商户余额里面自动扣的,对交易不会有影响。

四、退款接口

这里写图片描述
退款的话也是一样先用hamc加密请求参数,用get方式请求,易宝会同步返回退款结果。
这里写图片描述
这里写图片描述
注意事项:
1、易宝退款可以分多次退款,所以退款的时候要注意不要超过支付时的额度,不然回退款失败。
2、易宝退款是不退手续费的(跟支付宝不一样),所以假如支付的时候收了顾客的手续费,在这里要根据业务的需求退回。

五、总结遇到的问题

其实只是调接口的话还是挺简单的,开发易宝的时候大多数时间都是花在熟悉公司网站以前的支付逻辑,因为在开发易宝支付前公司已经大概有五六种支付方式了,但是不同支付处理的方式会不同,有些存储过程能共用,有些得到重写,支付、退款的时候还要涉及到很多业务逻辑,如分润、手续费、公司调控等等,对自己来说对业务这方面也熟悉了很多。
1、支付、退款得要写日志。有时候出现问题了方便找问题所在,而且有时候易宝那边也会出问题,有日志的话就有证据了,反正日志是个好东西。
2、顾客选好银行卡进行支付的时候会跳到网上银行界面,有时候顾客会同时打开几个网上银行的页面,由于每次打开一个页面会更新一次商户订单号,最后顾客支付的时候可能用的不是最新打开的那个支付页面,导致收到支付回调时返回的商户订单号在数据库中不存在。所以最后决定去反向更新数据库里面的商户订单号。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页