In order to check whether an IBAN Number is valid, we can use the following liquid code to perform the modulo 97 calculation:
{% comment %}IBAN Checker Example{% endcomment %}
{% capture iban_check %}
{% assign iban_pre = custom.iban.number | remove:'.' | remove:" " | slice:0,4 %}
{% assign iban_post = custom.iban.number | remove:'.' | remove:" " | slice:4,12 %}
{% assign iban = iban_post | append:iban_pre %}
{{ iban }}
{% assign iban_only_numbers = '' %}
{% assign iban = iban | split:"" %}
{% for char in iban %}
{% case char %}
{% when 'A' %}
{% assign variable = 65-55 %}
{% when 'B' %}
{% assign variable = 66-55 %}
{% when 'C' %}
{% assign variable = 67-55 %}
{% when 'D' %}
{% assign variable = 68-55 %}
{% when 'E' %}
{% assign variable = 69-55 %}
{% when 'F' %}
{% assign variable = 70-55 %}
{% when 'G' %}
{% assign variable = 71-55 %}
{% when 'H' %}
{% assign variable = 72-55 %}
{% when 'I' %}
{% assign variable = 73-55 %}
{% when 'J' %}
{% assign variable = 74-55 %}
{% when 'K' %}
{% assign variable = 75-55 %}
{% when 'L' %}
{% assign variable = 76-55 %}
{% when 'M' %}
{% assign variable = 77-55 %}
{% when 'N' %}
{% assign variable = 78-55 %}
{% when 'O' %}
{% assign variable = 79-55 %}
{% when 'P' %}
{% assign variable = 80-55 %}
{% when 'Q' %}
{% assign variable = 81-55 %}
{% when 'R' %}
{% assign variable = 82-55 %}
{% when 'S' %}
{% assign variable = 83-55 %}
{% when 'T' %}
{% assign variable = 84-55 %}
{% when 'U' %}
{% assign variable = 85-55 %}
{% when 'V' %}
{% assign variable = 86-55 %}
{% when 'W' %}
{% assign variable = 87-55 %}
{% when 'X' %}
{% assign variable = 88-55 %}
{% when 'Y' %}
{% assign variable = 89-55 %}
{% when 'Z' %}
{% assign variable = 90-55 %}
{% else %}
{% assign variable = char %}
{% endcase %}
{% assign iban_only_numbers = iban_only_numbers | append:INT(variable) %}
{% endfor %}
{% assign modulo = iban_only_numbers | modulo:97 %}
{% comment %}
{{ iban_only_numbers }} => {{ modulo }}
{% endcomment %}
{% assign validity_checker = false %}
{% if modulo != 1 %}
{% capture iban_warning %}
{::warningtext as="hover"}
{% t "Invalid IBAN number" %}
{:/warningtext}
{% endcapture %}
{% else %}
{% assign validity_checker = 0 %}
{% endif %}
{% endcapture %}
{% stripnewlines %}
|:----55%----
|:--5%---:
|--------:#+
{% newline %}
| {% t "IBAN Number" %}
|{{ iban_warning }}
| {% input custom.iban.number %}
{% endstripnewlines %}
This will create an input box in which you can input your Belgian IBAN Number, and will generate a warning if this is incorrect.