概述
本文次要形容对于领取流程相干的思考,并不进行代码编写阐明与领导,仅供流程设计参考
下文将以商户 APP 唤起支付宝领取流程为例进行思路阐明
支付宝 API 官网文档
以上图流程为例
- 在商户 APP 中确认订单信息
- 抉择领取形式,抉择支付宝
- 唤起支付宝 APP,输出领取明码
- 调用支付宝 SDK 推送领取数据,展现支付宝 APP 的领取后果
- 返回商户 APP,展现最终领取后果
时序图
领取流程
可能呈现的异常情况与相应弥补伎俩
异样 case | 解决预案 |
---|---|
商户服务端创单失败 | 服务端外部进行重试,超过最大次数则须要返回零碎异样,告知用户,并告警 & 人工染指排查 |
唤起支付宝创单并领取失败,买家信息异样 & 交易信息篡改 | 上报风控,思考是否存在欺骗 & 黑产状况 |
唤起支付宝创单并领取失败,买家状态非法 & 参数有效 | 告警 & 人工染指排查 |
唤起支付宝创单并领取失败,订单已领取 or 订单已敞开 | 将此后果传给商户服务端进行信息确认,若确认已领取则进行失常业务流程,若已敞开须要思考同步最新的订单状态 |
商户 APP 端,调用服务端接口推送领取后果超时 | 服务端接管到支付宝回调前,须要思考轮循机制,定期查问支付宝 API 订单状态,确认是否领取胜利,超过肯定工夫没有后果时须要进入异样流程 |
商户 APP 端,调用服务端接口推送领取胜利,服务端未监听到后果,或轮循支付宝接口为未领取 | 上报风控,思考是否存在欺骗 & 黑产状况 |
商户服务端确认领取胜利,更新订单状态失败,无奈执行后续流程 | 调用支付宝退款接口,敞开订单,告诉用户 |
参考资料:
https://blog.csdn.net/u014799…