Download the PHP package globalcitizen/php-iban without Composer

On this page you can find all versions of the php package globalcitizen/php-iban. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package php-iban

php-iban

php-iban is a library for parsing, validating and generating IBAN (and IIBAN) bank account information in PHP.

Latest Stable Version License

All parts of an IBAN can be retrieved, including country code, checksum, BBAN, financial institution or bank code, account number, and where a fixed-length national system is in use, also branch/sort code. Legacy national checksums may also be retrieved, validated and correctly set, where available, whether they apply to the account number portion, bank and branch identifiers, part or all of the above. IBAN country codes can be converted in to ISO3166-1 alpha-2 and IANA formats, the parent IBAN country acting as registrar for dependent territories may be queried, the official national currency (ISO4217 alpha code format), central bank name and central bank URL may also be queried to ease integration. IBANs may be converted between human and machine representation. IBANs may be obfuscated for presentation to humans in special circumstances such as relative identification. A database of example/test IBANs from different countries is included. Finally, highly accurate suggestions for originally intended input can be made when an incorrect IBAN is detected and is due to mistranscription error.

The parser was built using regular expressions to adapt the contents of the official IBAN registry available from SWIFT then manually modified for special cases such as errors and omissions in SWIFT's official specifications.

Various deficiencies in the initial adaptation have since been rectified, and the current version should be a fairly correct and reliable implementation.

Where appropriate, European Committee for Banking Standards (ECBS) recommendations have also been incorporated.

Please bear in mind that because the specification changes frequently, it may not be 100% up to date if a new version has been recently released - I do my best though. We are currently thought to be up to date with the January 2020 release, ie. PDF release #86.

Licensed under LGPL, it is free to use in commercial settings.

Countries Supported

The following 116 official and unofficial IBAN countries are supported.

Installation via composer

If you use composer you can simply run composer require globalcitizen/php-iban to get going. Reportedly Daily Downloads (and Monthly Downloads) were done via composer.

(If you don't yet have composer and wish to install it in an insecure fashion (not recommended, but convenient) you can run curl -sS https://getcomposer.org/installer | php or wget -O- https://getcomposer.org/installer | php)

Then just add the following to your composer.json file:

Then, you can install the new dependencies by running composer's update command from the directory where your composer.json file is located:

You can see this library on Packagist.

Installation via git

For a regular install, use the git clone command:

Installation via git submodule

Alternatively, to embed the php-iban library in your own git-managed repository at a specific revision number, such that it is possible to update the version in a predictable way while maintaining a larger system that depends upon its functionality:

Then, when checking out git projects with submodules for the first time, normally you need to make a couple of extra steps:

To skip these steps, add the --recursive argument to git clone when checking out:

If you later wish to your project to use a newer version of php-iban, run:

Manual installation

  1. Fetch the latest release from our github releases page in either zip or tar.gz format.
  2. Extract the library using your favourite archive utility, for example unzip filename.zip on Unix-like platforms.
  3. Write your code to depend on the library based upon its relative location to your source code. For example if you wish to include php-iban from the parent directory's subdirectory libraries/php-iban you could use the following require_once() statement:

Comparison of PHP IBAN libraries

The following table compares php-iban to other PHP projects offering IBAN-related functionality, on the basis of general project information and the programming paradigms supported.

Project Lic. Proc OO Began Latest Star Watch Fork Installs Home culture Deps
php-iban LGPL 2009 4.2.3 426 29 104 ~7M+* Global* none
Iban MIT 2013 1.3.0 50 9 19 178.39k German lots
IsoCodes GPL3 2012 2.1.1 466 22 54 145k French lots
SepaUtil's GPL3 2014 1.2.3 8 4 3 25k German phpunit
Symfony MIT 2013 3.3.6 15k 1214 5.6k 23M+ French lots

Notes:

Now let's take a look at features.

+ ISO IANA SEPA UO MT NC CB H? Registry
php-iban 116: full, error-corrected CSV with open-source toolchain and documentation
Iban ✔* 54: partial, hardcoded, dubious origin
IsoCodes 66: partial, hardcoded, dubious origin
SepaUtil's 89: partial, hardcoded, dubious origin
Symfony 95: partial, hardcoded, dubious origin

Note:

In short, while composer users have apparently lept on rival libraries (particularly Iban), probably due to the time it took us to integrate a composer file, those libraries are often either full-fledged web frameworks or burdensome in dependencies, less mature, fail to hat-tip to the free software foundation, do not support the procedural programming paradigm (for when AbstractProductClassMakerFactories just won't cut it), use data from dubious sources, tend to use licenses that are incompatible with certain commercial uses, and are frankly short on features.

So, fearless user ... choose php-iban: the ethical, functional, forward-looking, low-hassle library of choice for IBAN and IIBAN processing. Choose to win! ;)

Your Help Wanted

News: March 2024

Version 4.2.3 has been released.

Version 4.2.2 has been released.

News: August 2023

News: January 2023

Version 4.2.1 has been released.

Version 4.2.0 has been released.

News: August 2022

Version 4.1.1 has been released.

News: July 2021

Version 4.1.0 has been released.

News: August 2020

Version 4.0.0 has been released.

Version 3.0.3 has been released.

Version 3.0.2 has been released.

News: July 2020

Version 3.0.0 has been released.

Version 2.8.2 has been released.

Version 2.8.1 has been released.

News: June 2020

Version 2.8.0 has been released.

News: May 2020

Version 2.7.5 has been released.

Version 2.7.4 has been released.

News: November 2019

Version 2.7.3 has been released.

Version 2.7.2 has been released.

News: October 2019

Version 2.7.1 has been released.

News: July 2019

Version 2.7.0 has been released.

News: August 2018

Version 2.6.9 has been released.

Version 2.6.8 has been released.

News: June 2018

Version 2.6.7 has been released.

News: June 2018

Version 2.6.6 has been released.

News: March 2018

Version 2.6.5 has been released.

Version 2.6.4 has been released.

Version 2.6.3 has been released.

Version 2.6.2 has been released.

News: August 2017

Version 2.6.1 has been released.

Version 2.6.0 has been released.

News: October 2016

Version 2.5.9 has been released.

News: August 2016

Version 2.5.8 has been released.

News: June 2016

Version 2.5.7 has been released.

News: May 2016

Version 2.5.6 has been released.

News: April 2016

Version 2.5.5 has been released.

News: March 2016

Version 2.5.4 has been released.

Version 2.5.3 has been released.

News: February 2016

Version 2.5.2 has been released.

Version 2.5.1 has been released.

Version 2.5.0 has been released.

Version 2.4.20 has been released.

Version 2.4.19 has been released.

Version 2.4.18 has been released.

Version 2.4.17 has been released.

Version 2.4.16 has been released.

Version 2.4.15 has been released.

Version 2.4.14 has been released.

Version 2.4.13 has been released.

Version 2.4.12 has been released.

Version 2.4.11 has been released.

Version 2.4.10 has been released.

Version 2.4.9 has been released.

Version 2.4.8 has been released.

Version 2.4.7 has been released.

Version 2.4.6 has been released.

Version 2.4.5 has been released.

Version 2.4.4 has been released.

Version 2.4.3 has been released.

Version 2.4.2 has been released.

Version 2.4.1 has been released.

Version 2.4.0 has been released.

News: January 2016

Version 2.3.1 has been released.

Version 2.3.0 has been released.

Version 2.2.0 has been released.

Version 2.1.9 has been released.

Version 2.1.8 has been released.

Version 2.1.7 has been released.

Version 2.1.6 has been released.

Version 2.1.5 has been released.

Version 2.1.4 has been released.

Version 2.1.3 has been released.

Version 2.1.2 has been released. All known unofficial IBAN country codes are now integrated. As well as minor documentation updates and a shortening of the reported name of Kosovo, this version adds:

Version 2.1.1 has been released. Currently unofficial IBAN country codes are being integrated, and the process remains ongoing. This version adds:

Version 2.1.0 has been released.
Currently unofficial IBAN country codes are being integrated, and the process remains ongoing. A new flag has been created to check whether a country is an official, SWIFT-issued record or not. The following new countries have therefore been added.

Note also that the IIBAN (AA) record has been marked unofficial, and features listed in docs/TODO have been migrated to Github issues and that file deleted.

Version 2.0.1 has been released. This is to celebrate real testing, composer support, as well as finally catching up with changes. This version should be up to date with all registry changes to the present, including changes or additions to the countries:

Version 1.6.0 has been released. This version features more registry corrections (newly added territories with faulty data, bad checksums in sample IBANs, etc.) as well as enhanced testing routines, extended documentation, and corrected documentation. All users are advised to upgrade. We now have automated test script execution with Travis CI, to provide additional robustness for all committed code. This took longer than expected as unfortunately I picked the exact time Travis broke their build logs - https://www.traviscistatus.com/incidents/fcllblkclgmb - to see what all the fuss was about... proving again that cloud computing is just great for breaking things unexpectedly. Because they want to hide things, there was literally no debug output whatsoever, and I was led to believe this was my fault. Fellow programmers, behold: it is the dawning of the age of the mystical fail.

Version 1.5.0 has been released. There are no code changes, but we now have http://packagist.org/ integration, hopefully this triggers it to start working. If you use packagist, you can now add the library to your project by just running composer require globalcitizen/php-iban (thanks to @acoulton for pointing the way)

Version 1.4.9 has been released using the new Github-based release process. Hopefully this provides a solid anchor point for those bundling the library with other software. We also have a contributed composer metadata file to ease integration. New IBAN registry URLs integrated. Removed old SVN tag/trunk structure.

News: July 2015

Corrected SWIFT URL to IBAN page. Emphasized mistranscription error support.

News: March 2015

Finally, google has killed code.google.com and we have migrated to Github! Once the old trunk/tag structure (lingering from svn) is cleaned up and this document translated from the old wiki format to markdown, a new version will be issued.

News: June 2014

Version 1.4.6 has been released:

Unfortunately, Google now requires code.google.com projects to use Google Drive. I tried to use Google Drive (sign up for a new account, jump through email hoops, get treated as a robot, learn stupid new touchy-feely-friendly interface, get meaningless error messages like 'Your sharing limit has been exceeded' (with 2x290KB files on a new account I was told to create) and lost patience entirely.

So for the moment, you'll just have to download using git, instead. I will migrate php-iban to Github shortly. Google really is a pain in the ass recently, what with all of this Google+ and Google Drive junk, ruining Picasa, ruining Sketchup by lack of attention, etc. What are they thinking?

News: March 2014

Version 1.4.5 has been released:

Version 1.4.4 has been released:

The project source code repository has switched from svn (ugh) to git (yay!).

News: September 2013

Version 1.4.3 has been released:

News: August 2013

Version 1.4.2 has been released:

Version 1.4.1 has been released:

News: June 2013

Version 1.4.1 is still being prepared, squashing some bugs and updating the registry ... meanwhile, it has come to my attention that we have been featured in the Code Candy blog! http://www.codecandies.com/2012/05/30/no-exceptions/ Hooray for the German sense of humour! Hahah.

News: March 2013

Version 1.4.0 has been released:

News: February 2013

Version 1.3.9 has been released:

Version 1.3.8 has been released:

Version 1.3.7 has been released:

News: November 2012

Version 1.3.6 has been released:

News: October 2012

Version 1.3.5 has been released:

Version 1.3.4 has been released:

Version 1.3.3 has been released:

News: September 2012

Version 1.3.2 has been released:

News: June 2012

Version 1.3.1 has been released:

News: December 2011

Version 1.3.0 has been released. This release adds mistranscription error suggestion support.

Version 1.2.0 has been released. This release adds Internet International Bank Account Number (IIBAN) support, as per the current IIBAN Internet Draft at http://tools.ietf.org/html/draft-iiban-01

News: September 2011

Version 1.1.2 has been released. This adds long open tags to the main library file in order to simplify deployment on many default PHP installations.

News: August 2011

Version 1.1.1 has been released. This fixes a typo in a function call in the new OO wrapper. Non OO users do not need to upgrade.

News: July 2011

Version 1.1.0 has been released. This version adds an object oriented wrapper library and related updates to documentation and test scripts. It is not critical for existing users to upgrade.

Version 1.0.0 has been released. This version includes the following changes:


Earlier in the month... Small maintenance release, not critical.

News: June 2011

News: December 2009

*We now have a http://groups.google.com/group/php-iban-users mailing list. Feel free to post your feedback, queries or suggestions - we'd love to know how you are using the library. To date, the project has reached over 400 downloads and still going strong, with more than one new user per day - a pretty good showing for a specialised library!

*version 12 has been released. The registry file has been improved, partly as a result of user reports and partly as a result of issues uncovered while performing automated tests against version 11.

Documentation (Procedural/Recommended)

Validation Functions

Utility Functions

IBAN Country-Level Functions

Parsing Functions

Documentation (Object Oriented Wrapper/Discouraged)

OO use is discouraged as there is a present-day trend to overuse the model. However, if you prefer OO PHP then by all means use the object oriented wrapper, described below.

Validation Functions

Utility Functions

IBAN Country-Level Functions

Parsing Functions

IBAN Libraries in Other Languages

See for yourself how our approach and features compare favourably with all of these libraries...

Language Library
C# iban-api-net
Java iban-api-java
Java iban4j
Java java-iban
Javascript iban.js
Javascript ng-iban
ObjectiveC IBAN-Helper
ObjectiveC ibanValidation
Perl various CPAN libraries
Python django-localflavor
Python iban-generator
Ruby bank
Ruby iban-tools
Ruby ibandit
Ruby ibanizator
Ruby iso-iban

All versions of php-iban with dependencies

PHP Build Version
Package Version
Requires php Version ^5.4 || ^5.5 || ^5.6 || ^7.0 || ^7.4 || ^8.0 || ^8.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package globalcitizen/php-iban contains the following files

Loading the files please wait ....