是否有现成的库或脚本可用于从IBAN银行账号(以及其他必要信息)生成BIC代码?
我在网上搜索过,但只找到了IBAN生成器。
是否有现成的库或脚本可用于从IBAN银行账号(以及其他必要信息)生成BIC代码?
我在网上搜索过,但只找到了IBAN生成器。
找到了所有IBAN账户的解决方案(我认为):
https://openiban.com/validate/IBAN_NUMBER?getBIC=true
如果您向该网址发出CURL调用,例如,您将免费获取帐户银行信息。请使用您的IBAN账户替换IBAN_NUMBER
。
示例:
`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": {}
}
由于GDPR法规对服务提供商构成未知风险,OpenIBAN已经关闭了其API服务。请查看openIBAN.com上的声明。此外,还有一个自托管指南链接,请查看这个github页面。
Openiban已经重新上线。
我认为没有这样的库存在(至少免费的没有)。
唯一可靠的方法是使用 SWIFT IBAN Plus Directory (之前称为 SWIFT BICplusIBAN Directory )。
该目录由 SWIFT 提供,是 IBAN 注册机构。您可以使用它将 IBAN 与各种机构信息(包括 BIC)进行匹配。
SWIFT IBAN Plus Directory 定期由 SWIFT 更新最新数据,可作为文件或通过 WebService API 访问,但很遗憾不免费提供。
比利时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/的数据自行创建一个。
$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
从IBAN中“生成”BIC没有简单的方法,因为BIC是独立的数字,不在IBAN中出现。 (一些国家在IBAN中有BIC的一部分)。
有许多提供此类数据的服务。 www.swift.com是一个企业服务。但价格不便宜。
对于中小型企业来说,一个好的解决方案可能是: https://www.iban.com/validation-api-v2.html 他们有更加灵活的定价计划。
我查看了一下,发现您可以使用这个 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代码列表链接起来。
没有找到现成的库,有点困难。
快速获取给定IBAN的BIC:
https://www.ibancalculator.com/iban_validieren.html
刚刚在 IBAN 上使用它,它为我提供了看似正确、有效的 BIC。
我不知道该页面的转换是否可以轻松自动化。
您可以自行从各个国家银行当局收集查找表:https://www.bundesbank.de/en/tasks/payment-systems/services/bank-sort-codes/download-bank-sort-codes-626218(德国),因此如果您只有少数市场,这可能有效。或者使用openiban。
这是一个相当老的问题,而且自那以后情况发生了很大变化。
所选答案仅涵盖一个国家,但如果您需要涵盖所有使用IBAN的国家,我建议使用IBAN API服务或任何类似的API来实现。
[免责声明] 我是这个服务的一部分