哔哩哔哩的支付收银台是如何设计?

收银台这个词想必大家都不陌生,我们去商场购物的时候,选定一个商品,营业员就会给你一张购物票据,让我们去找收银台付款并拿着付款凭证回来领取货品。也许你曾因商场的各种满减活动或者信用卡、银联等的消费促销而在收银台兴奋地计算着又省了多少钱,也许你还记得过年时候大卖场中,因收银员开足马力也阻止不了的等待结账的队伍越积越长而难忘的疲累,也肯定还记得收银员问你的第一句话:用什么支付?随着在线购物的发展,收银台也从传统的商场收银台转移到现在线上我们早已习惯的无人收银台。


它就像专为我们一对一服务一样,每当我们在网上下了一笔订单并确认订单后,收银台立刻弹出,选择支付方式,点击确认。“叮”,一笔订单就完成了,但这短短的“叮”的一下的过程,背后是否也是“叮”一下这么简单?网络时代完成支付的方式如此繁多,为什么又要“多此一举”建立一个收银台呢?本文希望抛砖引玉,让读者对收银台产生的前因后果,以及收银台有哪些能力有初步了解。


1.什么是收银台

 1.1 概念

什么是收银台?你可能会说,就是收钱的地方,更细节一点地说,收银台是商家向顾客收取订单款的地方,它在用户的购物环节中处于最后一环,也是最关键的一环。概括起来,它最主要的功能,一是给用户展示可供选择的支付渠道、支付方式以及相关优惠信息,二是为业务方提供一个统一的支付渠道接入口。


支付涉及收款方和付款方两方,收银台的用户自然也包括万千用户和商户两方。公司内部往往有多条业务线,如果需要向用户提供有偿服务,就一定会涉及收款服务。比如在B站,包括会员购、大会员和直播等多条业务线都有收款需求,支付平台作为串联这些业务商户和广大用户的平台,为各业务线提供收款能力。

 1.2 收银台类型

为了适配不同的设备和需求,收银台也分不同类型:线上收银台大致可以分为PC收银台、H5收银台、SDK收银台和API收银台,以满足不同的使用场景需求,各设备上的收银台案例如图1-1所示。

image.png

图1-1 各设备类型收银台案例

除了设备外,各业务方出于用户体验、支付转化率等方面考虑,会有不同的收银台展示方式需求,为此,我们为业务方提供了内嵌、半屏和全屏等展示方式,各种展示方式的案例如图1-2所示。业务方可以针对自身需求选择不同的接入方式,其核心目的都是尽可能得简化用户支付流程,提高转化率。

image.png

图1-2 各种收银台展示方式案例

那么第三方支付的收银台上会有什么不同呢?第三方支付机构由于签约了大量银行,用户可以直接绑卡支付,他们的收银台更多的是展示用户的绑卡信息和余额等自己的支付产品。


像上述案例中的集成了众多其它三方支付的收银台,在三方支付机构中称为聚合收银台。在他们的聚合收银台中,还会支持类似自身渠道的强制露出,用户绑卡的前置等功能,其目的主要是为了尽可能引导用户选择自己的渠道进行支付,如图1-3就展示了百度钱包的聚合收银台及其绑卡状态前置和自身渠道露出的功能。

image.png

图1-3 三方支付机构的聚合收银台

2.为什么要建收银台

上面已经介绍了收银台的定义、分类和一些常见的能力,下面我们就来介绍下支付团队为什么要建收银台以及为什么建议业务方都接入我们的收银台。

 2.1 把简单留给商户,把困难留给自己

当前常见的在线支付手段有支付宝、微信,手机端上还有苹果的IAP支付,在不同端上各支付渠道的接入方式也不同,甚至有不同的交互流程。对业务方来说接入不同的支付渠道,再适配不同接入方式,而且每个业务方都要重复一遍这个流程,这些无疑是费时费力的工作。


此时,收银台应运而生,也就是我们文章开头所说的,收银台在背后默默承担下的工作之一。对业务方来说,接入收银台后,商户再也不用亲自去研究所有支付渠道的细节,只要对接收银台一次,它就会帮你管理好一切,为业务方屏蔽这些渠道接入差异,轻松获得所有这些支付渠道的接入。

图片image.png

图2-1 用户收银台支付交互

 2.2 把不变留给商户,把变化留给自己

不变是相对的,变化是永恒的。随着业务需求和电子支付的发展,支付需求也在不断发生变更。而新渠道的接入有时可能会带来一些交互体验上的变化,给自建收银台的业务带来额外的开发量,而支付收银台可以对商户屏蔽这些变化,留给商户不变的接入方式,让商户一次接入,终生受益。


案例:随着央行不断推进试点数字人名币,有越来越多的网购平台已经支持了数字人民币支付。而数字人民币渠道的接入,会带来一些渠道展示上的交互变更。

image.png

图2-2 数字人民币支付


如图2-2所示,由于在支付渠道下多出了各银行子账户的展示,自建收银台的业务方如果要自己接入数字人民币支付就会有额外的端上开发成本来展示这些子渠道。而支付收银台可以屏蔽这些差异,只需要在支付后台添加上接入业务和支付渠道的关联,即可为商户接入数字人民币渠道,商户不用自己做任何开发,功能升级是完全无感知的。

 2.3 更高的安全性

支付是互联网各项操作中对安全性要求极高的业务,保护用户和业务方双方的财产安全,一直是支付平台的重中之重,收银台作为连接用户和业务方的重要通道,承担着保证双方资金安全,防止发生财产损失的责任。为此,我们采取了如下措施:

1)加密用户敏感信息,保证用户隐私数据在传输和保存时的保密性

2)服务端交互、端上唤起三方支付等支付参数的交互都会由服务端签名,保证支付数据无法被篡改

3)接入主站风控,由专业的风控团队为支付的资金安全保驾护航

3.收银台具有哪些能力

图3-1展示了收银台的主要职责,收银台负责决策给用户展示哪些支付渠道和怎么展示这些渠道,渠道引导规则的管理以及串联起所有的交易流程。下面我们就来详细介绍下这些能力。

image.png

图3-1 收银台主要职责

 3.1 渠道展示策略

3.1.1 可用渠道筛选

在渠道展示流程中,收银台会首先从多个维度对渠道进行筛选,筛选的内容包括接入方配置的限制、用户设备类型、支付方式、支付金额、渠道当前是否在维护或因某些原因不可用、渠道灰度策略以及用户自定义规则。其中,灰度策略一般用于新接入的渠道验证阶段。最终会获得一个可用渠道列表,并根据配置的默认展示顺序排序。

image.png

图3-2 渠道筛选流程

3.1.2 营销优惠展示

优惠活动是吸引用户下单的一个重要手段,收银台作为要向用户展示最终支付金额的平台是展示优惠信息的重要载体。从优惠方式上,优惠信息可以分为满减券、代金券、折扣券等。不同的优惠券之间的使用场景、使用门槛都可能各不相同,有些优惠券之间可以叠加使用,有些优惠间又是互斥的。在收银台有限的空间内无法同时展示出所有的这些优惠信息,因此,收银台会对所有可用的优惠信息进行筛选,筛选条件一般都是优惠力度和优惠券的过期时间两项。收银台会根据筛选规则对计算完成的叠加组合进行打分排序,最终选取最适合的优惠信息展示给用户。

image.png

图3-3 营销优惠信息展示

3.1.3 选中渠道规则

在筛选出所有的可用渠道并确认优惠信息后,就进入默认选中环节。在这一环节,收银台会根据配置的规则决定应该默认选中哪个支付渠道。选中策略大致上有以下几种:

1)根据用户上次支付渠道选择

2)根据渠道自身的特殊优先级选中

3)根据营销活动和优惠力度选中

4)根据排序规则默认选中


如果在选择过程中,发现有多个规则同时生效就会根据规则优先级选择优先级最高的那个规则所计算出来的渠道作为默认选中渠道。

3.1.4 折叠规则展示

最后,收银台会判断是否需要折叠隐藏部分支付渠道。折叠收银台的目的就是为了进一步增加用户选择露出渠道的可能性,引导用户选择该渠道支付。如果配置了折叠规则,就会将除了默认选中渠道以及强制露出渠道以外的所有支付渠道进行折叠隐藏。

 3.2 渠道规则管理

3.2.1 路由规则优先级

从3.1节中我们可以看出,支付渠道的展示依赖大量的规则配置,有渠道的筛选规则、渠道选中规则、优惠筛选规则、优惠计算规则和折叠规则等,如何管理和应用这些规则,自然也是收银台必须拥有的能力。这些规则根据优先级分为强制规则和普通规则,从规则的作用范围上又可以分为以下四类,这些规则的优先级从上往下逐渐提升。

1)全局规则

2)渠道维度规则

3)业务维度规则

4)业务+渠道维度


从前文中我们会看到,规则的计算可能出现冲突的情况,当多个规则发生冲突时,就需要根据优先级决定使哪个规则生效。优先级计算规则如下:

1)强制规则优先于普通规则

2)同级规则之间按照影响范围,范围越小的优先级越高

3.2.2 交易路由

上述3.1节中的渠道路由规则也被称为引导路由,相应地在支付交易过程中还有交易路由规则。在前几年第三方支付群雄争霸时期,用户的一张银行卡可以走直联银行、三方通道等多个不同的通道进行交易,各个通道的成功率、费率等属性都不尽相同,因此当时的交易路由是渠道决策中非常重要的一个部分。其决策因子主要包含通道状态、历史成功率、费率和稳定性等因素,一般从成本角度出发,在相同成功率和稳定性的情况下,都会选择成本较低的通道发起交易。而这种直连方式的清结算不一定会受央行监管,三方支付机构成为洗钱重灾区。于是央行牵头成立网联,并下发《中国人民银行支付结算司关于将非银行支付机构网络支付业务由直连模式迁移至网联平台处理的通知》要求,自2018年6月30日起,支付机构受理的涉及银行账户的网络支付业务全部通过网联平台处理,自此三方支付与银行断直连,结算通道只有银联和网联可以选择,交易路由的重要性下降。

 3.3 交易流程编排

在展示渠道,用户选择渠道并发起支付后,就会走到支付交易流程。收银台作为在交易系统前面的服务,承担着为交易系统编排交易流程的职责。

3.3.1 支付

收单支付还可以更进一步地分为账户支付、网关支付、快捷支付和组合支付等。不同的支付方式有不同的交易流程,这里图3-4以最为复杂的使用了优惠券的组合支付为例展示一下支付流程,该笔支付涉及优惠券的使用、余额的扣除和支付渠道扣款,让我们通过交互图看一下收银台是如何处理这笔交易的。

image.png

图3-4 组合支付系统交互

交易过程中,收银台编排了交易系统的处理内容,为交易系统计算优惠券、账户扣除详情和支付渠道金额,在调用交易系统落单时指定交易处理引擎。在交易系统中会落一个主交易单和包含优惠券、余额、支付渠道在内的三个子交易单。这里假设核销优惠券和冻结账户余额操作都返回成功,实际上如果两个之间有一个操作失败,交易系统会直接对其它交易做冲正退款处理,最后将交易单置为失败。


用户支付后,交易系统根据支付渠道的通知结果会做不同处理。如果支付渠道通知支付成功,交易系统会更新主交易单为成功并异步调用账户系统记账。如果支付渠道通知失败或者交易超时未收到通知,交易系统会解冻用户余额并退回优惠券,最后更新主交易单为失败或超时状态。

3.3.2 充值

充值交易的流程在收银台中相对简单,不涉及复杂的业务串联,其交易流程如图3-5所示。

image.png

图3-5 组合支付系统交互

3.3.3 签约代扣

签约代扣也是一种比较常见的支付方式,我们平时购买各种平台的包年会员服务就涉及到签约代扣方式。用户签约授权后,支付平台就可以定期从用户银行账户中代扣会员服务费。另外,很多支付机构的免密支付产品,其背后也是签约代扣能力支撑的。

4.未来展望

如今互联网支付领域繁荣兴盛,未来会涌现出越来越多的支付产品和支付方式。收银台的存在,使得一切变化成为不变,繁杂变为简单。无论是购买产品的支付方,还是对接了收银台的业务方,收银台都能够让用户无感知的永远体验到最新的产品和技术,为支付领域的快速发展和及时落地做出了贡献。


作者:张嘉懿(哔哩哔哩资深开发工程师)

来源:https://mp.weixin.qq.com/s/DsHOTj-tfZskVy8NoVvKhw

腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/2i2ItO2zuzSSvzqL (转载请保留)。
关注下面的标签,发现更多相似文章