支付系统返回值,错误码,code
来源:互联网 发布:大连电视台直播软件 编辑:程序博客网 时间:2024/05/16 03:59
code分成三类:
1. 明确成功的code
2. 明确失败的code
3. 未知状态的code(未知的code)
原则:
未知code保持进行中
1. 提现一定要查询修复方式。同步的:只相信success,其他保持不变,通过状态来决定状态。异步的:同步,维持状态不变。
2. 充值(预充值),成功保持进行中,其他不关闭,只是记录已出错过,下次重新获取流水号。
如果未知code关闭,这样就不会出现因为微信某种原因拒绝,重试还是拒绝,导致用户再也无法支付的现象。一直用同个流水号。导致问题,支付后又来请求,会导致关闭掉。
改进: 不关闭,只是记录已出错过。 不影响状态流转。解决了支付的一个大问题,线上遇到的场景:未知code到底是保持进行中,还是保持关闭的问题。
对支付而言:这种case下,如果保持进行中,又支付,还是失败的。如果关闭,可能已经支付成功了,但是又调用了一次。
3. 代扣。 未知code。 关闭对我方有好处,用户损失,不会导致用户无法重复代扣的问题。进行中好处,可以通过后续状态检查校验。
未知状态的code。
这些code有些是错误可重试的,有些是不可重试的,不管可不可重试,最好都阻断掉。
所以请求方可以重新请求,以获取结果。也可以采用查询状态的方案来实现。
好的提供者,内部要保证完整性。采用状态查询修复和再次查询的方案。
如果某个提供者,不提供内部完整性。
查询到状态为
1、进行中,重试,触发流转。
2、失败,关闭。不重试。
3.、 成功。不重试
4. 、无,重试。可能触发流转,也可能继续被拒绝返回未知code,陷入无限死循环。
所以建议
如果对方明确接口是可重试的,内部不保证完整性,建议用后者。
- 支付系统返回值,错误码,code
- 支付宝返回的错误值
- 支付宝 公共错误码 手机版 0000 系统错误
- zip_oepn 的错误返回值 error code 对应表
- 微信支付-返回签名错误
- 微信APP支付返回-1错误
- [CAQ6]支付宝返回4000错误
- OJ系统错误返回提示
- 支付宝支付发挥错误码4000
- 微信app支付返回-1错误的情况解决方法
- iOS开发 微信支付 包看包会 系统返回的坑
- Python返回Non-zero Exit Code 错误(ZOJ 1001)
- 高德定位错误返回code = 2
- 支付宝错误码ILLEGAL_PARTNER_EXTERFACE
- errno返回值的对应错误码
- errno返回值的对应错误码
- loadlibrary返回 NULL , 错误码值126
- 函数返回值及错误码设计
- Leetcode: Maximum Product of Word Lengths
- 各种利益导致关注
- 028_CoreAPI_对象三种状态
- 零基础免费搭建个人博客-hexo+github
- 2016-1-7
- 支付系统返回值,错误码,code
- 跟我学习dubbo-简介
- MongoDB数据逻辑结构
- Oracle入门3
- 跟我学习dubbo-ZooKeeper注册中心安装(2)
- mysql从零开始(三)数据类型
- Android必知必会--GreenDao缓存
- OC 字符串操作整理
- 阿里云服务器部署网站