干货丨绑卡产品设计实战指导

起点学院产品经理365成长计划,2天线下闭门集训+1年在线学习,全面掌握BAT产品经理体系。了解详情

绑卡,即绑定银行卡,是银行卡与账户的一种关联行为。狭义上的绑卡即银行卡与账户的简单关联,广义上的绑卡有通过银行卡信息要素的验证,通过后方便进行后续的支付、提现等动作,也有通过绑卡的形式进行实名认证、找回支付密码等操作。

chanpingsheji

为了更好的理解本篇文章,建议大家先参考本人知乎专栏文章《银行卡号编码规则及其应用

一、绑卡目的

1、为后续业务做铺垫

绑定银行卡后,进行快捷支付及提现都将非常方便。快捷支付中,大部分使用代扣通道,通过绑卡的形式进行身份鉴权与签约,银行(第三方)返回绑定号,在支付业务中凭靠绑定号发起扣款指令。

2、验证身份信息要素

包括实名认证和找回支付密码等过程。

实名认证,如借记卡卡号、姓名、身份证号、预留手机号4要素验证中,验证通过下发短信验证码,用户回填验证码,验证通过即可提取姓名、身份证号码作为实名认证信息,并且因下发短信验证码,极大的提高了信息获取门槛。

找回支付密码,同样利用信息要素验证的特性,原则上可确保为本人发起。

二、绑卡需求

  1. 考虑到移动设备输入易错性,需判断银行卡号输入合法性,如不合法则需进行友好提示;
  2. 用户输入银行卡号后,系统能智能识别出发卡行及卡种,无需用户手动选择;
  3. 卡号、姓名、身份证号码、预留手机号等要素验证,对于验证不通过的,应该尽量明确错误原因,并指导用户采取相应解决办法。

三、相关说明

  1. 本次绑卡仅限常规绑卡,以主流绑卡流程为主;
  2. 本次绑卡假设已完成实名认证;
  3. 本次绑卡以APP端为例;
  4. 本次主要介绍借记卡绑卡过程;
  5. 本次绑卡主要介绍主流程,细节部分不做过多讨论。

四、绑卡流程

1、 流程图

14557060cf6005971948ef2c74a8f6c8_r

A、输入卡号并提交后,通过LUHN算法验证卡号输入合法性,可检查出90%以上卡号输入错误,提升用户体验。考虑到极少数银行卡号未按照LUHN算法进行生成,因此,在不符合时,进行友好提示,用户可以选择返回修改或确认无误进入下一步。关于银行卡号生成规则LUHN算法的知识,可参考本人知乎专栏文章《银行卡号编码规则及其应用》

B、银行卡号获取到后,则需根据银行卡号检索银行卡发卡行及卡种等信息,卡BIN数据库需事先准备好,检索流程如下:

f7edd070e70f817414e48fa554d28794_r

我们知道,卡BIN一般是6位组成,并且一般是不会重复,但是确实存在6/7/8/9/10等几位卡BIN长度,而且多位的卡BIN可能和低位的卡BIN前几位会相同,另外也存在卡BIN相同但卡长度不同代表不同银行卡的。因此需要从卡BIN10位向6位检索,并通过卡长度辅助查询,详看上图。

另外,对于数据库检索不到的卡BIN,则可以选择不允许绑卡或用户通过手动形式进行选择银行及卡种,大家可根据实际情况选择。

C、 对于借记卡,一般验证姓名、身份证号、卡号、预留手机号4要素进行验证,因前期以进行实名认证,因此姓名、身份证号码不需再重复输入。现卡号也已获取到,只需再输入预留手机号即可。

预留手机号输入完成提交后,进行姓名、身份证号、卡号、预留手机号4要素验证。对于验证通过的,则下发短信验证码,根据合作方式的不同,此验证码可能由平台自行下发,也可能由银行或第三方支付下发。

D、 用户收到验证码后进行回填并提交,验证无误后绑卡完成,数据库需记录银行或第三方支付返回的绑定号,以便用于日后支付动作。

2、线框图

96220e00ec72a5feef00b0c24e910d2d_r

A、姓名调取实名认证信息,无需用户输入,也不可更改

B、银行卡号长度满12位后方可点击下一步,卡号每隔4位隔开

C、 卡号输入完成点击下一步时,由客户端自行完成LUHN算法对银行卡号合法性进行验证,通过时进入下一步,不通过是进行友好提示,用户可选择返回修改或确认无误

D、银行卡号符合LUHN算法后,检索卡BIN信息,返回发卡行及卡种

E、用户输入手机号,手机号需满足首位为1,长度为11的要求,且进行1XX XXXX XXXX的展示

F、 手机号无误提交进行姓名、身份证号(此两项取自实名信息,无需用户填写)、卡号、预留手机号验证,验证通过则下发短信验证码

G、用户回填短信验证码,无误后绑卡完成,服务端记录卡信息,记录银行(第三方支付)返回的绑定号(如有)

五、嘚瑟一下

原公司APP早期绑卡产品卡BIN信息为通过第三方接口获得,每次接口调用2元。后本人学习到银行卡编码规则及卡BIN规则后,自行制作了一套卡BIN读取系统及相应数据,有如下成就:

1、节省成本:按照20万次的接口调取量,预计可节省约40万元(此处应有掌声!哎呀,似乎没涨工资!);

2、由调用第三方接口改为内部接口,降低了外部的依赖性,也提高了响应速度;

六、课后作业

一般来说,调用银行或第三方支付接口对姓名、身份证号、卡号、预留手机号4要素进行验证时,对方只会返回一致或者不一致,而不会告知哪个或哪几个要素不对。如果返回的是不一致,为了明确错误原因指导用户相应操作,如何确定哪个要素有误?

答案在原文中有相关提示哦。后期会把答案公布出来。

 

作者:MrColin,支付结算产品经理,略懂技术

申明:如需学习产品层面知识,或对支付结算感兴趣的,可 知乎 @MrColin

本文由 @MrColin 原创发布于人人都是产品经理。未经许可,禁止转载。

您的赞赏,是对我创作的最大鼓励。

评论( 7

登录后参与评论
  1. 我想知道,卡的类型分为对公和对私,如是对公的情况下,步骤还和上面是一致吗?

    回复
  2. 不错不错 及时雨 感谢

    回复
  3. 姓名和身份证在前期已通过第三方接口完成了实名认证,因此可以确定4要素中的这2个要素正确无误。具体是卡号错还是预留手机号错,根据文中内容,我还真不知道如何明确判断出。 :arrow:

    回复
  4. 如果对支付结算感兴趣,请移步本人知乎专栏《支付结算杂谈》
    https://zhuanlan.zhihu.com/mrcolin

    回复
  5. 我个人认为,一般不告诉你出错原因:1.不好判断,比如登录时候,密码的用户名不匹配,你如何知道到底哪个错了呢?2.即使能够判断,一般这类个人信息,我告诉你是身份证错了,你如何防止别有用心的犯罪呢?那机器破译一下,就能找出正确的身份证号,这样很不安全,所以,一般只会含糊的告诉你不一致,这是出于安全考虑

    回复
  6. 不错,学习啦

    回复
  7. 不错,学习知识!正在做这部分

    回复
加载中