从 IBAN 银行帐号生成 BIC
Posted
技术标签:
【中文标题】从 IBAN 银行帐号生成 BIC【英文标题】:Generate BIC from IBAN bank account number 【发布时间】:2012-10-19 13:52:29 【问题描述】:是否有任何现有的库或脚本可用于从 IBAN 银行帐号(和其他必要信息)生成 BIC 代码?
我在网上搜索过,但只找到了 IBAN 生成器。
提前致谢!
【问题讨论】:
有一些在线生成器,这就是为什么我认为它必须是可能的。 ibanbicservice.nlibannl.org/iban_check.php 等等 确实如此。 (我被这样一个事实误导了,即在德国,多个银行分类代码可以具有相同的 BIC)。他们必须从在线资源中查找,因为 BIC(显然)没有在 IBAN 中编码 您可以从IBAN获取银行,从银行获取BIC @Dagon 是的,但是您必须从必须经常更新的列表或在线资源中查找 BIC。 我找到了一个比利时 iban 的 webserice,你可以自己制作一个列表,但问题是你确实必须经常更新它。 【参考方案1】:这是一个很老的问题,从那时起情况发生了很大变化。
所选答案仅涵盖一个国家/地区,但是,如果您需要涵盖所有使用 IBAN 的国家/地区,那么我建议您使用 IBAN API 服务或任何类似的 API。
[DISCLIMAR] 我参与了这项服务
【讨论】:
我认为您应该添加免责声明,即 ibanapi.com 是您的产品。【参考方案2】:您可以自己从各个国家银行当局那里收集查找表:https://www.bundesbank.de/en/tasks/payment-systems/services/bank-sort-codes/download-bank-sort-codes-626218(德国),所以如果您只有几个可能工作的市场。或者使用openiban。
【讨论】:
【参考方案3】:找到所有 IBAN 帐户的解决方案(我认为):
https://openiban.com/validate/IBAN_NUMBER?getBIC=true
例如,如果您对该 URL 进行 CURL 调用,您将免费获得账户银行信息。将 IBAN_NUMBER
替换为您的 IBAN 帐户。
示例:
`https://openiban.com/validate/DE89370400440532013000?getBIC=true`
结果:
"valid": true,
"messages": [],
"iban": "DE89370400440532013000",
"bankData":
"bankCode": "37040044",
"name": "Commerzbank",
"zip": "50447",
"city": "Köln",
"bic": "COBADEFFXXX"
,
"checkResults":
重要更新
OpenIBAN 已关闭其 API 服务,因为 GDPR 法规给服务提供商带来了未知风险。请参阅openIBAN.com 上的声明。还包含指向自托管指南的链接,请参阅this github page。
更新 (2019/07/25)
Openiban 重新上线。
【讨论】:
Their website 表示 BIC 查询目前可用于以下国家/地区:比利时、德国、荷兰、卢森堡和瑞士 最近的更新增加了对奥地利和列支敦士登的支持。 很好的答案,这个网络服务拯救了我的一天!谢谢@Kiddo! openiban 向我抛出“IBAN 无效”错误,因为我直接从银行卡(瑞士)读取了正确的 IBAN 号码 openiban 好像又上线了! “更新(2019 年 7 月 25 日):Openiban 重新上线。”【参考方案4】:轻松获取给定 IBAN 的 BIC:
https://www.ibancalculator.com/iban_validieren.html
刚刚将它用于 IBAN,它为我提供了看似正确、有效的 BIC。
我不知道页面的转换是否可以很容易地自动化。
【讨论】:
【参考方案5】:我创建了一个可以将荷兰语和比利时语 IBAN 转换为相应 BIC 的 Web 服务。如果可行,未来可能会添加更多国家/地区。
看看:http://iban2bic.nl
api使用:http://iban2bic.nl/api/:iban
此网站已离线一段时间。 我现在已经在这里开源了代码:https://bitbucket.org/wilgert/iban2bic
免责声明:代码陈旧,可能包含错误、愚蠢的错误和/或安全漏洞。此外,荷兰银行的名单还远未完成,因为自 2013 年以来已添加了大量银行。
【讨论】:
我无法访问“使用 api”页面。您能解释一下如何获得 IBAN 代码的 BIC 吗? 这是一个锚链接,API的内容在同一页面上。回答你的第二个问题。对于荷兰银行,我使用了一个 PHP 脚本,该脚本使用以下数组从 IBAN 的银行标识符部分查找 BIC:gist.github.com/wilgert/7305244#file-dutch_banks-json。对于比利时银行,我依赖此答案中的网络服务:***.com/a/13137295/357601 对于其他国家/地区的银行,该服务尚不可用。 @Wilgert - 您应该在答案中提供信息。或将您的答案更改为评论。从 jitsCode 的 cmets 可以看出,仅链接的答案有问题。这就是 Stack Overflow 通常不想要它们的原因。 我建议通过在此处添加代码示例来改进您的答案。【参考方案6】:没有简单的方法可以从 IBAN 中“生成”BIC,因为 BIC 是 IBAN 中不存在的独立编号。 (一些国家/地区在 IBAN 中有 BIC 的一部分)。
有许多服务提供此类数据。 www.swift.com 是一项企业服务。不过不是很便宜。
对于中小型企业来说,一个好的解决方案可能是: https://www.iban.com/validation-api-v2.html
他们有一些更灵活的定价计划。
【讨论】:
【参考方案7】: $json_url = 'http://iban2bic.nl/api/'.$iban_number_of_dutch_bank;
$json = file_get_contents($json_url);
$data = json_decode($json, TRUE);
$bic = $data['bic']; // holds the BIC number
【讨论】:
【参考方案8】:比利时 IBAN 银行帐号的解决方案:
有一个比利时 iban 号码的网络服务,很容易从 iban 银行帐号中获取 bic。
$client = new SoapClient('http://www.ibanbic.be/IBANBIC.asmx?WSDL');
$bban = $client->getBelgianBBAN(array('Value' => $iban))->getBelgianBBANResult;
$bic = $client->BBANtoBIC(array('Value' => $bban))->BBANtoBICResult;
我也搜索过荷兰语网络服务,但找不到。但是您可以随时使用来自http://www.betaalvereniging.nl/europees-betalen/sepa-documentatie/bic-afleiden-uit-iban/的数据自己制作一个
【讨论】:
【参考方案9】:我不认为这样的库存在(至少是免费的)。
唯一可靠的方法是使用SWIFT IBAN Plus Directory(以前称为SWIFT BICplusIBAN Directory。
此目录由 IBAN 注册商 SWIFT 提供。有了它,您可以将 IBAN 与各种机构信息(包括 BIC)进行匹配。
SWIFT IBAN Plus 目录由 SWIFT 定期更新最新数据,可作为文件或通过 WebService API 访问,但遗憾的是不是免费提供的。
【讨论】:
我查看了页面但看不到定价。你知道它会花多少钱吗?【参考方案10】:我环顾四周,发现您可以使用这个 php iban 验证器从 iban 号码中检索银行名称:
http://code.google.com/p/php-iban/
但是当您到达那里时,您需要一个包含所有银行机构代码和相应 BIC 代码的数组。
我想所有的 BIC 代码都可以在这里找到:
http://www.nbb.be/doc/gg/Protocol/R_List_of_Codes_Current.pdf
但我不确定如何将 IBAN 银行代码链接到 BIC 代码列表。
没有找到一个现成的库很难..
【讨论】:
对于荷兰银行,我创建了这个 JSON:gist.github.com/wilgert/7305244#file-dutch_banks-json nbb.de 的链接已失效。 :(以上是关于从 IBAN 银行帐号生成 BIC的主要内容,如果未能解决你的问题,请参考以下文章