验证/生成IBAN和BICS
schwift的Python项目详细描述
我得和你的国际银行账号打交道
schwifty是一个用于处理bics和iban的python库。它允许您
- 验证支票号码和国际银行账号的国家特定格式
- 验证BICS中的格式和国家代码
- 从银行代码生成BIC(目前适用于德国)
- 根据国家代码、银行代码和帐号生成IBAN。
- 作为属性访问所有相关组件
版本控制
由于从bic到bank_代码的映射不时更新,schwifty使用 CalVer使用方案YY.0M.Micro。
使用量
国际银行账号
让我们直接跳进去:
>>>fromschwiftyimportIBAN>>>iban=IBAN('DE89 3704 0044 0532 0130 00')>>>iban.compact'DE89370400440532013000'>>>iban.formatted'DE89 3704 0044 0532 0130 00'>>>iban.country_code'DE'>>>iban.bank_code'37040044'>>>iban.account_code'0532013000'>>>iban.length22>>>iban.bic<BIC=COBADEFFXXX>
到目前为止还不错。所以您可以创建一个IBAN-对象并访问 作为属性的iban的相关组件。正如你在最后一行看到的,你可以 还要掌握与iban银行代码相关联的bic号码。目前 仅适用于德国银行的IBAN。
在幕后,iban在实例化时已经过验证。尊敬地 根据ISO 13616合规性,检查账户代码、银行代码和 分支代码可能具有正确的国家特定格式。每当你经过一个 无效的iban到__init__-方法,您将得到一个ValueError和一个适当的 错误消息。
>>>IBAN('DX89 3704 0044 0532 0130 00')...ValueError:Unknowncountry-codeDX>>>IBAN('DE99 3704 0044 0532 0130 00')...ValueError:Invalidchecksumdigits
但是,如果您不想从银行代码和帐户代码生成一个iban呢? 使用generate-classmethod!
>>>iban=IBAN.generate('DE',bank_code='10010010',account_code='12345')<IBAN=DE40100100100000012345>>>>iban.checksum_digits'40'
注意,即使帐户代码的位数少于要求的位数(在德国,帐户应该 长度为10位),在正确的位置添加了零。另外还有校验和 数字已经计算出来了,这很好。
比克
除了iban,还有业务标识符代码(bic)。它是唯一的识别码 对于金融机构和非金融机构。schwifty还有一个BIC-对象 or less具有与IBAN-对象相同的接口。
>>>fromschwiftyimportBIC>>>bic=BIC('PBNKDEFFXXX')>>>bic.bank_code'PBNK'>>>bic.branch_code'XXX'>>>bic.country_code'DE'>>>bic.location_code'FF'>>>bic.country_bank_code'86010090'
country_bank_code是特定于国家的银行代码,您可以在iban中找到它。这个 映射当前仅适用于德国BICS。
BIC-对象还对实例化进行一些基本验证,并引发一个ValueError 如果国家代码、BIC长度无效或结构与ISO 9362不匹配 规范。
>>>BIC('PBNKDXFFXXX')...ValueError:InvalidcountrycodeDX>>>BIC('PBNKDXFFXXXX')...ValueError:Invalidlength12>>>BIC('PBN1DXFFXXXX')...ValueError:InvalidstructurePBN1DXFFXXXX
如果schwifty的内部注册包含您所在国家的BIC(这一点目前仍然有效 对于德国),则可以使用exists-属性检查BIC是否已注册。
安装
要安装schwifty,只需:
$ pip install schwifty
姓名
因为swift和swiftly已经被openstack项目占用,但是我们不知怎么的 为了指出与斯威夫特的联系,瑞克和莫蒂想出了一个名字 项目schwifty。