电子商务网站网上支付原理简析

简介:   网上支付原理   一个电子商务网站要开通网上支付功能,有两种途径:一是通过第三方支付平台,例如支付宝、网银等;二是与银行协商获得一个支付接口。前一种方式以支付宝为例,商户可以向支付宝提交申请,申请成功后支付宝会提供一个整合支付宝到商户网站的接口并提供该接口的调用方法及示例。

 

网上支付原理

 

一个电子商务网站要开通网上支付功能,有两种途径:一是通过第三方支付平台,例如支付宝、网银等;二是与银行协商获得一个支付接口。前一种方式以支付宝为例,商户可以向支付宝提交申请,申请成功后支付宝会提供一个整合支付宝到商户网站的接口并提供该接口的调用方法及示例。这种网上支付方式手续简单,支付宝向商户收取的费用是按商户网站通过支付宝完成的交易额按一定比例来收取的。后一种方式需要和开通网上支付功能的银行签署协议,办理相关手续,之后银行会提供给商户一个商户编号,商户在其网站把商户编号和支付信息等内容提交给银行提供的处理系统就可以了。

       各个银行的接口处理方式基本思维都是差不多,商户向银行申请后将获得一个商户编号,就可以在自己的网站提供在线支付功能了,银行会向商户提供数据提交的地址和处理结果获取的地址及相关参数和调用方法的说明文档等。

       下图是网上支付方案的流程图,支付网关实际表现形式其实就是银行提供的一个供数据提交的网址,之后这些数据被转到银行银行的后台系统处理。商户的网站需要做的就是按照银行提供的订单数据规范提交到支付网关即可。

 

中国工商银行网上支付流程:

 

1、客户在商户网站浏览商品信息,签订订单;

2、商户按照工行B2C订单数据规范形成提交数据,并使用工行提供API和商户证书对订单数据签名,形成form表单返回客户浏览器,表单action地址指向工行接收商户B2C订单信息的servlet

3、客户确认使用工行支付后,提交此表单到工行;

4、工行网银系统接收此笔B2C订单,对订单信息和商户信息进行检查,通过检查则显示工行B2C支付页面;

5、客户在此页面可以查询客户在银行的预留信息;也可以输入支付卡号、支付密码、验证码进行B2C支付;

6、工行检查客户信息,通过检查后显示确认页面;客户确认提交后工行进行支付指令处理;

7、工行进行支付指令处理后,如果商户需要工行实时通知,则工行将处理结果使用http协议post方式将通知消息数据提交到商户网站(这个接收银行通知消息的商户端地址是随商户订单数据提交银行的merURL字段),商户返回取货地址或关闭这个银行与其建立的连接后,银行才显示交易结果页面给客户。(注意1、发送通知和显示结果页面是串行的,所以商户端接收银行通知处理时间太长可能导致客户等待超时,造成银行不能将交易结果页面显示给客户。2、此连接是银行服务器自动和商户进行的连接,商户返回也是直接返回给银行,商户端不能对银行的这个请求进行重定向。)

8、工行进行支付指令处理后,如果商户不需要工行实时通知,则工行直接显示交易结果给客户。

 

网上支付接口技术文档:

 

工商银行网上支付

http://blog.csdn.net/owenbian/archive/2007/04/29/1591492.aspx

招商银行接口

http://bbs.00000008.com/ShowPost.asp?ThreadID=2557

建设银行接口

http://d.download.csdn.net/source/434631

网银在线商家申请

http://www.chinabank.com.cn/gateway/register.shtml

网银在线支付接口

http://www.bloghome.cn/download.php?fileId=4579&userId=153399

支付宝接口源代码

http://blog.csdn.net/xykwgjyygy/archive/2008/03/12/2173033.aspx

支付宝商家申请

https://www.alipay.com/cooperate/btools_shop.htm

 

第三方支付平台原理:其实这些平台所做的只不过是把各个银行的支付网关都整合在一起,用户在支付的时候不再是只能选择单一支付银行,而是可以有多种选择。当然,像支付宝的话和银行合作紧密,其网上支付中介功能也是很丰富的。

  

相关文章
|
Kubernetes 容器 Perl
k8s控制器Deployment详细介绍:资源清单编写技巧
k8s控制器Deployment详细介绍:资源清单编写技巧
|
Java 应用服务中间件 API
如何利用Idea创建一个Servlet项目(新手向)(上)
如何利用Idea创建一个Servlet项目(新手向)
734 0
|
Java
Java发展史
关于Java发展历程的详细介绍,从Java的起源、Java之父James Gosling的背景,到Java各个版本的发布历程和特性更新,以及Java在不同公司之间的变迁,直至2020年3月Java SE 14的发布情况。
236 2
|
缓存 Kubernetes 测试技术
在k8S中,镜像下载策略有哪些?
在k8S中,镜像下载策略有哪些?
|
12月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
579 0
idea+maven+tomcat+spring 创建一个jsp项目
|
人工智能 自然语言处理 安全
搭建微信公众号AI助手
将微信公众号(订阅号)变为AI智能客服仅需四步:创建大模型问答应用、搭建微信公众号连接流、引入AI智能客服及增加私有知识。首先在百炼平台创建应用并获取API密钥;其次利用阿里云AppFlow服务无代码连接微信公众号与大模型应用;接着配置公众号引入AI客服;最后上传企业知识文档提升客服精准度。通过这些步骤,轻松实现智能化客户服务。
1239 2
|
存储 NoSQL 物联网
MongoDB在哪些领域有应用?
MongoDB在哪些领域有应用?
449 3
|
缓存 NoSQL 算法
Redis 解决缓存雪崩 缓存穿透 缓存击穿(Redis使用必看)
Redis 解决缓存雪崩 缓存穿透 缓存击穿(Redis使用必看)
334 1
|
存储 监控 算法
深入理解Java的垃圾回收机制(GC)实现原理
深入理解Java的垃圾回收机制(GC)实现原理
644 1
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
2694 3