为了账号安全,请及时绑定邮箱和手机立即绑定

支付宝预授权冻结情况整理

标签:
Java

用户在租车、充电桩、酒店预订等场景消费时,用户在开启服务时需要做一笔预授权,当服务完结算时,再从预授权资金中扣除消费金额,剩余返还给用户。

支付宝预授权支持用户以余额,余额宝,信用卡,借记卡,花呗以及芝麻信用渠道做预授权,其中预授权时余额,余额宝做资金冻结;信用卡,借记卡扣款至支付宝内部账户做资金锁定;花呗锁定额度,不产生账期;芝麻信用以用户信用为担保并授权。

以上是支付宝预授权的官方介绍,但是在进行操作的时候,可能会出现一些问题,这里我将遇到的问题情况进行整理,如果有相关业务开发涉及到的,可以进行参考。

支付宝预授权情况整理

image.png

测试情况:

3个页面,总共有4种情况。外加超时,共5种情况,第二个页面和第三个页面算作同一种情况。

  • 页面1(上图第一个页面)

  • 页面2(上图第2个和第3个页面)

情况:

a: 页面1失败->后续无

mapi能收到支付宝app的同步结果,然后传给底层,状态为用户取消,但是接下来的同一笔订单再次操作会出现“系统繁忙”错误

b: 页面1成功->页面2成功->成功

支付宝回调成功,mapi也会回调成功,正常

c: 页面1成功->页面2失败->失败

页面1成功,支付宝和mapi都不会通知我们,页面2失败,mapi通知我们用户已经取消。

如果对同一笔订单再次进行芝麻免押,会提示“系统繁忙”。

d: 页面1超时->失败

超时情况下支付宝和mapi都不会通知我们,只有在用户从支付宝页面返回才有mapi的回调,支付宝不回调。

再次进行芝麻免押,同样会提示“系统繁忙”

我们有一个每1小时执行一次的回调,同步冻结状态为等待的数据,一个小时支付宝预授权已经被关闭,同步到结果之后会回调业务,但是一个小时的时间,对业务那边没有意义了。

e: 页面2超时->失败

再次进行预授权,“系统繁忙”

个人猜测:

业务订单再支付宝那边只能存储一个状态,按道理“等待的应该可以转为成功或失败”,但是目前等待的订单都会重新获取预授权冻结参数,导致重新获取参数的都会提升“系统繁忙”。等待的就只能变成失败了。

支付宝预授权的问题

  • 冻结,转支付,关闭交易等操作只有成功情况下才有回调,失败情况下没有回调。导致一些情况无法判断状态。比如进行转支付的时候,支付宝返回等待,但是后续支付失败了,我们这边会一直不知道结果。
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.1万
获赞与收藏
1544

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消