电子商务平台支付接口开发原理及流程

随着电子商务行业的发展,很多中小企业也加入了电子商务大军,实现电子商务非常重要的一个需求就是有一个强大的电子商务网站平台,用于对企业电子商务相关产品、服务进行管理等操作。而完成整个电子商务流程最不能越少的环节就是收款,通过网络,将商品、服务的款项支付给电子商务平台的所有者。

我们将电子商务平台所有者,即在电商平台中出售商品或服务的提供者,称为商户。电子商务平台要实现的支付功能,即是顾客通过电商平台进行商品、服务的选择,提交订单,由平台进行价格处理,并为订单计算出需要支付的总额,并提供给顾客进行付款。

商户需要与银行、银联或第三方支付机构进行签约实现网站的支付功能

那么顾客通过网络如何付款,并且商户如何收到钱款并转到自己的银行卡中呢?这就是本篇文章介绍的重点。

我们知道,资金处理必需经由银行,商户可以与某商业银行签约,成功该商业银行的特约商户,由银行提供相关的技术接口,实现在网站中添加相关接口程序,将用户在该银行的相关款项转入到自己的账户中,实现收款。

然而商业银行是很多的,用户所持有的银行卡也是多种多样,所以要实现让大多数银行卡都可以通过网站支付,就需要单独与各家银行进行签约,接入成本非常高。为解决此接入繁琐的问题,我们可以直接与“银联在线支付”进行签约,使用银联提供的支付接口。

“银联在线支付”是中国银联联合商业银行共同推出的集成化、综合性、开放性网上支付平台,全面支持各类型银联卡。方便快捷、安全可靠、全球通用。然而随着人民银行颁发第三方支付牌照,各种第三方支付公司直接与商业银行进行签约并对商户提供支付接入,第三方支付公司接入门槛低、费率低、效率高而且技术开发简单引起了众多商业网站的接入使用。

像大家熟知的微博钱包、支付宝、财付通、快钱等,都是拥有人民银行第三方支付拍照的正规支付公司。

与银联、第三方支付公司签约后的收款流程

商户网站将支付信息提供给支付网关后,网站引导用户进入相关银行网关进行支付,完成后银行扣款,并将支付结果返回给第三方支付公司,支付公司收到结果后将为商户进行支付平台内的入账处理,等待结算。结算完成后,商户即可登录第三方支付平台进行提现,将资金通过第三方支付平台转入到自己的银行卡中。

现在支付公司提供的结算周期一般是T+1或T+0,T+1模式时,即用户支付完毕后,支付公司将在第二天进行结算,商户即可将资金提取到自己的银行卡,或支付公司直接结算到约定的商户收款账户中。如果是T+0的模式,则支付资金可以随时清算,并提现到商户银行卡。

与银联、第三方支付公司签约后的技术开发流程

与支付公司签约后,网站将获得相关开商户号、密钥、支付网关以及开发文档。技术人员通过阅读文档,获取需要使用的相关数据参数,如商品名称、金额等,并通过约定的加密方式及密钥进行加密处理,将以FORM表单POST或GET的方式发送给支付公司提供的支付网关URL。

支付网关收到商户提供的相关参数后将进行数据处理及加密验证,如果数据合格且密钥验证成功,将引导用户进入各家银行选择页面,用户在选择自己使用的银行后,将进入相关银行的支付网关进行支付。

用户在银行网关成功付款后,银行进行扣款,并将支付结果回传给支付公司,支付公司收到银行的结果,同样进行签名验证,并将支付结果信息传递给商户网站。

支付公司将支付结果传递给商户网站也是通过FORM表单的方式,只是该数据传递属于服务器后端处理的。商户网站向支付公司发起支付请求传递支付相关参数时,就包含一个或两个URL,用于指定接收支付结果的URL中。

商户网站接入支付结果有两种方式,一种是通过浏览器进行跳转通知,一种是服务器端异步通知。那么商户的技术人员该如何选择呢?我们对这两种通知类型进行分析。

浏览器跳转通知:这种方式主要是基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改,而降低安全性。所以我们推荐技术人员开发时使用后端服务器通知做技术判断,而只将前台通知进行支付相关显示,不进行逻辑处理。

服务器异部通知:该方式是支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST或GET的方式。商户网站接收异部参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等。

你可能感兴趣的:(互联网)