(百图解码支付系统设计与实现)之收银核心和支付引擎

2024-05-26
来源:网络整理

这是《百图解码支付系统设计与实现》专栏系列的第11篇文章。

收银核心与支付引擎是支付系统的两个核心子系统。

本文主要讲解了收银核心的设计和实现,包括收银核心如何呈现可用的支付方式,如何做可支付支票,收银核心的系统架构,领域模型,常见的支付方式等。

**

1 简介

如果说电子商务是现代经济的繁华都市,那么在线支付系统无疑是最繁忙的交通动脉。在这个每年数十万亿美元的在线支付交易的世界里,有两个紧密合作的队友,确保每一笔交易都如优雅的华尔兹舞步般流畅——那就是:收银核心和支付引擎。

今天我们来谈谈“收购核心”

2. 协同运营

首先我给大家直观的展示一下协同作战的情况,给大家一个整体的印象。

3. Core:交易的智囊团

想象一下你走进一家精品咖啡店,收银员的核心就像是友善的服务员,不仅会向你展示菜单上的各种付款方式,还会确保你的身份得到验证,然后检查你留在咖啡店的押金。当你付账时,他们还会偷偷地做回溯检查(风险控制检查),确保你没有洗钱。

4.收银核心在支付系统中的地位

收银核心是支付系统的前端,负责处理用户支付请求,核心能力有两点:1)支付方式咨询,告诉用户本次可以使用哪些支付方式。2)支付提交后的各种验证,比如订单是否有效、商户权限、用户身份、风控等。

5. 付款咨询

上图是一家电商(京东)的收银台和一个支付平台(微信支付)。

在付款协商阶段,需要完成以下工作:

基础检查:付款检查(有可能订单已经支付)、用户检查、商户检查等。 资产咨询:卡绑定数据、账户余额、营销(如全额优惠、红包等)。 渠道咨询:通过币种、金额、渠道切换等。 信用额度咨询:单笔限额、日累计限额、月累计限额等。 支付方式组装:将以上资产、渠道等组装成用户容易理解的支付方式。 支付方式排序:向用户推荐并排序可用的支付方式(兼顾用户体验和营销策略)。

最后将支付方式返回给用户,供用户支付时选择。

6. 付款接受

用户选择支付方式并点击“确认支付”后,就开始支付接受阶段,主要任务如下:

把支付协商阶段的所有工作再做一遍。因为用户可能在支付方式渲染后很久才付款,后台可能很多数据已经发生了变化,比如余额发生了变化,或者订单过期了等等。全部通过后,调用风控做风险评估。如果是外部渠道的卡支付,还需要调用渠道路由,选择最佳渠道。然后把支付请求提交给支付引擎进行真正的扣款。最后从收单平台轮询交易结果。

特别说明一下:为什么轮询结果是来自收单平台而不是支付引擎呢?因为对于用户来说,收单结果代表了最终的支付结果。比如用户还款后,支付引擎是成功了,但是收单平台会因为订单已经过期关闭而发起资金退回操作。这样一来,收单平台上的订单其实并没有支付成功,会提示用户:“订单已经关闭,如已扣款,预计15个工作日内退回款项。”

7. 收银员核心系统架构

用户可以使用多种付款方式:卡、余额、网上银行等。

主要收单产品包括:标准收银机、前台收银机、扫码支付等。其中,标准收银机由支付平台提供,需要跳转至支付平台,而前台收银机则直接嵌入商户收银台完成支付。

核心服务包括:支付咨询、支付受理、风控挑战及支付等。

外部主要依赖包括:会员、商户服务、卡中心、风控、渠道网关、支付引擎等。

8. 收银员核心领域模型

9. 常见付款方式

快捷支付

通过提前在支付系统中绑定银行卡信息,可以快速完成支付交易,无需每次都填写完整的卡信息。

预扣/协议付款

个人授权商户直接从支付平台或者银行扣款,无需用户参与支付流程。例如水电煤气扣款、滴滴打车扣款等。

信用卡支付

通过信用卡或借记卡付款。

网上银行支付

您需要跳转到银行提供的支付页面,输入您的银行账户信息进行支付。

VA 付款

虚拟账户是银行临时生成的,暂时与用户和订单关联的账户,一般在东南亚支付场景或者国际支付场景使用比较多。

东南亚很多人没有银行卡,但是如果想网购东西,可以临时生成一个VA。以支付流程为例:用户选择某银行的VA支付方式,支付系统调用银行接口,先为用户的订单生成一个VA号码,用户拿着VA去ATM机上转账,银行收到钱后,通知支付系统,支付系统再通知商户,商户发货给用户。

场外支付

柜台支付。一般指大型连锁线下零售商提供的支付功能,如7-11或KFC。整体流程与VA非常相似。不同之处在于VA通常由银行提供。

我们以支付流程为例:用户选择某个OTC服务商的OTC支付方式,比如7-11,支付系统调用7-11接口为用户的订单生成OTC码,用户拿着OTC码到7-11柜台取现金充值,7-11收到钱之后通知支付系统,支付系统再通知商户,商户发货给用户。

第三方钱包支付

非银行机构提供的网上支付服务,如支付宝、微信支付、外资支付等。

余额支付

使用您的账户余额付款。

前扫

商家生成二维码,用户扫描商家的二维码。

后掠

消费者生成二维码,商家扫描消费者的二维码。

10. 结论

每个公司对于收银机核心的设计可能都不一样,但无非就是如何计算用户可用的支付方式,提交支付后进行各种检查,然后调用支付引擎进行实际支付。

分享