最近在做电商项目做到关于在线支付模块的一些自己总结:
对于在线支付中有两种支付方式:
第一种:网站直接与各个银行的网银进行对接
优点:不会存在第三方收费
缺点:网站平台必须了解各个银行的网银系统从而做对接
第二种:网站与第三方支付对接,第三方支付与银行对接
优点:只需要了解第三方支付的接口即可,而不需要去过多的关注银行方面
缺点:绝大部分的第三方网站会收取费用
在线支付流程:(此处使用第三方支付,易宝支付)
准备工作:使用易宝支付首先网站需要提供一个秘钥,并且在易宝对应存在一个公钥与之匹配
首先在网站上用户进行最后一步付款操作页面上,需要将用户的商品信息等一些有效数据获取到,并在数据库中将商品的唯一订单号获取。当用户点击支付时,将获取的信息以表单的信息发送给易宝支付(在后台将表单的数据获取时必须对获取的信息进行加密之后再转发给易宝)。
易宝拿到数据之前先进行秘钥校对,如果正确则跳转到支付页面让用户进行付款操作,付款成功后易宝将网站网址以及所传参数进行拼接,最后以get请求将URL重定向到网站,网站将数据进行接收并且展示给用户。
当网站拿到易宝传来的数据时,后台必须进行判断易宝所传来的code(即付款是否成功)。
如果付款成功一定要注意一点,必须将数据库中的有效字段进行更改(0或者1),原因:如果用户付款成功后点击刷新,那么每次刷新都将执行一遍付款成功的方法,而此时数据库中没有更改有效字段的话则没刷新一次都会在数据库中累计一次,会造成难以预知的后果
该总结为平时随记,暂时没放源码!