如何为瑞典帐号生成 IBAN

Posted

技术标签:

【中文标题】如何为瑞典帐号生成 IBAN【英文标题】:How can I generate IBAN for Swedish Account number 【发布时间】:2020-06-30 13:11:46 【问题描述】:

问题陈述 我有一个瑞典银行 (SEB) 帐号,我需要为此帐号生成 IBAN(在 java 代码中)

一种可能性 我可以看到如果我使用网站是可能的:https://www.ibancalculator.com/

我尝试了什么 https://github.com/arturmkrtchyan/iban4j

Iban iban = new Iban.Builder()
                .countryCode(CountryCode.SE)
                .bankCode("XXXX")
                .accountNumber("XXXXXXX")
                .build();

这里X是我帐号中的一个数字,帐号总共有11位长(前4位是清算号,后7位是帐号)。

但是,当我尝试这个时,我得到以下信息:length is 11, expected BBAN length is: 20

有人可以指出我在这里做错了什么,或者还有其他更好的方法。

附:如果我在 ibancalculator.com 上使用相同的值,我会为我的帐户获得正确的 IBAN。

【问题讨论】:

【参考方案1】:

您获得的错误提示您需要使用this example中指示的帐号的完整长度:

Iban iban = new Iban.Builder()
            .countryCode(CountryCode.SE)
            .bankCode("500")
            .accountNumber("0000005839825746")
            .build();

换句话说,请确保您在致电 .build() 之前提供预期的 20 位数字。

【讨论】:

感谢您指出这一点,它适用于我拥有的银行帐号 :) 100% 确定,您在“500”上方列出的这个银行代码是否特定于每家银行还是为瑞典的每家银行工作? @ShankeyJain – 银行代码指定托管给定帐号 0000005839825746 的银行,因此它必须指代确切的银行。如果答案对您有用,请参阅 tour 了解如何关闭它(也可选择为有用的答案投票)。 我同意这个答案对我有用,但它更多的是一个具体的答案(仅适用于一家银行)。我更多的是寻找一个通用的解决方案。所以,我同意你的回答很有帮助,但并不完整。我会赞成的。 @ShankeyJain——但是你有没有做任何研究?全部Swedish bank codes in IBAN have 3 digits。为您提供所有瑞典银行的密码本不在本网站的范围之内。您问为什么您的库方法调用不起作用,并且您获得了指向问题的有效答案。【参考方案2】:

你输入的银行代码和账号一共是11位,但是iban需要20位。

正如您在 GitHub 参考中看到的,您必须输入所有数字,因此在 accountNumber 中添加您提到的四位数字(“前 4 位是清算号”),并在银行代码中添加必要的数字。

【讨论】:

以上是关于如何为瑞典帐号生成 IBAN的主要内容,如果未能解决你的问题,请参考以下文章

如何为 IBAN 数组正确添加空格

优化生成 IBAN 的 PHP 脚本

从 IBAN 号码生成 BIC 号码

如何检查 IBAN 验证?

如何为表单验证生成错误消息

如何为使用 Rotativa 生成动态内容的 PDF 生成页脚