其他分享
首页 > 其他分享> > 网上支付平台接口使用总结

网上支付平台接口使用总结

作者:互联网

2019年年底,也就是12月31号那天,西安这边的项目组工作已经结束,项目组人员调回武汉,时隔两年,终于回武汉了!
这次回武汉,进入一个与政府有关的项目,主要做统一支付平台
主要是归纳一下支付有关的交易工作使用总结。

如果有感兴趣的同学,建议搜查银行官网的支付对接的文档,比如银联、农行等等都有提供支付接口文档。这里所说的支付场景并不是我们日常使用的二维码支付,那又是另外一种方式。这里所讲的就是一般的支付场景:下订单,选择支付方式,支付请求,支付通知。

总体架构

针对对象有三:消费者浏览器、商户交易网站服务器、银行网上支付平台(以农行为例)

总体架构图

我们相当于交易网站服务器,提供支付请求和支付结果通知的转达,记账,对账,清算等处理。

交易流程

支付交易

支付交易图

支付交易因为需要三方的配合(消费者、商户交易网站、网上支付平台),且交易流程是分两阶段进行,所以商户交易平台需要开发两个主要的程序才能完成整个支付的流程,此两支程序为“支付请求程序”及“支付结果接收程序”。

交易的过程根据支付结果的接收方式的不同而不同,两种交易流程分别如下图所述:
页面通知支付结果方式:

页面通知的支付流程图

服务器通知支付结果方式:

服务器通知的支付流程图

确保支付结果正确送达商户网站的措施

网上支付平台为了防止网络异常中断所造成的支付结果丢失,建议商户实现下列网上支付平台所提供的机制。

交易查询

其它交易

其它的交易(单笔退款、交易查询、对账单查询)只需要商户及网上支付平台的参与,交易的过程是实时响应,商户只需要简单的开发交易程序即可完成交易的过程。交易过程如下图所述:

其它交易

交易使用时机

两种接收支付结果方式的区别

消费者在网上支付平台上进行在线支付的操作,支付成功后,网上支付平台会将支付结果通知给商户,目前通知方式有两种: 通过显示给消费者的支付结果接收页面通知商户通过支付平台服务器通知商户

通过显示给消费者的支付结果接收页面通知商户

商户选择此种接收支付结果通知的方式,需要开发一个接收支付结果通知的页面。

商户在向网上支付平台发送交易请求的时候选择通过 页面通知方式接收支付结果,传送给支付平台一个支付结果通知的页面地址;然后消费者在网上进行在线支付,如果支付成功后,网上支付平台会将支付结果信息通过显示给消费者的支付结果通知页面通知给商户。
交易流程如下:

页面通知的支付流程图

通过支付平台服务器通知商户

商户选择此种接收支付结果通知的方式,需要开发两个页面:

注意:这两个页面的 URL 应该是在公网能访问的地址,而且接收服务器通知的页面 仅能 以
http 方式访问,不能用 https 访问。

服务器通知的支付流程图

商户在向网上支付平台发送交易请求的时候选择通过 服务器通知的方式接收支付结果,传送给支付平台一个接收服务器通知的页面(ServerURL),此页面的 HTML 代码里应该包含一个准备展示给消费者支付结果的 URL 链接(CustomerURL) (注意:链接之间需要用包含,具体代码参见程序范例中的ReceiveServerPage.jsp ),然后消费者在网上进行在线支付,如果支付成功后,网上支付平台会将支付结果通知给商户,商户接收到支付结果信息后,必需将显示给消费者的页面 URL(CustomerURL)链接返回给支付平台服务器,然后支付平台服务器把接收到的这个展示给消费者支付结果信息的页面弹出给消费者显示。

如果第一次向商户发送通知时发生下列情况时:

系统将会在消费者的浏览器弹出一个新的窗口,并以此新窗口打开商户支付结果接收页面(ServerURL)。为了保证在此状况下消费者还是可以看到正常的商户交易结果页面(CustomerURL),建议在 ServerURL 页面加上自动转向 CustomerURL 的脚本,此脚本范例请参考程序范例中的 ReceiveServerPage.jsp 页面。

区别

采取通过页面通知的方式将支付结果通知给商户,如果消费者的浏览器里安装了一些弹出窗口拦截软件(例如:3721),就会导致页面无法弹出,商户也就无法接收到通知消息;

采用服务器通知的方法,网上支付平台会将支付结果消息通过服务器直接发送给商户指定的URL,而且发送失败以后可以重复发送,这样就保证了商户可以不受消费者本地设置的影响,正确的接收到支付结果通知。

对账流程

对账流程

清算流程

清算流程

标签:总结,商户,结果,接口,网上支付,支付,交易,页面
来源: https://www.cnblogs.com/niaobulashi/p/16085224.html