快捷支付产品

支付系统设计-4

Posted by shamphone on October 20, 2016
本博客转移到 Cocolian 上, 请访问 Cocolian 获取最新更新。 谢谢!

快捷支付指用户在电商网站上执行支付时,不需要输入卡信息,仅根据短信或者其他的验证方式确认身份后,就可以执行扣款的支付方式。 这是目前电商网站采用的主要支付方式。 在快捷支付中,用户首次支付,需要提供卡的信息,之后就可以凭短信验证码,甚至不需要密码,也可以执行扣款。

接口概述

一般来说,快捷支付需要提供如下接口:

  1. 签约, 也叫“绑卡签约”、“开通交易”等,指用户在商户网站上开通快捷支付的功能,他需要将银行卡相关信息提供给电商。
  2. 解约, 也叫“解绑卡”, 指用户取消在该网站上的快捷支付功能。一般也会删除该用户在该网站上的相关的银行卡信息。
  3. 扣款, 也叫“支付”, 指用户使用签约的卡来执行一笔扣款。
  4. 退款, 针对已经扣款成功的交易执行退款操作,一般同时也会把用户权益或者对应的订单撤销。并不是所有订单都可以执行退款。
  5. 查单, 查询某次交易的处理状态。
  6. 签约查询, 即检查某个用户是否已经开通了签约功能。

绑卡签约

为什么要求用户绑卡?这和快捷支付有关。参见上一篇文章的分析,绑卡是将用户卡信息提供给电商,以后电商就用这个信息去银行完成支付。绑卡实际上是一个授权,让用户允许商家自动从他的账户上扣除资金。所以绑卡也叫签约,用户和银行,商家的三方签订的支付合约。

但我们知道,绑卡对用户和商户来说都存在巨大风险。如果说用户绑卡是图省事,那商户为什么要做这个事?首先当然是提升用户体验了,让用户花钱更容易。其次,提升支付成功率。使用网银支付成功率在20%左右,银联直联成功率一般在50%左右,银行卡直联可以提升到70%左右。这是相当可观的数据。所以,当你看到绑卡送洗衣粉之类做法时,不需要担心商家会不会赔本。

怎么绑卡?我们知道对接银行有两种途径,直接对接银行接口和通过银联来间接对接。这两种情况下绑卡处理也不同。 直观的,电商网站会在用户后台提供一个绑卡的入口,让用户直接绑卡。以支付宝绑卡流程为例,我们可以体验下: alipay-1

这里有如下要点:

  • 只能绑自己的卡,这主要从安全角度考虑。
  • 需要用户在银行侧预留的手机号进行短信验证。但不是所有银行都需要。这个时候,为了统一处理,可以考虑自己发验证短信。

对这个入口不要指望太多,更多的用户是在支付中绑卡。也就是提交订单后,发现没有银行卡了,就开始绑卡。 和纯绑卡流程不同的是,最后一步,绑卡成功后,一般都同时完成支付。有些渠道会提供绑卡并支付的接口,减少交互次数。

绑卡流程

先介绍比较简单的银联直联绑卡。为了保证卡的安全,绑卡有这些前置需求:

  1. 用户必须已经绑定了手机号。该手机号用于修改支付密码。
  2. 用户需设置了支付密码。支付密码不同于登录密码。

针对用户不同状态,绑卡流程上有区别。当然,绑卡是安全操作,要求用户必须登录到系统中。为了避免和服务器端的交互被劫持,所有操作必须在安全链接中进行,即使用https。当用户开始绑卡时,执行如下流程:

1.检查用户是否有手机号。没有则进入设置手机号流程。
2.检查用户是否设置支付密码。如果已经设置,则需要用户输入密码。确认后开始绑卡。否则,也是先进去绑卡后设置密码。
3.用户输入卡号,系统根据卡号判断卡的发卡行,并显示给用户。有些实现,如微信支付,会提供扫卡识码功能。
4.用户输入银行预留手机。对于没有绑过卡的用户,需要用户提供真实姓名和身份证号。对于信用卡,还需要输入cv码和有效期。这一步,卡的信息都收集全了。
5.调用银行绑卡验证接口进行绑卡。这里有一个四要素验证的概念。由于国内要求实名制,所有银行卡都是实名办理的,所以银行可以验证姓名,身份证号,银行卡号和手机号是不是一致的,如果没问题,则会发短信到手机上。
6.用户输入短信验证码并确认绑卡,服务器端将用户实名信息以及短信验证码组合形成报文,发送给银行,执行签约操作。银行侧签约成功后,返回签约号给商户。

绑卡接口设计


感谢您对本文的关注,如需要及时收到凤凰牌老熊的最新作品,或者有相关问题探讨,请扫码关注“凤凰牌老熊”的微信公众号,在公众号里留言或者回复,可以尽快处理,谢谢。

本文欢迎转载,转载时请注明本文来自 微信公众号“凤凰牌老熊”。