快好知 kuaihz

从0开始,我做了个扫码支付

新零售模式在线下门店,笔者想通过扫码的方式让用户使用积分,电子钱包、电子储值卡等其他类型的有价虚拟币逻辑相同。

京东的“京豆”,淘宝的“淘金币”本质是一种积分,过去大家都是建“积分商城”。用户通过消费、完善信息等操作获得积分,在积分商城消费积分

积分商城可以增加用户黏性,但无法通过积分商城提高复购、客单等。所以越来越多的项目开始使用类似京东和淘宝的方式,积分可以抵扣部分金额。

项目背景

积分可抵扣金额,那么积分就是一种支付方式。在线上渠道下单扣减相应积分即可(涉及组合收银等逻辑)。而新零售项目还需要考虑用户在线下门店如何方便、快捷、安全的使用积分

我们先后做过两个版本:

V1.0 “支付密码”,每次消费积分都需填写支付密码。

门店配备密码键盘,使用积分时用户自行录入支付密码。

“货到付款”场景,签收时用户在“配送App”(TMS)录入支付密码。

V2.0 将“支付密码”改为“短信验证码”。

在门店使用积分时,收银员询问用户验证码 并将验证码录入系统。

“货到付款”场景,签收时用户将验证码告知配送员,配送员在“配送App”(TMS)录入验证码。

到2.0基本上已经解决需求,但多少还有一些问题。于是我们想到了终极解决方案:扫码支付

一、扫码支付方式

扫码支付有两种方式:

1. 门店扫顾客码(顾客被扫)

用户出示付款码 → 门店配送App扫码 → 录入支付密码(超过安全限额)→ 扣款,显示支付结果

门店扫顾客码

2. 顾客扫门店码(顾客主扫)

用户打开扫一扫 → 门店出示收款码→ 用户扫码,填写支付金额 → 录入支付密码 → 扣款,显示支付结果

顾客扫门店码

第2种方式最后我们舍弃了,主因有:

需要用户操作步骤多:扫码,填写金额,录入支付密码。第1种方式,用户只需要出示付款码即可。(超过安全限额才需要录入密码)

支付完成后,店员需要确认支付结果。(小商家都是通过蓝牙音响报音确认)

支付宝和微信作为一个支付工具,需要考虑小商家没有技术研发能力的情况,所以需要第2种方式。

二、功能

门店扫顾客码需要各系统有哪些功能支持?

1. App、小程序等用户端

用户端功能

在用户端出示付款码:例如支付宝首页的“付款”。为保证支付码安全,付款码会定时失效,需要刷新。这样被拍下来或者截图都是无效的;

用户出示付款码被门店扫码后,如果超过免密支付安全额,需要录入密码或短信验证码。免密支付安全额可以用户自行设定,也可以系统统一设定;

支付结果页,告知用户支付成功还是失败。支付密码错误、余额不足都是在支付时提醒,支付失败一般是系统问题导致;

支付记录,或者称为消费记录。用户可以参看每一笔的支付金额、时间等信息。

2. 收银终端(门店、配送App)

记录付款码信息:通过扫码枪或者配送场景PDA设备扫付款后,读取付款码信息;

将付款码信息传中台,中台判断付款码的有效性。如果付款码无效则提示无效信息;

显示支付结果,用户录入支付密码后显示中台返回的支付结果,如果支付失败还需显示失败原因。

3. 中台

(1)生成付款码。用户打开付款码页面时,要生成并显示付款码,条形码或者二维码。为保证支付安全,付款码会有失效状态。用户刷新后,中台重新生成付款码。

(2)在门店收银系统 或 配送App扫码后,将订单信息和码信息通过接口传到中台。中台需要验证用户的付款码是否有效 —— 是否是有效的付款码、是否过期、是否已经被扫。

(3)扣积分

中台先判断用户支付积分额是否超过了免密支付安全限额:如果未超过限额则扣减积分、修改付款码被扫状态并将支付结果反馈给前端;如果超过免密支付安全限额,则需要用户录入支付密码(或短信验证码)。

用户录入支付密码后前端传给中台,中台判断支付密码(或短信验证码)是否正确:密码正确则扣减积分、修改付款码被扫状态并将支付结果反馈给前端;密码错误则提示用户“密码不正确”,用户重新录入密码。(此处需要有密码找回 和 密码录入次数限制功能)

(4)返回支付结果,支付成功或者失败。

支付失败场景:付款码错误(无效、过期、已被扫)、积分余额不足、其他系统原因。

4. 功能细节完善后的思维导图

扫码支付各系统功能

三、流程

1. 付款码是什么,怎么生成?

我们不知道支付宝和微信是怎么解决这个问题的,我们自己想了一个方案:

系统给每个用户都生成一个积分账户,积分账户和用户会员号绑定。付款其实就是系统扣减对应账户积分的过程;

如果直接使用积分账户生成付款码,首先不安全,其次付款码是定时变化的而积分账户并不变。所以需要把积分账户做一个转化,转化为一个中间码。(中间码的生成规则就随意了:可以积分账户+算法,也可以直接生成随机数);

将中间码和积分账户关联,这样积分账户不变,只需要定时生成一个中间码和积分账户关联就可以了;

中间码的有效时间为1分钟,过期后重新生成一个有效期为1分钟的中间码;

系统扫码后读取的是中间码,中台根据中间码找到积分账户扣减对应积分

2. 流程图

流程在梳理功能过程图基本都讲完了,不多说上图:

扫码支付-流程

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:从0开始,我做了个扫码支付  支付  支付词条  开始  开始词条  
设计

 细述QQ与TIM的不同之处

QQ和TIM同使用QQ账号进行登录,很多时候,TIM被认为是QQ的办公版本或者是精简版本。随着用户的年龄增长,渐渐对于一些会员的功能失去了兴趣,也逐渐无意和自己...(展开)