一、背景
支付渠道限额严重,用户无法进行大额度充值,对于大客户客群拉新有影响,存管行提供了转账充值接口和服务,所以我们主要是为了大客户充值做了转账充值系统。
二、具体实现
具体的实现流程图如下:
资金流如下:
1.用户通过发卡行APP、PC官网、电汇、柜面汇款等等方式可以汇款到P2P平台的存管专用户。
信息流如下:
2.用户在P2P平台发起充值认领订单。
3.P2P平台发起转账充值账户入账流水查询。
平台发送指令给存管行,要求查询平台转账充值账户的入账流水时,存管行生成入账流水文件,上传至平台FTP服务器,P2P平台获取处理。请求报文为到账日期,付款人银行账号,付款人名称,付款金额,查询页。到账日期,付款人名称为必填字段。
4.存管行报文回复。
回复字段:状态,错误码,错误信息,总笔数,总页数,当前页,页最大笔数,当前页笔数,入账流水号,付款人银行账号,付款人名称,到账日期,到账时间,到账金额,认领状态,认领通讯流水号,认领的资金账户ID,认领日期,认领时间。
5.若有流水,P2P平台执行流水认领流程。
6.流水认领时,P2P平台调用转账充值接口。
传输字段为:资金账户ID,银行转账流水号,付款人账户姓名,付款人银行账号,转账金额,转账日期,转账时间,同名转账。
7.存管行流水处理结果反馈。
这里,存管行的说明为:
(1)若银行转账流水号重复:
a.若该笔转账充值已成功处理,则存管行返回**处理代码给平台,不再进行转账充值操作。
b.若该笔转账充值未成功处理或未处理,则存管行进行转账充值操作,并把处理结果返回平台。
(2)存管行接收到平台推送的报文后,进行匹配,若匹配成功,则进行客户资金账户进行记账处理,否则不进行记账处理。需同时满足以下两点才匹配成功:
a. 平台推送的报文体与银行实际入账流水匹配,匹配的要素为:银行转账流水号、付款人账户姓名、付款人银行账号、转账金额、转账日期、转账时间。
b. 若“同名转账”填“否”,则支持使用他人的银行卡进行转账充值。这里因为反洗钱要求,同名转账都是是,必须为本人姓名+平台绑定银行卡。
8.P2P平台修改充值订单状态,用户可用余额进行+操作。
9.用户收到充值成功反馈。
10.这里为了防止资金流与信息流的不匹配,做了一个定时任务来解决用户已经发起了2充值认领操作,但是资金流仍在途的尴尬。 加入定时任务:用户加入,财务加入 退出定时任务:已进入超过3个自然日;完成充值订单。 激活定时任务:每半小时一次发起一次,用户每次新打开充值订单发起页面,财务手动发起。
11.退汇。手动邮寄函件到存管行进行退汇处理。
三、Q&A
1.存管失败的充值还会拉取吗?如果存管有笔充值一直是未最终状态呢?
A:若该笔转账充值未成功处理或未处理,则存管行进行转账充值操作,并把处理结果返回平台。P2P平台也会发起重试。但是,还是有些订单会因为特殊情况无法完成,会一直保存充值中状态。
2.用哪些关键信息和存管行流水唯一关联的?
A:都是商户级别的哪些信息,来和存管流水中的字段信息作关联。查询流水时请求报文为到账日期,付款人银行账号,付款人名称,付款金额,查询页。 平台推送的报文体与银行实际入账流水匹配,匹配的要素为:银行转账流水号、付款人账户姓名、付款人银行账号、转账金额、转账日期、转账时间。
3.如果是非本人打款,用户认款时需要确认哪些信息,平台如何保证用户认证银行流水的正确性,比如确实是这个用户打的款?
A:首先是用户注册开存管户,需要五要素认证,姓名+身份证+银行卡+银行预留手机号+短验。用户认款的时候,也会校验用户姓名+银行卡和流水的用户姓名+银行卡号。
4.他人代打款的这种认款场景如何确认呢?
A:在用户认领的时候,就已经注明只能使用本人的特定银行卡号进行打款;发生的几次这种情况多事让代打款人新开P2P账户认领处理了。如果对方实在不同意,只能退汇处理。
本文档来自支付产品技术交流群的聊天记录整理,由志愿者整理并发布到本网站。如需要及时收到来自支付产品技术交流群的最新消息,请扫码关注“凤凰牌老熊”的微信公众号。 本群面向支付行业的有经验(2年以上)的产品经理、软件工程师、架构师等,提供交流平台。如想加入本群,请在本文评论中留言(不公开),说明所在的公司、负责的工作、入群分享的主题和时间。