快生活 - 生活常识大全

从开始我做了个扫码支付


  新零售模式在线下门店,笔者想通过扫码的方式让用户使用积分,电子钱包、电子储值卡等其他类型的有价虚拟币逻辑相同。
  京东的"京豆",淘宝的"淘金币"本质是一种积分,过去大家都是建"积分商城"。用户通过消费、完善信息等操作获得积分,在积分商城消费积分。
  积分商城可以增加用户黏性,但无法通过积分商城提高复购、客单等。所以越来越多的项目开始使用类似京东和淘宝的方式,积分可以抵扣部分金额。
  项目背景
  积分可抵扣金额,那么积分就是一种支付方式。在线上渠道下单扣减相应积分即可(涉及组合收银等逻辑)。而新零售项目还需要考虑用户在线下门店如何方便、快捷、安全的使用积分。
  我们先后做过两个版本:
  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. 流程图
  流程在梳理功能过程图基本都讲完了,不多说上图:
  扫码支付-流程
网站目录投稿:以松