超哥分析 支付宝 校园一卡通业务流程

背景描述:支付宝开通了校园一卡通接口,每次我们充钱的时候,第一次使用都会需要等待一到两秒的时间才能在食堂刷卡成功,以后就不需要了
 
问题描述:为什么第一次会有一到两秒的延迟时间
 
我的猜想:在这一到两秒的时间内,发生了资金从支付宝账户到校园卡账户的转移。当然也可能是先从支付宝到银行那边再到校园卡账户。因此发生一系列的数据库事务的增删改的动作,像我们淘宝上用支付宝付款一样大概也需要类似的延迟时间
 
我猜想具体实现:校园卡账户和支付宝账户通过数据库关联起来,并且在校园卡的代码中一定有一个标志值,记作为flag,flag为true时代表该校园卡关联的支付宝临时账户中balance>num,为false时balance<num,num为我们设定的一个阈值,大于该阈值才会发生转账动作,小于则不会。
注:1  balance为我们使用支付宝为校园一卡通充值金额 
      2设置 num避免出现无限多次的小额转账攻击系统
 
故有了支付宝可冲校园卡功能之后 流程为
 
当我们刷卡的时候,首先验证身份
 
验证身份通过后,检测标志值true or false
超哥写一段java伪代码
 
 if(身份验证成功){
 if(flag)
    执行转账程序; //有了充值后第一次使用发生的延迟现象
 if(校园卡余金额>需要刷卡金额)
    校园卡账户系统扣费;
    log.info("一次成功的扣费记录");
 else
    System.out.println("滴滴滴 您的余额不足 请及时充值以免自动下机);
    log.info("因为一次余额不足,扣费不成功");
}
  else{
    log.error("发生一次身份验证错误"); 
    throw 身份验证错误Exception;
}

超哥知道博客园高手如云,说不定就有蚂蚁金服的大神,大家觉得超哥分析的哪些还需要改进或者有错误  谢谢大家

转载于:https://www.cnblogs.com/winAlaugh/p/5471370.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值