支付系统流程

想要精通一个行业需要多久?

我的回答是I don't know,断断续续做支付这一块的业务有几年了,但是感觉刚刚入门。

很久没有写博客了。。。不知道要怎么写了。

---------------------------------------------------------------

以下支付的说明,均是基于跨境电商,支付渠道如无特殊说明,均是指PayPal。
---------------------------------------------------------------

目录:

1. 支付系统简介

2. 支付系统关联系统

3. 支付系统设计

4. 总结

 

1. 支付系统简介

  每一家公司都是在做销售,产品是实体货物或者服务或者其他,目标都是要盈利。每个公司都会有一个收银台(实物或者虚拟的),原因是需要。。。收款或者退款。这也是支付系统产生的原因吧。毕竟每一个软件的产生都是要解决实际生活中的问题。(小结:支付系统是一个收银台)

       作为一个非支付业务为主的公司,在使用支付渠道时,往往采用的第三方支付渠道(个人认为原因是支持的支付方式或者卡种会更多,对于国外的本地化或者全球化支持度更高),尤其是电商公司。

2. 支付系统关联系统

2.1 订单系统

  我们采用的是先下单,再进行支付,如一段时间之后不进行支付,则取消订单。支付系统会更新订单系统的支付状态,如支付成功会进入发货流程。

  订单系统介绍请查看这里

2.2 风控系统

2.2.1 事前风控

  简介

    在进入第三方进行支付之前,对订单信息进行风控判定,也叫做黑名单风控

  校验信息

    客户ID,客户邮箱,客户IP,客户下单频率,订单支付次数,支付频率

  任意订单信息校验不通过,则拒绝客户进行支付。

2.2.2 事后风控

  简介

    无法通过系统来判断是否是高风险的交易,需要人工判断

  校验信息

    取消订单频率,收货地址(是否在高风险国家、城市),金额(是否超出指定金额)

  说明:

    每个公司对于风控系统的认知和想法不同,适合自己的才是最好的。风控规则也会随着风险的变化而变化。

2.3 IPN管理系统

  简介

    管理第三方发送的交易结果通知,发送给支付系统进行解析(更新交易结果、交易状态)。ipn是指第三方支付渠道发过来的交易通知。

    ipn的类型:payment、refund、chargeback、dispute(这里列出来一些常见的和通用的,其他根据具体的支付渠道来)等等

    2.3.1 接收ipn

    当第三方支付渠道发送过来ipn之后,应该是做简单的校验(和第三方支付结果进行比对)即可入库。以便于由于系统问题造成ipn接收失败

    2.3.2 给支付系统发送(或者重新发送)ipn

    ipn管理系统接收到ipn之后,会异步通知支付系统(更新交易结果和状态,以及时间)

  解决问题

    第三方支付渠道沟通、不进行通知的重发,以及支付系统处理失败等等问题。

3. 支付系统设计

3.1 支付流程

用一张图来说明(A B C为操作本地数据库位置,第一次出现为添加,第二次出现为更新)

 

3.2 退款流程

和收款流程相比,只是少了事前风控(当然调用的第三方API,是退款的API)。退款交易的父级ID为付款ID

3.3 Ipn处理流程

以支付结果ipn处理流程为例(这里会处理ipn重复接收的问题,另外dispute、chargeback通知会产生新的交易记录,并且会冻结订单金额)

 

4. 总结

4.1 一笔订单可能有多笔支付交易(可能部分付款,国内这种情况较少)

4.2 对于一笔交易而言(不是一笔订单),支付流程的正向流程只有一个,而逆向流程可能有多个(例如,dispute处理过程中可能会发送多条ipn,需要针对不同类型的ipn进行处理,并改变订单状态,让客户知道当前的处理进度)

4.3 退款渠道一般有两条路径(订单系统退款,支付系统退款),如果一笔交易有正在退款中的交易,那么允许再次添加一条退款交易(即使两笔退款都是退全额的支付金额)

4.4 在支付系统设计的过程中,应该考虑到财务对账(第三方支付系统和支付系统,支付系统和订单系统)

4.5 ipn的处理流程太过于复杂,影响到交易结果和订单状态(需要异步发送通知)

4.6 风控策略会根据风险的变化而变化

 

这里只是简单说一下支付流程,牵扯到的很多细节没有进行说明,未完待续。。。。。。

 

posted @ 2019-03-30 22:47  暗香残留  阅读(1013)  评论(0编辑  收藏  举报