当前位置:网站首页>0基础了解电商系统如何对接支付渠道
0基础了解电商系统如何对接支付渠道
2022-06-27 10:55:00 【Android_la】

文章目录
1 问题背景
临时被拉去做支付了,对电商的支付业务是0基础。经过多位开发大佬的指导,终于把需求做完了。现自我整理下并总结下做支付过程中的知识。阅读对象是支付0基础的小伙伴。
2 前言
本篇文章以0基础开发者的视角研究支付业务,基本不涉及代码,适合产品、开发者人员阅读。
支付业务有多种类,比如电子支付(微信支付、支付宝、Paypal等)、信用卡(visa卡、master卡、各银行卡等),笔者参与了信用卡支付渠道的对接,因此本篇以信用卡的支付业务研究支付。
如有不正确的地方请在评论中指出
3 信用卡业务中的角色
先给出一个用信用卡消费的数据流向业务图,了解个大概即可,如下图所示:

3.1 发卡行
发卡行与卡组织、持卡人都有互相的联系,看不懂可以上下文反复阅读,细细品味。
发放信用卡的机构。比如广发银行,发放VISA卡,那么广发银行就是发卡机构。(VISA卡是一个国外很有名的一个信用卡品牌)
3.2 持卡人
持有发卡行发放的信用卡的人。比如张三,拥有广发银行发放的VISA卡,那么张三就是持卡人。
3.3 收单机构
收单机构与特约商户联系比较紧密,建议上下文两处概念关联反复阅读。
收单机构负责 特约商户 的开拓与管理、授权请求、账单结算等活动。其收益来源于特约商户的交易手续费的分成、服务费。收单机构是银行时,叫 收单行。
例子:名创优品MINISO与广发银行签下POS机业务,广发银行派工作人员去名创优品MINISO门店安装POS刷卡机。此时名创优品MINISO是 特约商户,广发银行是 收单机构(因为广发银行是银行,不是具有支付营业执照的公司,所以也可以叫做 收单行)。
3.4 特约商户
特约商户与收单机构联系比较紧密,建议上下文两处概念关联反复阅读。
特约商户与收单机构签有商业协议。
例子:名创优品MINISO与广发银行签下POS机业务的商业协议。广发银行派工作人员去名创优品MINISO门店安装POS刷卡机。那么消费者可以在名创优品MINISO使用信用卡刷卡消费。此时名创优品MINISO是 特约商户,广发银行是 收单机构(因为广发银行是银行,不是具有支付营业执照的公司,所以也可以叫做 收单行)。收单机构的收益一般都是消费者每刷一次卡,收单机构都可以根据支付金额拿到分成或者手续费,有点像从微信钱包提取金额到银行卡,微信会收取手续费。
3.5 卡组织
卡组织是信用卡业务中最核心的一个角色,没有之一,且规模也很庞大。
卡组织是一个规模庞大的组织,它负责定义卡的标准、卡的协议等。发卡行想要发行某些卡,要加入对应的卡组织,成为卡组织的成员。下面简称成员。成员必须遵循卡组织制定的标准。
卡组织负责建设并运营一个超大的支付信息交换网络。加入卡组织的各个成员,都可以通过该网络进行跨行支付。
这个超大网络有什么用?
作为跨机构清算交易的中介。 例子,广发银行和中国工商银行都加入了VISA卡组织,两个银行都拥有自己建设并运营的支付信息网络。张三持有在广发银行申请的VISA卡,名创优品MINISO跟中国工商银行签了POS机业务。张三拿着这张在广发银行申请的VISA卡在名创优品MINISO消费刷卡,那么支付业务中的数据流向就是POS机把账单发给工商银行,工商银行发发现消费者的卡不是在工商银行申请的,而是在广发银行申请的。而这两家银行的支付网络是独立的,要通过卡组织建设的超大支付网络,才能解决这笔消费交易。卡组织建设的网络就是充当这样的作用。做中介自然要收服务费,这个收益由卡组织成员签署的商业协议决定。中国银联也是充当这样的作用,中国银联 是国内著名的卡组织。国外著名的卡组织有 VISA卡组织、Master Card卡组织 (万事达卡)
4 支付渠道
4.1 生活中的例子
国内有名的支付宝、微信支付都可以理解成支付渠道。具有支付营业执照但公司本身不属于银行的公司,都可以理解成是支付渠道。或者说支付渠道封装了很多种类型的支付方式,比如信用卡、银行卡、电子账号等。
例子:微信支付不仅可以使用微信钱包付款,还可以在微信绑定银行卡,这样就可以用微信使用银行卡里面的钱进行消费支付。
4.2 支付渠道在电商中扮演的角色
如下图右上角所示:

如上图所示就是支付渠道在电商中的扮演的角色。流程走向是11 -> 12 -> 13 -> 14 15。买家浏览电商网站上的商品,选好心仪的物品后,走到结算页进行支付。在结算页上输入支付必要的信息(当是信用卡支付时需要填卡号、月、年、有效期;当是Paypal时,需要填Paypal的账号密码)。电商系统将这些信息组装成请求报文,发送HTTP请求给收单机构来进行请款。后面的流程就是收单机构负责去请款,请款成功后,就付款给特约商户。
4.3 电商系统对接支付渠道
从信用卡业务中的角色引入支付场景中的各个环节并随后介绍支付渠道在其中扮演的角色,可以认为这是整个产品层面的交互流程。那么在代码层面或者业务建模的层面,电商系统对接支付渠道,到底涉及什么东西呢?需要怎么做?
4.3.1 核心
核心就是电商系统要拿到特约商户在支付渠道创建的账号相关的信息,发请求的时候按照支付渠道的接口协议组装参数发送给支付渠道。
4.3.2 电商系统B端需要做的事情
需要有一个地方让特约商户填写他们支付渠道的账号,这个账号实质上就是用来收款的,可以理解成一个电子钱包,可以提现和充值。
账号有可能是以下的一些信息:
- 特约商户在支付渠道的
密钥 - 特约商户在支付渠道配置的
域名 - 支付渠道分配给特约商户的
唯一标识ID(跟密钥类似) - 等等
4.3.3 电商系统C端需要做的事情
- 发送请求。拿到特约商户配置好的他们在支付渠道的账号相关的信息,然后按照支付渠道规定的接口协议,组装请求报文,发送HTTP请求过去。
- 判断支付状态。根据支付渠道的响应报文判断买家支付成功还是支付失败,或者支付中。
- 处理
webhook回调。如果是支付中,一般都是支付渠道在处理逻辑,未来得及完成支付环节(即与收单机构的交互),等到处理完成,一般情况下支付渠道会发一个HTTP请求给电商系统(企业级开发的专业术语称这种请求为webhook,中文叫回调),电商系统需要接收这个请求并判断是支付成功还是支付失败(支付渠道会在接口协议说明怎么判断支付成功还是支付失败)。
5 总结
- 信用卡业务中的各个角色
- 支付渠道在其中扮演的角色
- 电商系统是如何对接支付渠道的
本文是在断断续续的时间情况下写的,文笔思路可能会存在不清晰或者上下文无因果关系,有不足之处请指正。
边栏推荐
- 【TcaplusDB知识库】TcaplusDB-tcapsvrmgr工具介绍(一)
- Go zero micro Service Practice Series (VII. How to optimize such a high demand)
- Border affects the height of the parent element - solution
- 【TcaplusDB知识库】TcaplusDB机型管理介绍
- VPT Model Video Explanation
- Oracle group statistics query
- [learn FPGA programming from scratch -47]: Vision - current situation and development trend of the third generation semiconductor technology
- audiotrack与audioflinger
- [tcaplusdb knowledge base] Introduction to tcaplusdb tcaplusadmin tool
- Native JS implements page scroll bar loading data and page drop-down loading content
猜你喜欢

在外企远程办公是什么体验? | 社区征文

Imeta: a collection of imagegp+ video tutorials of high-value drawing websites, which has been cited 360 times (220625 updates)

【TcaplusDB知识库】Tmonitor单机安装指引介绍(一)

如何在 Methodot 中部署 JupyterLab?

政策关注 | 加快构建数据基础制度,维护国家数据安全

How to deploy jupyterlab in methodot?

直播电子商务应用程序开发需要什么基本功能?未来发展前景如何?

Exception in Chinese character fuzzy query of MySQL database

Glide缓存机制

NAACL 2022 | TAMT:通过下游任务无关掩码训练搜索可迁移的BERT子网络
随机推荐
Quelles sont les fonctions de base nécessaires au développement d'applications de commerce électronique en direct? Quelles sont les perspectives d'avenir?
【TcaplusDB知识库】TcaplusDB集群管理介绍
Leetcode 729. 我的日程安排表 I(提供一种思路)
“全班29人24人成功读研”冲上热搜!剩下的5个人去哪了?
.NET6接入Skywalking链路追踪完整流程
Eureka core source code analysis
【TcaplusDB知识库】TcaplusDB数据导入介绍
ECMAScript 6(es6)
15+城市道路要素分割应用,用这一个分割模型就够了!
力扣(LeetCode)177. 第N高的薪水(2022.06.26)
If you find any loopholes later, don't tell China!
[tcapulusdb knowledge base] Introduction to tmonitor background one click installation (II)
Learning notes - data set generation
ECMAScript 6(es6)
居家办公竟比去公司上班还累? | 社区征文
[tcapulusdb knowledge base] tcapulusdb machine initialization and launch introduction
[tcapulusdb knowledge base] tcapulusdb tmonitor module architecture introduction
Write it down once Net analysis of a property management background service stuck
Ubuntu手动安装MySQL
有关WIN10的内存压缩