支付宝 支付流程异常处理 设计思考

概述

本文主要描述关于支付流程相关的思考,并不进行代码编写说明与指导,仅供流程设计参考
下文将以商户APP唤起支付宝支付流程为例进行思路说明
支付宝API官方文档
支付宝 支付流程异常处理 设计思考_第1张图片
以上图流程为例

  • 在商户APP中确认订单信息
  • 选择支付方式,选择支付宝
  • 唤起支付宝APP,输入支付密码
  • 调用支付宝SDK推送支付数据,展示支付宝APP的支付结果
  • 返回商户APP,展示最终支付结果

时序图

支付宝 支付流程异常处理 设计思考_第2张图片

支付流程

可能出现的异常情况与相应补偿手段

异常case 处理预案
商户服务端创单失败 服务端内部进行重试,超过最大次数则需要返回系统异常,告知用户,并告警&人工介入排查
唤起支付宝创单并支付失败,买家信息异常&交易信息篡改 上报风控,考虑是否存在诈骗&黑产情况
唤起支付宝创单并支付失败,买家状态非法&参数无效 告警&人工介入排查
唤起支付宝创单并支付失败,订单已支付or订单已关闭 将此结果传给商户服务端进行信息确认,若确认已支付则进行正常业务流程,若已关闭需要考虑同步最新的订单状态
商户APP端,调用服务端接口推送支付结果超时 服务端接收到支付宝回调前,需要考虑轮循机制,定期查询支付宝API订单状态,确认是否支付成功,超过一定时间没有结果时需要进入异常流程
商户APP端,调用服务端接口推送支付成功,服务端未监听到结果,或轮循支付宝接口为未支付 上报风控,考虑是否存在诈骗&黑产情况
商户服务端确认支付成功,更新订单状态失败,无法执行后续流程 调用支付宝退款接口,关闭订单,通知用户

支付宝 支付流程异常处理 设计思考_第3张图片

参考资料:
https://blog.csdn.net/u014799...

你可能感兴趣的:(java)