globalcitizen / php-iban

Generate, parse, validate, error-correct and present IBAN (and IIBAN) bank account information in PHP.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wrong BBAN Branch ID start offset for IT and SM

simeucci opened this issue · comments

Hello,
first I just want to thank you very much for the great job!
Testing your class to verify / extract data from IBAN codes, I realized that to get the right Branch ID from a correct italian iban, in registry.txt, I had to change the 12th piece of the line (explode by '|' ) from 0 to 1 not to include the National Checksum single char at the beginning of the Branch ID.
This actually works and does not seem to break any other functionality, but I would appreciate you to confirm this is the right way to proceed.

Thanks, it's nice to hear some positive feedback.

You are probably right, in which case this is a great bug report. Thanks a lot!

I am traveling internationally right now with my family but I will take a look over the next few days and release an update if it proves correct (which I believe it probably is).

If you could give me some examples (input IBAN, output received, expected output) this would help things along the way.

Thanks for a great bug report and for being friendly 👍

Hello, glad to read from you!

IBAN: IT18T0538703601000000198036
Br.ID Received: T05387
Correct Br.ID: 05387

IBAN: IT57V0538703601000000198060
Br.ID Received: V05387
Correct Br.ID: 05387

IBAN: IT40Z0538703601000000198072
Br.ID Received: Z05387
Correct Br.ID: 05387

IBAN: IT29P0538742530000000802006
Br.ID Received: P05387
Correct Br.ID: 05387

IBAN: IT94I0306940101100100003599
Br.ID Received: I03069
Correct Br.ID: 03069

IBAN: IT63 M033 5901 6001 0000 0131 525
Br.ID Received: M03359
Correct Br.ID: 03359

IBAN: IT76M0103013900000004690993
Br.ID Received: M01030
Correct Br.ID: 01030

IBAN: SM 36 H 06067 09801 000000796301
Br.ID Received: H06067
Correct Br.ID: 06067

...

Bast regards

Just a quick note to say I still have this staring at me but have been super busy as on the road. Should have time for it circa Friday/Saturday.

Apologies for the delay ... I badly damaged my ankle and wound up in a Vietnamese hospital.

Now safely home and looking to get this one resolved today 👍

PS. San Marino (SM) has an alphabetic checksum with an unknown algorithm. Could you try to dig it up?