首页 > 编程知识 正文

银行工作经验分享总结(银行优秀经验分享)

时间:2023-05-05 02:10:05 阅读:99852 作者:4395

导读:在实际开发中,为了提供支付能力,往往需要与外部银行连接,建立会计系统。不同的银行提供不同的连接方式,比如设置Socket服务器和客户端,通过专线直接消息进行交互,从银行引入SDK。我们将讨论银企直连中的以下五个共同点:

真实账户和虚拟账户的对账是什么,怎么做?当业务满足分布式事务的场景时该怎么办?T n和回调机制的概念总结

1.什么是真实家庭和虚拟家庭?

真实账户:理解为实际银行卡,也称结算账户。虚拟账户:据了解,真实账户分为几个虚拟子账户,虚拟账户是虚拟的,没有实体卡。

第二,如何进行对账?

资金操作发生时,我们系统有三个基本的原子操作:记录流水、记录明细、修改账户金额。当事人也将相应地记录细节。将双方记录的细节进行匹配和比较,称为对账。

对账的常见内容包括:

实际账户:实际银行卡(结算账户)存取款明细。假账:指卡内子账户相互转账,但实际上结算账户总额不变。两个子账户之间的资金转移会产生两个交易明细,一个转出和一个转入代表同一笔交易。对账时,可以约定只能使用转出/转入明细。其他包括总账(实体卡总金额)和子账户(卡内虚拟子账户,如冻结金额、总金额、可用余额等。),可以根据具体的实际业务需求进行对账。

常见的对账方法:

对账:按照约定的格式生成对账文件,并上传至约定的服务器(我们提供ftp维护或银行提供的FTP服务器等。),具体对账明细银行会处理并回复我们。预对账:上传对账文件前,我们可以根据条件调用银行提供的明细查询界面,获取明细。并编写对账程序,具体思路是将我们的明细与银行明细进行匹配,检查关键岗位的金额等数据是否一致。通过预对账,可以比实际对账更早发现问题、处理问题,确保对账工作顺利实施。

3.当业务遇到需要分布式事务的场景时,我应该怎么做?

场景:组合调用银行接口。比如一个业务操作需要调用银行转账接口两次,要求两次操作一起成功或者失败。

如果你可以尝试不使用分布式事务,你就不会。由于系统无法对外实现分布式事务,我们可以通过其他方式巧妙地解决这个问题。

解决方案1:撤销大订单和子订单

订单和子订单:大订单是指业务操作,子订单代表业务操作中的每个具体子操作。

转发:当大订单中的一笔订单(一笔转账)失败时,需要将之前完成的资金操作全部回滚。但是由于银行是外部系统,不能使用分布式交易,没有回滚的概念。那么我们就可以把需要再回滚一次的基金操作进行反转,这就是反转。在不改变每个子订单资金运作交易明细记录的前提下,对每个子订单多做一次反向冲销操作,多记录一条资金明细记录。

解决方案2:大订单和子订单的重做机制。

当其中一个子订单失败时,它将被标记为失败。您可以在界面中提供重做(重新启动)按钮,然后在排除故障原因后重新执行。这样,之前其他成功的操作就无法逆转了。

第四,T ^ n和回调机制

有些资金操作,比如取款,当天向银行提出取款申请后,当天可能不在银行办理,大部分会由T . n .办理,需要有回拨机制。

解决方法:解决这个问题的方法有很多。这是其中一个例子。我们可以建立一个套接字服务器来监控银行发送的套接字消息。银行收到取款申请后会做异步处理,然后作为socket客户端发送结果消息回调。收到消息后,我们将进行结果处理。

动词(verb的缩写)摘要

银企直连和会计系统的功能可以简单概括为:我们搭建一个会计系统,与银行提供的功能接口进行连接。我们需要先在银行开户(称为结算账户),调用开户功能在实体卡下开立多个虚拟子账户,我会在方系统上与客户账户绑定,真实账户和虚拟账户由双方共同维护。资金运作时,双方共同记录交易明细,通过对账保证一致性和正确性。

感谢阅读。如果你喜欢这篇文章,请关注IT并转发。本头条将坚持原创,继续分享IT技术知识。如果对文章内容有其他想法、意见和建议,欢迎大家一起讨论,共同进步。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。