美文网首页
履约系统

履约系统

作者: 哓晓的故事 | 来源:发表于2018-02-11 12:05 被阅读0次

    跟踪和保障用户交易后,提供方执行合同跟踪执行系统。
    履约系统会保存一份更交易订单信息

    1. B2C 履约系统和交易系统关联

    针对实物商品,平台保存有订单信息,无需推送订单信息(时效性要求不高),由履约系统提供接口,由外部调用接口完善填写履约,履约系统进行跟踪

    订单流程状态:
    订单已创建
    订单已下单(货到付款)
    订单已支付(在线支付),风控订单可以重复支付
    订单被风控
    订单完成
    订单退款
    订单关闭
    --
    退款单流程类型:
    退款单创建
    退款单处理
    退款单拒绝
    退款单取消
    退款单同意
    退款单确认商品
    退款定单已发货
    --
    退款单类型:
    仅退款
    退货退款
    取消订单
    退差价
    -------
    表:
    订单主表
    订单发票表
    订单商品表
    订单收货人信息表
    订单物流信息表
    订单支付信息表
    退款单表
    退款操作流程表
    退款商品表
    订单扩展属性表
    风控表
    ----
    订单流转:
    在线支付=创建订单->付款->发货(反调)
    :(付款状态后,商户点击发货接口状态变更为发货[商品没有全部退款])
    :添加物流信息并且发货接口(线上物流仓库发货)
      :内部发货(创建物流单、发货、跟踪物流进度)- 由平台仓库发货
      :外部发货(记录落库、跟踪物流进度)- 由商户发货,有外部物流对接系统对接
    :商家主动调用发货并上传物流号接口(调用仓库发货系统,需要回获取物流公司/商户信息)
    :更新物流状态
    货到付款=创建订单->下单
    订单未发货=取消订单:用户取消
    运营取消订单=反调交易中心同步取消订单数据
    订单已发货=货到付款:未付款关闭
    订单已发货=在线支付:商家关单->调用交易中心关单->记录订单日志
    (由商户直接发起的退款需要反调交易中心,这是一种运营手段),
    订单已发货=在线支付:用户关单->记录订单日志
    ----
    退款单流转:
    创建退款单->退款单处理(反调)->退款单取消
    :退款单针对某一特定商户(nabaite)需要额外推送信息
    :提供接受处理接口(商户/运营处理非自动,仅支持退货退款并且新建退款单)
    创建退款单->退款单处理(反调)->退款单拒绝(反调):提供接受处理接口(商户/运营处理非自动)
    创建退款单->退款单取消
    创建退款单->退款单拒绝(反调)
    创建退款单->退款单同意(反调):提供接受处理接口(商户/运营处理非自动),ONLINE途径
    退款定单待收货->退款单拒绝(反调):代收货的前一个状态必须是退款单处理中
    退款单确认商品->退款单同意(反调)
    :提供接受处理接口(商户/运营处理非自动,支持退货退款&&(待收货退款单||待处理退款单))
    退款单确认商品->退款单拒绝(反调)
    

    通过MQ获取订单信息,选择 外部发货订单/B2C服务 才需要执行履约。
    履约系统需要保存一份订单的快照持久化数据库(此快照需要变更数据),作为履约跟踪信息。

    通过监控数据库 binlog 日志指定库表,当指定的信息变更动作发生的时候,会通过MQ发出变更信息通知,内部eventBus执行指定履约动作。

    1.1. 下单信息履约记录流程

    B2C履约下单/关单流转流程(关单可以中断下单履约流程).png
    1. 订单创建 不做履约业务处理。履约持久化记录(created)
      订单主表、订单收货人信息表、订单商品表、订单发表信息表、订单支付信息表
    2. 订单下单 (货到付款支付)的订单做履约处理,后续都是实物交易,履约不再跟踪。变更持久化记录为(ordered)
      订单主表(支付状态/收货状态)、订单支付表(存在现金支付)
    3. 订单支付 (在线支付)的订单做履约业务处理。需要判断订单是否正在风控审核中。变更持久化记录为(paid)
      订单主表(支付状态/收货状态)、订单支付表(存在现金支付)
    4. 订单风控中 变更持久化记录为(被风控)
      风控表(添加风控订单信息)
    5. 解除风控订单 对外提供审核风控信息接口,变更持久化记录为(风控订单通过)
      风控表(修改风控状态),订单主表(已支付状态)
    6. 订单已发货 在修改为发货状态的时候,会拒绝全部未受理的退款单
      调用交易中心拒绝退款单、订单退款表(拒绝状态)、订单退款流程(新建)
    7. 订单退款 最后完成退款的记录,变更持久化记录为(订单退款)
      订单主表(订单退款)
    8. 关闭订单 货到付款/在线支付,货到付款直接取消订单(订单已取消、退款中/已退款等无需继续操作)
      订单主表(订单取消)
    9. 订单完成
      订单主表(订单完成)

    1.2. 退款单信息履约记录流程

    B2C履约退款单流转流程.png
    1. 退款单创建 不做履约业务处理。履约持久化记录(created)
      创建退款单表、退款商品表(每个sku记录一条)、退款操作流程表
      退货退款->自动注册5分钟后一次性job修改为退款单自动受理
      取消订单->自动注册5分钟后一次性job修改为退款单同意
      仅退款->自动注册5分钟后一次性job修改为退款单同意
    2. 退款成功 退款单完成退款,判断数据库状态。履约持久化记录(success)
      更新退款单表、退款商品表(每个sku记录一条)、创建退款操作流程表
    3. 退款失败 退款单退款失败,判断数据库状态必须是approve状态。履约持久化记录(fail)
      更新退款单表、退款商品表(每个sku记录一条)、创建退款操作流程表
    4. 退款接受处理 履约持久化记录(received)
      获取商户退款地址、反调交易中心退款接受处理服务、更新退款单表、创建退款操作流程表
      状态变更后,会主动发送站内信/短信[summary, content]
    5. 退款取消 履约持久化记录(cancelled)
      确认退款单类型、如果不符合反调交易中心查询退款单服务、更新退款单表、创建状态变更后,会主动**发送站内信/短信[summary, content]
      **退款操作流程表
    6. 退款拒绝 履约持久化记录(rejected)
      反调交易中心退款单拒绝服务、更新退款单表、创建退款操作流程表
      状态变更后,会主动发送站内信/短信[summary, content]
    7. 退款同意 履约持久化记录(accepted)
      反调交易中心退款单同意服务、更新退款单表、创建退款操作流程表
      调用交易中心更新退款单信息服务
    8. 退款待收货 履约持久化记录(delivery)
      更新退款单表、创建退款操作流程表
    9. 退款确认收货 履约持久化记录(confirmGoods)
      反调交易中心退款单确认收货服务、更新退款单表、创建退款操作流程表

    2. 履约与外部系统

    监听订单支付消息,如果是外部渠道系统订单,则调用外部网关“代下单代支付”接口,如果调用结果不成功,发出报警邮件或短信;调用结果为成功,则把外部渠道系统订单ID回传到对应订单的扩展字段中,然后插入该订单数据到pash任务表。
    如果订单在风控审核中,则发送通知短信给订单用户(根据不同用户类型发送不同短信内容)

    订单已创建
    订单已支付
    订单已下单
    更新第三方订单ID
    订单风控
    
    1. 订单已支付
    • 履约系统需要和外部平台系统交互,执行外部系统订单履约 代客下单(第三方平台)
    • 针对已完成支付的订单,类型是外部系统订单,调用外部服务接口。
    • 订单信息通过MQ进行解耦,履约信息监听对应的Q来处理对应的业务。
    • 如果调用外部接口不成功会触发MQ的retry机制,则等待mq重试,超过尝试次数会给监控告警
    • 提交给外部系统代客下单的订单信息由交易系统 通过MQ交互。
    • 调用与外部服务交互的网关服务(外部系统必须经过外部网关)。
    • 将订单信息保存在履约持久化数据库中,供后续查询外部订单信息。并且发送更新第三方订单号至扩展字段的Q信息。
    与外部系统交互的下单,需要考虑**重复支付的幂等问题**,**重复支付不算支付失败**
    

    定时Job信息通过订单创建的时候持久化在数据库,当多次更新job信息失败(长期处于未发单状态),持久化记录错误操作信息,并提示用户退款,如果Job成功执行,则删除此Job,后续不再调用

    3. 对外提供服务

    3.1. B2C履约提供外部(商户/运营)订单服务

    外部合作方,更新B2C订单物流信息

    3.1.1 分页查询订单列表

    orderStatus订单状态、orderType订单类型
    下单开始时间、下单结束时间
    支付开始时间、支付结束时间
    收货人姓名、收货人手机号
    商品名(模糊查询)、spuId、skuId
    outId外部单号、tradeId内部单编号
    

    3.1.2 订单详情

    sellerId商户编号、tradeId订单编号
    

    3.1.3 获取B2C物流公司

    一个商户可以有多个B2C物流公司
    sellerId商户编号
    

    3.1.4 获取订单物流状态

    sellerId商户编号、tradeId订单编号
    

    3.1.5 获取订单商户备注

    sellerId商户编号、tradeId订单编号
    

    3.1.6 获取订单物流详情

    sellerId商户编号、tradeId订单编号
    

    3.1.7 获取待发货的物流商品信息

    sellerId商户编号、tradeId订单编号
    

    3.1.8 获取商品原始的收货地址信息

    物流信息可以被更新,但是要记录原始的收货地址first
    sellerId商户编号、tradeId订单编号
    

    3.1.9 发货并且上传物流单号

    当外部物流发货的时候,已知物流单号,商户需要修改履约状态时
    ----
    sellerId 商户编号、tradeId订单编号
    carrierId物流公司编号、物流单号
    

    3.1.10 新增/修改商户备注信息

    sellerId 商户编号、tradeId订单编号
    备注等级、备注内容
    

    3.1.11 修改订单收货地址

    sellerId 商户编号、tradeId订单编号
    地址信息、收货人、收货人手机号
    

    3.1.12 新增/修改订单物流

    sellerId 商户编号、tradeId订单编号
    物流单记录主键ID、物流公司编码、物流单号
    

    3.1.13 关闭订单

    商户/运营主动关闭订单
    ----
    sellerId 商户编号、tradeId订单编号
    原因
    

    3.1.13 确认收货

    商户确认用户已收货,主动修改订单状态
    ----
    sellerId 商户编号、tradeId订单编号
    

    3.2. B2C履约提供外部(商户/运营)风控订单查询服务

    3.2.1 分页查询风控单

    开始时间、结束时间
    approveStatus审批状态
    

    3.2.2 风控单审批

    approveStatus审批状态、tradeId订单编号
    

    3.3. B2C履约提供外部(商户/运营)退款订单服务

    3.3.1 分页查询退款单

    开始时间、结束时间
    退款单状态、退款单类型
    tradeId订单号、refundId退款单编号
    sellerId商户编号
    

    3.3.2 退款单详情

    refundId退款单编号、sellerId商户编号
    

    3.3.3 退款单接受处理 received

    refundId退款单编号、sellerId商户编号、退货信息(地址+收货人姓名+手机号)
    

    3.3.4 退款单同意 approve

    refundId退款单编号、sellerId商户编号
    

    3.3.5 退款单拒绝 reject

    refundId退款单编号、sellerId商户编号
    原因
    

    3.3.6 卖家确认收到用户退款货物

    refundId退款单编号、sellerId商户编号
    

    3.3.7 卖家开始用户线下退款

    refundId退款单编号、sellerId商户编号
    

    3.3.8 卖家确认用户线下退款

    refundId退款单编号、sellerId商户编号
    

    3.3.9 重试退款

    refundId退款单编号、sellerId商户编号
    

    3.4. B2C履约提供外部(商户/运营)商户中心提醒

    3.4.1 [消息提醒]商户中心提醒

    90天内未发过订单总计
    24小时内未发货订单总计
    90天内未处理的退款单总计
    ----
    sellerId商户编号
    

    4. O2O 履约系统和交易系统关联

    O2O履约下单/关单流转流程(关单可以中断下单履约流程)..png

    参考B2C履约流程,线上支付没有发货状态,下单、确认接单、用户收货都会发送sims短信提醒

    5. 物流信息

    持久化存储 物流公司ID和物流公司名对应关系

    6. 履约账单

    6.1 月账对账

    6.2 日账对账

    OMS:订单管理系统
    WMS:仓库管理系统
    ERP:系统

    相关文章

      网友评论

          本文标题:履约系统

          本文链接:https://www.haomeiwen.com/subject/njdsbxtx.html