• 支付系统流程


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

    我的回答是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 风控策略会根据风险的变化而变化

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

  • 相关阅读:
    java web 里的JSP 对象的简单了解
    PLSQL 语言 异常 函数 存储过程
    PLSQL语言 分支循环
    高级查询
    oracle 杂项
    sql 里面的常用函数
    java所有内容练习
    线程
    oracle基础 知识点

  • 原文地址:https://www.cnblogs.com/zhizihuakai/p/10624725.html
Copyright © 2020-2023  润新知