这是《百图解码支付系统设计与实现》专栏系列文章中的第(1)篇。
专栏地址:http://t.csdnimg.cn/2L7Mg
本系列文章是偏实战的,本章内容讲清楚支付系统是什么,主要解决什么问题,部分核心流程,以及一些后面会频繁使用到的术语。至于支付起源,在线支付发展历程等知识,感兴趣的同学可以参考网络上其它文章或书籍。
主要有3块内容:
1. 基本概念,包括支付流程,结算流程,资金流,记账方式等。
2. 概要设计,支付系统产品架构图,系统架构图,依赖图等。
3. 常见术语,总结日常沟通常用的近100来个高频术语。
下面描述的概念大部分做了极致简化,只是用于入门,对于理解概念应该是够用的。真实的实现会复杂非常多,后面的系列文章会展开做详细说明。
后面的描述中,经常混着用“支付系统”、“支付平台”,本质是一个东西。在内部来说,就是一个支付系统,但从和外部机构交互来说,就是一个支付平台。
说明:
说明:
说明:
说明:
如果换成时序图,如下:
说明:
说明:
说明:
金融机构的记账一定是基于复式记账法。下面以用户通过支付平台使用银行支付500块为例做个简要说明。
假设:支付平台使用CMB做为收单行,在CMB开设有备付金账户。
涉及的支付平台内部账户:
账户类型 |
账户 |
备注 |
借记账户 |
应收-渠道-CMB |
应收归属借记账户 |
贷记账户 |
应付-过渡-网关过渡户 应付-平台托管-商户待结算 应付-平台托管-商户余额 手续费收入-商户-消费 |
应付归属贷记账户 手续费意味着所有者权益增加,归属贷记账户 |
记账步骤:
阶段 |
操作账户 |
金额 |
第一步 资金从渠道到网关过渡户 |
借:应收-渠道-CMB 贷:应付-过渡-网关过渡户 |
500 |
第二步 扣除手续费 |
借:应付-过渡-网关过渡户 贷:手续费收入-商户-消费 |
10 |
第三步 网关过渡户到商户待结算账户 |
借:应付-过渡-网关过渡户 贷:应付-平台托管-商户待结算 |
490 |
第四步 结算给商户 |
借:应付-平台托管-商户待结算 贷:应付-平台托管-商户余额 |
490 |
说明:
【借记类】账户:资产,应收款等;
【贷记类】账户:负债,所有者权益,应付款等;
【借记类】账户(如资产,应收款),【增加】为【借】,【减少】为【贷】;
【贷记类】账户(如负债和所有者权益,应付款),【增加】为【贷】,【减少】为【借】;
复式记账法定义:对每项经济业务按相等的金额在两个或两个以上有关账户中同时进行登记的方法。
记账原则:有借必有贷,借贷必相等。
记账依据:会计恒等式:1. 资产 = 负债 + 所有者权益;2. 利润 = 收入 - 费用。
账户:具有一定格式和结构,能够用来连续、系统、全面的记录反映某种经济业务的增减变化及其结果。
科目:同类财务交易的分类,比如资产、负债、所有者权限、收入或费用等都属于科目。一般科目会分为多级。
账户和科目的区别:科目只有名字,账户包括结构和格式,每个账户对应一个特定的科目。
说明:
说明:
说明:
说明:
说明:
分类 |
术语 |
定义 |
监管合规 |
支付服务提供商 |
PSP,Payment Service Provider。 为商户提供支付解决方案的公司。银行、第三方支付公司都属于支付服务提供商。 |
收单机构 |
Acuquiring Institution/Acquirer。负责处理和清算商户交易的金融机构或支付服务提供商(PSP)。 |
|
牌照 |
License。由监管机构或政府授予的官方许可,允许持牌者在特定的法律框架和规定内经营某种金融服务或支付业务。支付相关的牌照主要有:
|
|
PA牌照 |
Payment Account。也就是储值牌照,用户可以先充值,后使用余额进行支付。 |
|
PG牌照 |
Payment Gateway。也就是支付网关牌照,只能调用外部渠道支付,不能有余额。 一般支付机构都会同时申请PA+PG牌照。 |
|
展业 |
在指定的区域开展业务。通常和牌照申请、监管合规等放在一起。 |
|
监管与合规 |
支付或金融机构遵守展业所在国家相关法律、规章、标准和行业准则的要求。需要定期向监管机构报告业务活动和财务状况,以证明企业的合规性。 |
|
反洗钱 |
Anti-Money Laundering, AML。旨在预防、识别和打击通过金融系统将非法所得洗白变成合法资金的行为。 |
|
反欺诈 |
Anti-Fraud。旨在预防、检测、调查和遏制欺诈行为。在支付领域,通常是风控系统负责。常见有信用卡盗用,账户盗用等。 |
|
通用 |
收单产品 |
Acquiring Products。支付服务提供商(PSP)为商户提供的支付服务。这些支付服务需要基于交易订单,在系统中有明确的买卖行为发生。不同的公司因为商业策略不同,开出的收单产品也会有所不同。 |
担保交易 |
用户先把钱给到支付平台,用户确认收货再给钱到商家。 |
|
即时到账 |
付款资金直接转移到收款账户,不需要用户二次确认。 |
|
资金产品 |
Funds Products。通常指与处理客户资金流动相关的服务,包括充值、转账、提现、代发等功能。 |
|
充值 |
Topup。往在线支付系统账户增加资金的行为。比如往支付宝、微信账户充钱。 |
|
转账 |
Transfer。将资金从在线支付系统一个账户转到另外一个账户的过程。可以是同一支付平台内部转,也可以是跨平台或银行转。 特殊的,个人对个人的转账,简称:P2P转账。 |
|
提现 |
Withdraw。用户将在线支付系统账户中的余额提取到指定的银行账户。 |
|
代发 |
公司或组织通过在线支付系统将资金直接转入个人账户。有代发到余额和代发到卡。 |
|
支付 |
Payment。用户通过在线支付系统将资金转移给PSP。 在后续的清分结算阶段,支付平台会把这笔支付的钱分成平台手续费和商户待结算款,手续费留在支付平台,待结算款会在后续结算给商户。 |
|
退款 |
Refund。支付系统将钱退还给用户。通常在取消交易或退回商品后发生。有全额退款和部分退款。有些平台会退款退费,有些平台退款不退费。 |
|
撤销 |
Cancel/Void。通常在当天(一般是日切前,还没有清算)取消一笔交易。在预授权/请款模式中,撤销用于取消预授权未请款那部分的金额。有全额撤销和部分撤销。 与退款的区别: 1)撤销一般是支付当天的逆向行为,退款一般是支付第二天的逆向行为。这里的当天一般是指会计日,而不是自然日。 2)撤销通常退手续费,退款一般不退手续费。但不是绝对的。 另外,现在大部分的电子钱包把退款和撤销合并成一个退款接口。 |
|
冲正 |
与撤销类似。来源于POS机时代,在交易发生当天用户申请退货退款时,或POS机支付超时的情况下,操作员发起一笔冲正,收单机构如果已经扣款就会退回。 |
|
T日/T+N |
T日:交易实际发生的日期。 T+N:从交易日发生之后N个工作日。比如T+1清算,就是指交易完成后,第二天进行清算。 |
|
风控 |
交易的风险控制。欺诈检测、信用评估、合规检查等。 |
|
卡支付 |
拒付 |
Chargeback。当用户对信用卡交易提出异议(比如认为被盗刷),卡组一般会先将钱退回给用户,并扣除商户的钱,同时启动调查,通知商户有拒付发生。 |
拒付举证 |
Chargeback Representment。商户收到拒付通知后,如果认为是用户真实支付行为或商品没有问题,就会提供相关证明材料给卡组,这一过程称为拒付举证。如果卡组认为商户证据有效,拒付就会被撤销,重新扣回用户的钱并结算给商户。 |
|
拒付反转 |
Chargeback Reverse。商户进行拒付举证后,卡组认为商户证据有效,就会把拒付扣除的资金还给商户,同时撤销用户的退款。这一过程称为拒付反转。 |
|
预授权 |
Authorization,简称Auth。对用户信用卡取得一个临时授权,对应资金将会冻结,直到请款或撤销(主动或过期自动撤销) |
|
请款 |
Capture。在预授权之后,商户向发卡行请求将预授权的资金正式扣除。有全额请款和部分请款。 |
|
MOTO支付/2D支付 |
非现场支付,以前是通过邮件或电话进行信用卡支付。在线支付系统里,通常指不需要跳转到独立核身页面进行核身的支付方式。支付成功率高,风险较大。 |
|
3DS支付 |
额外增加一层安全验证,需要跳转到一个独立核身的页面输入密码、OTP、账单地址等信息验证身份。对平台来说安全性高,但是支付成功率低。 |
|
3DS1.0/3DS2.0 |
3DS1.0通常是由发卡行来做身份验证。 3DS2.0由独立的第三方来进行身份验证。安全性更高。率先在欧洲启动。 |
|
AUTH-CAPTURE模式 |
预授权-请款模式。先冻结用户的资金,在请款时再实际扣款。 |
|
SALES模式 |
预授权-请款在一个步骤中完成。就是直接从信用卡账户中扣款。 |
|
卡BIN |
卡号前6-8位号码,用于识别发卡行和卡种类。 |
|
发卡行 |
发行支付卡给用户的银行或金融机构。 |
|
收单行 |
为商户提供收单服务的银行或金融机构。 |
|
卡组/卡品牌 |
信用卡或借记卡交易网络的组织。比如VISA,MASTERCARD,银联等。 |
|
PCI |
PCI DSS(Payment Card Industry Data Security Standard)。支付卡行业数据安全标准。保存银行卡的子系统需要通过PCI认证。认证由专业的第三方机构执行,需要定期核查。 支付系统中只有PCI域可以保存用户的卡明文信息(也是需要加密存储),其它非PCI子域不能保存用户的卡明文信息(加密存储也不允许) |
|
渠道路由 |
当有多个外部渠道可以支持同一笔支付交易时,选择出最优的一条渠道。通常基于成功率、成本、卡类型、金额等因子做路由决策。 |
|
外汇 |
锁汇 |
锁定汇率。在电商场景下,电商平台不愿意承担汇损风险,就直接在支付成功后,使用支付金额向外汇机构锁定一个固定汇率。 |
换汇 |
实际购汇。在电商场景下,电商平台不愿意承担汇损风险,在支付渠道清算后,使用原锁汇时的汇率,正式向外汇机构购汇,完成交割。 |
|
即期 |
按当前市场汇率立即交换两种货币。一般是2个工作日内交割。一般是场内交易。 |
|
远期 |
双方约定以当前确定汇率(远期汇率)在将来某天交换货币。一般是场外交易。 |
|
掉期 |
双方先通过即期交易,然后约定在远期时再换回来。一般是场外交易。 |
|
结汇入境 |
以入境中国为例。先在境外兑换成离岸人民币,再结算到境内银行账户或金融机构账户。 |
|
入境结汇 |
以入境中国为例。先以外币入境,在境内再兑换成人民币。 |
|
资金账务 |
会计日 |
标识一笔交易在会计层面的日期。交易需要跨多个子系统,完成一笔交易的时间在不同子系统中是不一样的。与自然日可能有差异,特别是交易在零点附近的时候,所以统一使用会计日来明确交易应该计入哪一天。有可能一笔交易发生在2023.12.23这天,但是交易记录在2023.12.24这个会计日内。 |
日切 |
会计日切换到下一天。在这个点之后,所有的交易会被记录到下一个会计日。日切之后,通常需要进行批处理,包括交易清算、账户余额更新、试算平衡等。 |
|
记账 |
交易记录到会计科目中。 |
|
复式记账 |
一种会计准则,要求每笔交易都要有两个或以上的账目变动来记录,使得借方和贷方的总金额相等。 |
|
账户 |
记录特定类型财务交易的户头。比如商户账户、会员账户、收入账户等。 |
|
科目 |
会计账簿中用于分类和记录财务交易的项目。实际会分为多级。比如一级科目“应收”,二级科目“应收-银行待清算”,三级科目“应收-银行待清算-CMB”。 |
|
分录 |
记录一笔交易在会计账簿中的具体方法,明确记录到哪个借方、哪个贷方。 |
|
内部户 |
不直接面向客户,用于支付系统的内部会计和资金管理。 |
|
中间户 |
一种特殊的内部户,比如“应付-过渡-网关过渡户”,用于刚从渠道扣款成功时临时记账。 |
|
头寸 |
通俗地说,就是余额情况。头寸不够,就是余额不够。 |
|
流动性调拨 |
在多个银行备付金账户中转账,以确保符合业务需求。比如因为一些特殊原因,所有用户当天通过CMB渠道只支付了400万,但是当天所有用户合计要在CMB渠道退款500万,就需要从其它银行的备付金账户调拨过来。 |
|
结算 |
收单机构把交易资金结转给商户。通常有结算到余额到结算到银行卡。 |
|
清算 |
机构之间进行交易资金的转移。通常会由专门的清算机构负责清算。本质和结算是一样的,只是结算通常用在收单机构与商户之间,清算用在持牌的金融机构之间。 |
|
轧差 |
清分过程中把当天应收和应付金额相互抵消,最终只有净额需要结算或清算。 注意这个字读(gá),很多同学读成(zhá)是不对的。这是一个多音字,前者用在结算相关领域,后者用在钢材领域。 |
|
净清算额 |
轧差之后,各参与方需要转移的资金总额。 |
|
对账 |
比对交易双方的记账或资金。比如和渠道的对账。通常有明细对账和资金对账。前者就是对交易数据,按笔核对,后者对真实打款情况,当天交易100万,是否真实打款100万。 |
|
长款/短款 |
对账过程中发现实际的金额高于或低于账面金额。一般有支付长短款,退款长短款。对应的有差错处理。 |
|
计收费 |
支付平台针对手续费的记录和汇总。一般有商户计费和渠道计费。 |
|
手续费 |
支付系统对于交易处理或服务收取的费用。对接外部的渠道,外部渠道也会收渠道手续费。 |
|
税费 |
交易中被政府收取的税收。 |
|
资损 |
因某些原因导致的资金损失。比如用户提现100元,平台打款了200元,就是平台资损100元。 |
|
会员商户 |
商户 |
Merchant。销售商品的个体或企业。对接支付服务提供商的收单服务,用于完成所售商品的卖出。 |
会员 |
一般指加入支付金融机构的个人。比如支付宝、微信支付会员。 |
|
限额 |
一个账户在特定时间内允许交易的最大金额。一般有单笔限额、日限额、月限额等。不同的业务类型可能分开也可能共用额度。 |
|
商户入驻 |
新商户进入到支付系统,需要收集必要的商户信息,签署必要的协议,整个过程称为商户入驻。 |
|
冻结/解冻 |
冻结一般是因为某些风险问题暂时停止账户的交易活动或余额。 解冻则是恢复账户或余额的正常交易能力。 |
|
KYC/实名认证 |
Know Your Customer。实际就是实名认证。在国外一般称为KYC。就是“证明你是你”。 |
|
KYB |
Know Your Business。有点类似商户级别的实名认证,除了验证商户的合法性,还会关联核实商户的信誉,企业法人的信誉等。 |
|
OTP/短信验证码 |
One-Time Password。通常就是指短信验证码。 |
|
PIN/密码 |
Personal Identification Number。通常就是指密码。登录密码、支付密码等。 |
|
签约/绑卡 |
会员在支付系统中绑定某张银行卡或某个第三方钱包账号,这样在下次支付交易时,就可以直接支付,而不需要输入完整的银行卡信息。 |
|
解约/解绑 |
会员取消在支付系统中绑定的某张银行卡或某个第三方钱包账号。 |
|
支付方式与渠道 |
支付方式 |
终端用户可见的支付手段或工具。这个比较抽象,每个公司定义可能不一样。但一般来说,信用卡、借记卡、电子钱包、VA、OTC、信用付(比如花呗、白条,国外一般称为Buy Now Pay Later)等都可以抽象成支付方式。 |
渠道 |
一般指外部提供金融服务能力的金融机构。比如支付渠道,外汇渠道,流出渠道等,分别提供支付、外汇兑换、提现打款等金融服务。 |
|
快捷支付 |
通过在支付系统中提前绑定银行卡信息,快速完成支付交易,不需要每次都填写完整的卡详情。 |
|
代扣 |
个人授权商户直接去支付平台或银行进行扣款,不需要用户参与支付过程。比如水电煤代扣,滴滴打车代扣。 |
|
卡支付 |
使用信用卡或借记卡支付。 |
|
网银支付 |
需要跳转到银行提供的支付页面,输入银行账户信息进行支付。 |
|
VA支付 |
Virtual Account。虚拟账户是银行临时生成的一个账户,与用户和订单临时关联。一般在东南亚的支付场景,或者国际收款场景下使用得比较多。 东南亚很多人没有银行卡,但又要在线买东西,就可以临时生成一个VA。以支付流程为例:用户选择某个银行的VA支付方式,支付系统调用银行接口,先为用户订单生成一个VA号,用户拿着VA去钱下ATM机转账,银行收到钱后,通知支付系统,支付系统再通知商户,商户给用户发货。 |
|
OTC支付 |
Over-the-Counter。柜台支付。一般指大型连锁线下零售商提供的支付能力,比如7-11或肯德基提供的支付能力。整体流程和VA很像。区别在于VA通常指银行提供的。 同样以支付流程为例:用户选择某个OTC服务提供商的OTC支付方式,比如7-11,支付系统调用7-11接口,先为用户订单生成一个OTC码,用户拿着OTC码去钱下7-11柜台拿现金充值,7-11收到钱后,通知支付系统,支付系统再通知商户,商户给用户发货。 |
|
第三方钱包/电子钱包支付 |
非银行机构提供的在线支付服务。比如支付宝、微信支付,国外的PayPal等。 |
|
令牌化支付 |
将敏感数据(比如信用卡号)替换成唯一的识别码(令牌),在支付过程中传输令牌进行支付。减少信息泄露的风险。 可以认为这是卡组提供的绑卡支付能力。用户绑定后,卡组返回一个TOKEN给支付系统,支付系统拿着TOKEN去支付,外部支付网关先把TOKEN换成真实银行卡信息,再去发卡行进行扣款,因为发卡行只识别明文卡信息。 |
|
二维码支付 |
通过二维码发起支付交易。广泛应用于移动支付场景。 |
|
正扫 |
商户生成二维码,用户扫商户二维码。 |
|
反扫 |
消费者生成二维码,商户扫消费者的二维码。 |
|
交互 |
信息流 |
在交易过程中产生的非资金相关的数据。比如向渠道发起一笔支付,请求和响应都是信息流,签约解约也属于信息流。 |
资金流 |
实际的资金流转。一般分为虚拟资金流和实际资金流。 虚拟资金流是支付系统内部各个账户之间资金的流转。比如用户余额减少,商户待结算余额增加等。 实际资金流通常指银行账户之间资金的流转,比如用户存款账户余额减少,支付平台备付金账户余额增加等。 |
|
API接口 |
一般指系统间实时交互数据的一组协议。比如通过http实时接口调用银行渠道进行支付、退款等操作,就是API接口。API接口需要规定各字段的明确含义,签名验签以及加密解密的算法等。 |
|
文件接口 |
通过文件来交换数据,一般实时性不高。主要有清算文件、结算文件、流出交易文件。 |
|
清算文件 |
金融机构之间进行资金清算的交易记录文件。一般包括交易日下所有支付、退款等明细数据。 |
本章主要讲了一些支付相关的基本概念,支付系统的概要设计框图,部分核心流程,以及一些常见的术语,让同学对支付系统有一个整体的理解。
下一章节将围绕面向商户的收单和结算,请清楚如何给商户收单,又是如何结算给商户的。
如果大家发现文章里面有写得欠妥的地方或想讨论的点,欢迎留言或发邮件到[email protected]。