银行转账功能(二)

银行转账功能(二)

          1、上一篇我们说过了同行转账,就是同库转账。其原理无非是一个减钱,一个加钱。

           思考:既然原理都是一样的,那么为什么还要说这个不同银行(跨行)转账呢?

           2、跨行(跨地区和跨银行)转账实质上我们可以理解为跨数据库转账。那么如果说是这样的话:

            转出方:账户甲

            转入方:   账户乙

            (1) 获取不到  账户已  的账号信息

            (2)无法或者说没有能力将给  账户乙  的加款这件事添加事务

           3、跨行转账的基本实现思路:

            前提:每个银行都会有一个公有账号(PublicAccount),这个账号存在的意义主要是用来处理跨行业务。

             (1)从账户甲扣款(新手看的时候括号内的备注请忽略,真扣还是假扣我们不管,真扣(马上减去转账金额),假扣(该账户会有一个字段记录转出金额,定时根据转入方到账或者银行自己的条件对其进行归0处理))。

             (2)给  银行甲  的PublicAccount加钱。

             (3)通知  账户乙  所在的  银行乙,按照  银行乙  约定的方式传递数据给该行所提供的API 。

             (4)银行已处理完之后,会通过某种方式提醒  账户甲所在的  银行甲。然后  账户甲完成了向账户乙的转账操作。

             (5)那么问题来了,银行甲  还欠着  银行乙  的钱呢。它只是收  账户甲  的钱,让  银行乙  给  账户乙  加款。但是  银行甲  没给  银行乙 转账(此时  账户乙  加款成功)。

             (6)在夜深人静的时候(在线用户较少的时候),银行甲的PublicAccount账户会向银行乙的PublicAccount中转账。就是把当天的银行甲向银行乙中所有转账金额加到银行乙的PublicAccount账户中。当银行乙的反馈信息中是加款成功的时候,银行甲减去向银行乙的转账金额(不归0的原因是这个操作过程中可能有用户完成了一笔转账或别的操作)。


  • 14
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值