Returns the account balance (number of paid calculations) for the specified user account.Validates the given IBAN and returns BIC information (either the BIC which is associated with the account, or multiple BIC candidates, with the most likely suitable BIC listed first) and other information such as bank name, address, and presence of an IBAN on the Web. The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com. Instead of the password, you may also pass md5('validate_iban'.user.iban.password), that is, the MD5 hash of the concatenation of the function name, your user name, the IBAN, and your password. The account_holder parameter is optional; if you pass a non-empty value, the function will check if any other user of our service has reported that the given IBAN exists and belongs to the given account holder. We do not have complete coverage of all existing IBANs, so one cannot conclude much if we know nothing about an IBAN's existence, but if we do know that it exists, you can be pretty sure the IBAN is not only formally correct but also belongs to the given account holder.<br>
Output fields are:<br>
iban: the IBAN that was validated.<br>
result: 'passed' or 'failed' - for a valid or invalid IBAN<br>
return_code: a condensed representation of the results of various checks. Not all checks have necessarily been done (see the other fields to find out). The condensed representation is a number which is 0 if all supported checks were done and passed. Otherwise, it is the sum of one or more of the following numbers: 1=automatically appended a subaccount number; 2=account number does not contain a checksum; 4=did not check the checksum; 8=did not check the bank code; 32=warning: a subaccount number might need to be appended, but you need to check if this is really the case; 128=checksum error in account number; 256=bank code not found in directory; 512=wrong length for IBAN; 1024=wrong length for bank code; 2048=IBAN checksum error (digits 3 and 4); 4096=missing input data (such as country code); 8192=this country is not (yet?) supported.<br> This condensed return code can be used for a simple check such as: if the sum is less than 32, the result can be assumed to be correct; if it is in the range from 32 to 127, it might be correct but should be checked; if it is 128 or higher, there seems to be a more serious error. There is one exception to this rule: if it is 65536, this means that the return code is not set at all. This should not happen - please notify us if it does.<br>
checks: an array of the checks performed (can contain elements such as 'length', 'bank_code', 'account_number', 'iban_checksum').<br>
bic_candidates: an array of BICs that are associated with the given national bank code. May be empty or may contain one or more elements. The BICstruct element has the attributes bic, wwwcount, sampleurl, zip code, and city. If a wwwcount greater than zero is given, the BIC was harvested from the Web (and found on as many pages as indicated by wwwcount, for example at the URL given by sampleurl). If wwwcount is zero, the BIC comes from a national bank or the ECB. If city is given, this also indicates that the BIC comes from a national bank or the ECB. The given city does not necessarily reflect the location of the given branch - it can also be the location of the headquarters.<br>
country: the ISO country code (first two letters of the IBAN)<br>
bank_code: the national bank code. Part of the BIC for NL (where no national bank code exists).<br>
bank: bank name, if known<br>
bank_address: some address data, if known<br>
bank_url: URL of website, if known<br>
branch: branch name, if known<br>
branch_code: branch code, if known<br>
in_scl_directory: if at least one BIC is returned, this field is set to 'yes' or 'no', depending on whether the first returned BIC is listed in the German Bundesbank's SCL directory. If no BIC is returned, this field is left blank.<br>
sct: if in_scl_directory is set to 'yes', this field is set to 'yes' if a SEPA Credit Transfer is supported for the first returned BIC. If no SCT is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
sdd: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Direct Debit is supported for the first returned BIC. If no SDD is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
cor1: if in_scl_directory is set to 'yes', this field is set to 'yes' if D-1 Core SEPA Direct Debit is supported for the first returned BIC.
b2b: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Business to Business is supported for the first returned BIC. If no B2B is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
scc: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Cards Clearing is supported for the first returned BIC.
account_number: the domestic bank account number<br>
account_validation_method: name of the validation algorithm for the domestic account number<br>
account_validation: for German or Swiss account numbers, an explanation (in German)<br>
length_check: 'passed' or 'failed' - for the right number of characters for the given country<br>
account_check (not provided for every country): 'passed' or 'failed' (checksum validation; if the algorithm is unknown, or if there is no checksum, the result is 'passed' or empty).<br>
bank_code_check (not provided for every country): lookup of national bank code was successful ('passed') or not ('failed')<br>
iban_checksum_check: 'passed' or 'failed' (correctness of the two digits right after the country code in the IBAN)<br>
data_age (not given for all countries): age of the BIC and other bank-related data (not defined for data harvested from the Web). Format: yyyymmdd.<br>
iban_www_occurrences: the number of web pages where we have found the given IBAN. If this number is greater than zero, you can use the additional information from the fields www_seen_from until www_prominence for fraud prevention purposes (such as: judging if an IBAN really belongs to your client or if it was harvested from the Web and is used by people other than the real account holders).<br>
www_seen_from: the earliest date when we have found the IBAN. This is probably not the date when it appeared online because there is a delay until we notice a new IBAN on the Web.<br>
www_seen_until: the latest date when we have found the IBAN on a web page. It might have disappeared before then because there is, for technical reasons, a certain delay between crawling and evaluating pages.<br>
iban_url: the most prominent online occurrence of the IBAN (with prominence measured primarily by the rank given in the next field).<br>
url_rank: the number of websites which receive more traffic than this one. So, the lower this number, the more prominent the website.<br>
url_category: the thematic category (in natural language) of the most prominent URL, if known.
url_min_depth: the lowest depth where we found the URL, approximated by the number of forward slashes in the URL.<br>
www_prominence: this field is reserved for future use for a number which will represent the prominence of the URL, based on a combination of things such as rank, duration of online presence, and depth on the website.<br>
iban_reported_to_exist: if you have submitted the name of the account holder, and if at least one other user has reported the given IBAN to belong to the given account holder, this field will contain a number greater than zero (namely, the number of times this IBAN was reported to belong to the given account holder). If you have not submitted the account holder or if nobody has reported this IBAN to belong to the account holder you submitted, this field is set to zero.<br>
iban_last_reported: if the given IBAN was reported to belong to the given account holder, this field will contain the date in the format yyyymmdd when the IBAN was last reported to exist. If you did not submit the account holder or if nobody has confirmed the IBAN exists, this field is left empty.<br>
IBANformat: a string describing the IBAN format for the given country, for example: 'DEkk BBBB BBBB CCCC CCCC CC'.<br>
formatcomment: an explanation of the IBANformat string, for example: 'B = sort code (BLZ), C = account No.'<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Returns a list of possible IBANs for a given pattern. The pattern is an IBAN where one or two digits are replaced with a question
mark (?), which serves as a wild card. The purpose of this function is to restore an IBAN where one or two digits are illegible.<br>
Output fields are:<br>
iban_candidates: zero, one, or more IBANs which fit the given pattern and which are formally correct. If only one IBAN is returned, this is the only formally correct IBAN which fits the given pattern.<br>
result: ar error or success message in natural language.<br>
IBANformat: a string describing the IBAN format for the given country, for example: 'DEkk BBBB BBBB CCCC CCCC CC'.<br>
formatcomment: an explanation of the IBANformat string, for example: 'B = sort code (BLZ), C = account No.'<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Validates the given IBAN and checks whether the given BIC is listed in the SCL reachability directory, and whether its country code matches the country code in the IBAN. This function does not check whether the given BIC is actually associated with the given BIC - for this check, please use the function validate_iban and check whether the given BIC is listed among the BIC candidates returned by validate_iban.
The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com. The account_holder parameter is optional; if you pass a non-empty value, the function will check if any other user of our service has reported that the given IBAN exists and belongs to the given account holder. We do not have complete coverage of all existing IBANs, so one cannot conclude much if we know nothing about an IBAN's existence, but if we do know that it exists, you can be pretty sure the IBAN is not only formally correct but also belongs to the given account holder.<br>
Output fields are:<br>
iban: the IBAN that was validated.<br>
result: 'passed' or 'failed' - for a valid or invalid IBAN<br>
return_code: a condensed representation of the results of various checks. Not all checks have necessarily been done (see the other fields to find out). The condensed representation is a number which is 0 if all supported checks were done and passed. Otherwise, it is the sum of one or more of the following numbers: 1=automatically appended a subaccount number; 2=account number does not contain a checksum; 4=did not check the checksum; 8=did not check the bank code; 32=warning: a subaccount number might need to be appended, but you need to check if this is really the case; 128=checksum error in account number; 256=bank code not found in directory; 512=wrong length for IBAN; 1024=wrong length for bank code; 2048=IBAN checksum error (digits 3 and 4); 4096=missing input data (such as country code); 8192=this country is not (yet?) supported.<br> This condensed return code can be used for a simple check such as: if the sum is less than 32, the result can be assumed to be correct; if it is in the range from 32 to 127, it might be correct but should be checked; if it is 128 or higher, there seems to be a more serious error. There is one exception to this rule: if it is 65536, this means that the return code is not set at all. This should not happen - please notify us if it does.<br>
checks: an array of the checks performed (can contain elements such as 'length', 'bank_code', 'account_number', 'iban_checksum').<br>
bic_candidates: an array of BICs that are associated with the given national bank code. May be empty or may contain one or more elements. The BICstruct element has the attributes bic, wwwcount, sampleurl, zip code, and city. If a wwwcount greater than zero is given, the BIC was harvested from the Web (and found on as many pages as indicated by wwwcount, for example at the URL given by sampleurl). If wwwcount is zero, the BIC comes from a national bank or the ECB. If city is given, this also indicates that the BIC comes from a national bank or the ECB. The given city does not necessarily reflect the location of the given branch - it can also be the location of the headquarters.<br>
country: the ISO country code (first two letters of the IBAN)<br>
bank_code: the national bank code. Part of the BIC for NL (where no national bank code exists).<br>
bank: bank name, if known<br>
bank_address: some address data, if known<br>
bank_url: URL of website, if known<br>
branch: branch name, if known<br>
branch_code: branch code, if known<br>
in_scl_directory: if at least one BIC is returned, this field is set to 'yes' or 'no', depending on whether the first returned BIC is listed in the German Bundesbank's SCL directory. If no BIC is returned, this field is left blank.<br>
sct: if in_scl_directory is set to 'yes', this field is set to 'yes' if a SEPA Credit Transfer is supported for the first returned BIC. If no SCT is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
sdd: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Direct Debit is supported for the first returned BIC. If no SDD is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
cor1: if in_scl_directory is set to 'yes', this field is set to 'yes' if D-1 Core SEPA Direct Debit is supported for the first returned BIC.
b2b: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Business to Business is supported for the first returned BIC. If no B2B is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
scc: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Cards Clearing is supported for the first returned BIC.
account_number: the domestic bank account number<br>
account_validation_method: name of the validation algorithm for the domestic account number<br>
account_validation: for German or Swiss account numbers, an explanation (in German)<br>
length_check: 'passed' or 'failed' - for the right number of characters for the given country<br>
account_check (not provided for every country): 'passed' or 'failed' (checksum validation; if the algorithm is unknown, or if there is no checksum, the result is 'passed' or empty).<br>
bank_code_check (not provided for every country): lookup of national bank code was successful ('passed') or not ('failed')<br>
iban_checksum_check: 'passed' or 'failed' (correctness of the two digits right after the country code in the IBAN)<br>
data_age (not given for all countries): age of the BIC and other bank-related data (not defined for data harvested from the Web). Format: yyyymmdd.<br>
IBANformat: a string describing the IBAN format for the given country, for example: 'DEkk BBBB BBBB CCCC CCCC CC'.<br>
formatcomment: an explanation of the IBANformat string, for example: 'B = sort code (BLZ), C = account No.'<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Creates a PDF transfer form.
The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com.
Instead of the password, you may also pass md5('transfer_form'.user.kind.date.toaccount.tobankcode.fromaccount.frombankcode.amount.password), that is, the MD5 hash of the concatenation of the function name, your user name, the listed parameters, and your password.
<br>
Output fields are:<br>
url: the URL of the resulting PDF form. Please download this file within 24 hours. It will be deleted thereafter.<br>
result: 'passed' if both bank accounts are successfully validated and no other error has occured. Otherwise, this field contains an error message.<br>
validation_to: the results of various checks in the datastructure used by the function validate_iban, for the first specified account (destination).<br>
validation_from: the results of various checks in the datastructure used by the function validate_iban, for the second specified account (source).<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Validates the given Creditor Identifier. The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com.
Instead of the password, you may also pass md5('validate_credit_identifier'.user.creditor_identifier.password), that is, the MD5 hash of the concatenation of the function name, your user name, the creditor identifier, and your password.<br>
Output fields are:<br>
id: the creditor identifier which was validated.<br>
result: 'passed' or 'failed' - for a valid or invalid Creditor Identifier.<br>
return_code: a condensed representation of the results of various checks. Not all checks have necessarily been done (see the other fields to find out). The condensed representation is a number which is 0 if all supported checks were done and passed. Otherwise, it is the sum of one or more of the following numbers: 512=wrong length of the Creditor Identifier; 1024=invalid country code (no SEPA country); 2048=ID checksum error (digits3 and 4).<br> If the return code is 65536, this means that it is not set at all. This should not happen - please notify us if it does.<br>
checks: an array of the checks performed (can contain elements such as 'length' and 'checksum').<br>
country: the ISO country code (first 2 digits of the ID).<br>
creditor_business_code: the 3 digits which are chosen by the creditor, for instance to keep track of different branches.<br>
national_id: the domestic ID number which identifies the creditor.<br>
length_check: 'passed' or 'failed' - for the right number of characters for the given country<br>
checksum_check: 'passed' or 'failed' (correctness of the two digits right after the country code in the Creditor Identifier)<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Calculates an IBAN for the given domestic account number. The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com. Instead of the password, you may also pass md5('calculate_iban'.user.account.password), that is, the MD5 hash of the concatenation of the function name, your user name, the account number, and your password.<br>
Parameters are:<br>
country - the 2-letter ISO country code.<br>
bankcode - The national bank code (BC number for Switzerland). For the following countries, the whole domestic account number, including any bank codes and branch codes, should be passed with the account parameter, and the bankcode parameter should stay empty: IT, BE, ES, EE, SK, CZ, HU, LU, PL, FR, GR<br>
account - the domestic account number<br>
user - your unique user ID<br>
password - your password<br>
bic - the BIC (or at least a sufficiently long prefix) for GB, NL (GB: web crawl can be used, but does not provide all BICs. If the bic parameter is omitted, and the BIC is not found in the Web crawl, this will be shown with an error message in the output field result). This parameter is ignored for countries other than GB and NL.<br>
legacy_mode: If set to 1 for Switzerland, the calculator does not use the external Java program provided by Swiss Interbank Clearing. This parameter has no effect for countries other than Switzerland. For Switzerland, the Java program validates account numbers, but is slower and requires all characters to be entered correctly (such as dots, hyphens etc.). The legacy mode is faster, but does not validate account numbers, and is less likely to produce correct results.<br><br>
Output fields are:<br>
result: 'passed' or 'failed' - for a valid or invalid account number/bank code/country combination<br>
return_code: a condensed representation of the results of various checks. Not all checks have necessarily been done (see the other fields to find out). The condensed representation is a number which is 0 if all supported checks were done and passed. Otherwise, it is the sum of one or more of the following numbers: 1=automatically appended a subaccount number; 2=account number does not contain a checksum; 4=did not check the checksum; 8=did not check the bank code; 32=warning: a subaccount number might need to be appended, but you need to check if this is really the case; 128=checksum error in account number; 256=bank code not found in directory; 512=wrong length for account number; 1024=wrong length for bank code; 4096=missing input data (such as country code); 8192=this country is not (yet?) supported.<br> This condensed return code can be used for a simple check such as: if the sum is less than 32, the result can be assumed to be correct; if it is in the range from 32 to 127, it might be correct but should be checked; if it is 128 or higher, there seems to be a more serious error. There is one exception to this rule: if it is 65536, this means that the return code is not set at all. This should not happen - please notify us if it does.<br>
ibanrueck_return_code: another condensed representation of the results. For details, see http://en.iban-bic.com/doc_calculate_iban.html<br>
iban: the calculated IBAN (if the domestic account number/bank code had the right length; an IBAN may be provided even if the account number validation fails.)<br>
checks: an array of the checks performed (can contain elements such as 'length', 'bank_code', 'account_number').<br>
bic_candidates: an array of BICs that are associated with the given national bank code. May be empty or may contain one or more elements. The bic element has the attributes bic, wwwcount, sampleurl, zip code, and city. If a wwwcount greater than zero is given, the BIC was harvested from the Web (and found on as many pages as indicated by wwwcount, for example on the page indicated by sampleurl). If wwwcount is zero, the BIC comes from a national bank or the ECB. If city is given, this also indicates that the BIC comes from a national bank or the ECB. The given city does not necessarily reflect the location of the given branch - it can also be the location of the headquarters.<br>
country: the ISO country code (first two letters of the IBAN)<br>
bank_code: the national bank code, if it exists. BIC for NL (where no national bank code exists), BC-Nummer for Switzerland. There are functions provided for obtaining Dutch BICs and Swiss BC numbers.<br>
alternative_bank_code: very few banks embed a bank code in the IBAN that is different from the bank code communicated to clients. If this might be the case, this field is filled with the alternative possibility. Otherwise, it is empty.<br>
bank: bank name, if known<br>
bank_address: some address data, if known<br>
bank_url: URL of website, if known<br>
branch: branch name, if known<br>
branch_code: branch code, if known<br>
in_scl_directory: if at least one BIC is returned, this field is set to 'yes' or 'no', depending on whether the first returned BIC is listed in the German Bundesbank's SCL directory. If no BIC is returned, this field is left blank.<br>
sct: if in_scl_directory is set to 'yes', this field is set to 'yes' if a SEPA Credit Transfer is supported for the first returned BIC. If no SCT is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
sdd: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Direct Debit is supported for the first returned BIC. If no SDD is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
cor1: if in_scl_directory is set to 'yes', this field is set to 'yes' if D-1 Core SEPA Direct Debit is supported for the first returned BIC.
b2b: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Business to Business is supported for the first returned BIC. If no B2B is supported, the field is set to 'no'. If no BIC is returned, the field is left blank.<br>
scc: if in_scl_directory is set to 'yes', this field is set to 'yes' if SEPA Cards Clearing is supported for the first returned BIC.
account_number: the domestic bank account number<br>
alternative_account_number: sometimes, a subaccount number needs to be appended to a German account number before it is embedded in an IBAN. If this is the case, the extended account number appears in this field.<br>
account_validation_method: name of the validation algorithm for the domestic account number<br>
account_validation: for German or Swiss account numbers, an explanation (in German)<br>
length_check: 'passed', 'failed for bank code', or 'failed for account number' - for the right number of characters for the given country and account number/bank code<br>
account_check (not provided for every country): 'passed' or 'failed'; for Germany also possible: passed after correction - in that case see alternative_account_number (checksum validation; if the algorithm is unknown, or if there is no checksum, the result is 'passed' or empty).<br>
bank_code_check (not provided for every country): lookup of national bank code was successful ('passed') or not ('failed'); if an alternative bank code might be necessary for the IBAN, this information is added after the word 'passed' in this field.<br>
bic_plausibility_check: NL only. Checks how often account numbers of the given bank actually have the given prefix. Since this does not guarantee anything, this check is ignored for the overall pass/fail decision that is reported in the result field. But for some Dutch banks, it can give you an idea of how likely it is that the right BIC was provided.<br>
data_age (not given for all countries): age of the BIC and other bank-related data (not defined for data harvested from the Web). Format: yyyymmdd.<br>
IBANformat: a string describing the IBAN format for the given country, for example: 'DEkk BBBB BBBB CCCC CCCC CC'.<br>
formatcomment: an explanation of the IBANformat string, for example: 'B = sort code (BLZ), C = account No.'<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Validates up to 50 IBANs with one function call. The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com. Instead of the password, you may also pass md5('validate_iban_batch'.user.ibans.password), that is, the MD5 hash of the concatenation of the function name, your user name, the IBAN numbers, and your password.<br>
Parameters are:<br>
ibans - a semicolon-separated list of the IBANs to validate.<br>
user - your unique user ID<br>
password - your password<br>
Output fields are the same as for the function validate_iban (see there), but in an array with as many entries as the number of accounts provided in the ibans parameter.<br>Calculates up to 50 IBANs with one function call. The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com. Instead of the password, you may also pass md5('calculate_iban_batch'.user.accounts.password), that is, the MD5 hash of the concatenation of the function name, your user name, the account numbers, and your password.<br>
Parameters are:<br>
countries - a semicolon-separated list of the 2-letter ISO country codes.<br>
bankcodes - a semicolon-separated list of the domestic bank codes (BC number for Switzerland). For the following countries, the whole domestic account number, including any bank codes and branch codes, should be passed with the account parameter, and the bankcode parameter should stay empty: IT, BE, ES, EE, SK, CZ, HU, LU, PL, FR, GR<br>
accounts - a semicolon-separated list of the domestic account numbers<br>
user - your unique user ID<br>
password - your password<br>
bics - a semicolon-separated list of the BIC codes (or at least a sufficiently long prefix) for GB, NL (GB: web crawl can be used, but does not provide all BICs. If the bics parameter is omitted, and the BIC is not found in the Web crawl, this will be shown with an error message in the output field result). This parameter is ignored for countries other than GB and NL.<br>
legacy_mode: If set to 1 for Switzerland, the calculator does not use the external Java program provided by Swiss Interbank Clearing. This parameter has no effect for countries other than Switzerland. For Switzerland, the Java program validates account numbers, but is slower and requires all characters to be entered correctly (such as dots, hyphens etc.). The legacy mode is faster, but does not validate account numbers, and is less likely to produce correct results.<br><br>
Output fields are the same as for the function calculate_iban (see there), but in an array with as many entries as the number of accounts provided in the accounts parameter.<br>Validates the given (United States) ABA routing number. The user ID and password you need to pass with the request are the same you use for logging in on the website iban-bic.com.
Instead of the password, you may also pass md5('validate_ABA'.user.routing_number.password), that is, the MD5 hash of the concatenation of the function name, your user name, the routing number, and your password.<br>
Output fields are:<br>
routing_number: the routing number which was validated.<br>
result: 'passed' or 'failed' - for a formally valid or invalid routing number. Checks include length, numerical characters, known number ranges, and the embedded checksum.<br>
return_code: a condensed representation of the checks. This field contains the sum of the following numbers:<br>
512 if the format is wrong (not all characters numeric, wrong length, invalid first two digits),<br>
256 if the checksum is wrong.<br>
OKchecksum: yes or no, depending on whether the checksum is correct.<br>
OKformat: yes or no, depending on whether the length is correct, there are no characters other than numbers, and the first two digits correspond to number ranges which are actually in use.<br>
name: bank name, if known.<br>
state: state or territory of the bank, if known.<br>
city: city of the bank, if known<br>
funds_transfer: yes or no, depending on whether the routing number is eligible, or empty if unknown.<br>
book_entry_securities_transfer: yes or no, depending on whether the routing number is eligible for Book-Entry Securities transfer, or empty if unknown.<br>
settlement_only: yes or no, depending on whether the status of the routing number is Settlement-Only, or empty if unknown.<br>
range: a description of the number range (first two digits) in natural language.<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Returns a list of Dutch banks and their BICs. Instead of the password, you may also pass md5('get_dutch_banks'.user.password), that is, the MD5 hash of the concatenation of the function name, your user name, and your password.<br>
Dutch domestic account numbers do not contain reliable information about the bank. There is a bank code (of variable length) embedded in Dutch account numbers, but it is possible for bank clients to keep an account number when switching banks, and therefore there exist accounts where the bank code does not match the bank. When calculating a Dutch IBAN, you need to pass an account number and a BIC to the function calculate_iban; the BIC can be picked from the list which is returned by the function get_dutch_banks.<br>
Output fields:<br>
result: empty if everything is okay, otherwise an error message.<br>
banks: an array of bank structs with the fields:<br>
* name: the name of the bank.<br>
* bic: the BIC.<br>
* bankcode: this field is left empty for Dutch banks.<br>
* address: this field is left empty.<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Returns a list of Swiss banks and their BC numbers. Instead of the password, you may also pass md5('get_swiss_banks'.user.password), that is, the MD5 hash of the concatenation of the function name, your user name, and your password.<br>
Due to the large number of BC numbers, this function needs to be used in two steps:<br>
1. If called with an empty bank name, get_swiss_banks returns a list of all names of Swiss banks, but still without BC numbers.<br>
2. If called with one of the bank names that were obtained in step 1, the function returns all BC numbers for the given bank.<br>
Output fields:<br>
result: empty if everything is okay, otherwise an error message.<br>
banks: an array of bank structs with the fields:<br>
* name: the name of the bank.<br>
* bic: if the function was called with a non-empty bank name, the BIC. Otherwise, this field is left empty.<br>
* bankcode: if the function was called with a non-empty bank name as first parameter, the bankcode field contains a BC number. Otherwise, it is empty.<br>
* address: empty.<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Given some search terms (one or more words separated by space characters), optionally the country code (can be empty if all countries should be searched), optionally the bankcode (can be emtpy if the bank code is part of what the user is looking for), the maximum number of items to return, and user ID/password, returns a list of matching banks with additional information (varying by country, this information can include: national bank code, bank name, bank address, and BIC).
Instead of the password, you may also pass md5('find_bank'.user.searchterms.password), that is, the MD5 hash of the concatenation of the function name, your user name, the search terms, and your password.<br>
Output fields:<br>
result: empty if everything is okay, otherwise an error message.<br>
banks: an array of bank structs with the fields:<br>
* name: the name of the bank.<br>
* bic: the BIC.<br>
* bankcode: the national bank code.<br>
* address: any address data we have about the bank.<br>
balance: the number of remaining calculations you can do before having to recharge your account. This does not apply to customers with a subscription which includes an unlimited number of calculations.Input:<br/>
- account_holder: the name of the holder of an account whose IBAN you intend to submit with a later call to the function submit_hashes.<br/> Returns "OK" in the "result" field if there was no error (or an error message otherwise), and a list one or more values to be used as salt.<br>Input:<br/>
- IBAN: an IBAN you know exists.<br/>
- account_holder: the name of the holder of the account whose IBAN is given as the first parameter.<br/> Returns "OK" in the "result" field if there was no error (or an error message otherwise), and your new account balance, which will be increased if you submit an IBAN/account holder combination that is new to us.<br>Input:<br/>
- hashes: A semicolon-separated list of SHA256 hashes of the one IBAN you submit with this function call, salted in turn with each of the salt values you have generated from the account holder name by using the function get_salts in an earlier step. Append the salt value to the IBAN before applying the SHA256 function (only one salt value for each hash). Example: if the IBAN is AT131490022010010999, and one of the salt values you got is 61477b49a08f3320dec8390c62fae46337fb52937153a2cd5ee1f326f523ba8c, one of your hashes you submit must be sha256('AT13149002201001099961477b49a08f3320dec8390c62fae46337fb52937153a2cd5ee1f326f523ba8c') = 91b75dbb252fe1b78373b86bb8ed7eed586d349a242aa7835bf0da23289eadee.<br/>
- salts: A semicolon-separated list of the salts you have received from get_salts and used for generating the hashes submitted with this function call. May be left empty if we have configured your account as especially trustworthy.<br/>
- IBANprefix: the first 10 characters of the IBAN. May be left empty if we have configured your account as especially trustworthy.<br/>
Returns "OK" in the "result" field if there was no error (or an error message otherwise), and your new account balance, which will be increased if you submit an IBAN/account holder combination that is new to us.<br>Input:<br/>
- a condition for what you consider 'supported'. You may build an overall condition by combining various conditions with AND, OR, and parentheses. The following conditions are available:<br/>* IBAN: an IBAN is calculated and returned.<br/>* unique_BIC: if a BIC code exists, it is returned. Only one BIC code is returned in this case.<br/>* some_BICs: zero, one, or more BIC candidates may be returned. Countries which fulfil the condition 'unique_BIC' are considered to also fulfil 'some_BICs'.<br/>* name_based_BICs: zero, one, or more BIC candidates may be returned. Unlike 'some_BICs', these may have been picked based not on one BIC/bank code directory, but by combining two directories based on the bank names, which is slightly more error-prone. Countries which fulfil the condition 'some_BICs' are considered to also fulfil 'name_based_BICs'.<br/>* account_validated: if a checksum exists in an account number, it will be checked.<br/>* bankcode_validated: the bank code is validated by looking it up in a table of bank codes.<br/>If left blank, the default condition is 'IBAN AND some_BICs AND (account_validated OR bankcode_validated)'.<br/>- language: the desired language for the human-readable list of countries which will be returned.<br/> Returns "OK" in the "result" field if there was no error (or an error message otherwise), and a list of all supported countries both as a list of 2-digit country codes and as a list of human-readable country names.<br>THIS IS A LEGACY FUNCTION. PLEASE DO NOT USE IT ANYMORE. USE supported_countries INSTEAD.<br/>Input: a 2-digit country code (as it is used in IBANs). Returns "yes" or "no" as information about the specified country, and also a list of all supported countries as 2-digit country codes. Because you get the full list, you do not have to specify any country in the request. If you do not specify a country, this function still returns the list of all supported countries. <br>Input: params is an array of key-value-pairs. For the first call, it should contain something like this (in PHP notation): ("country"=>"DE", "language"=>0). The country should be given using the 2-letter notation which is also used for the IBANs. The desired language of the field labels should be given using the same numbers that you can see on iban-rechner.de when hovering over the language links on the top right (thus e. g. 0 for German).<br>
This function returns an array of fields as well as the information whether another iteration is needed. The latter is given in the field "done" as "no" or "yes". Every field (element of the field array) has the properties:<br>id: an identifier.<br>type: hidden/text/select/submit/static for a hidden field, text edit field, drop-down box, submit button, or static text, respectively.<br>value: a value (possibly empty).<br>label: text which should be shown to the left of the field (or on it, if it happens to be a button).<br>optionids: an array of numerical IDs. This array has the same length as the "options" array (see below). One of these IDs should be returned if the corresponding item from the "options" array was chosen.<br>options: an array of strings containing the possible values for a drop-down box.<br>length: the maximum expected length of the value. A 0 should be interpreted as "not applicable" or "not specified".<br>newline: yes or no; it is suggested to place this field into the same row as the previous one if "newline" is no, and to start a new line otherwise.<br>
If "done" is "no", this function should be called again. All fields which were returned in the previous call of get_form should be passed back to it as part of the array of key-value-pairs. For each such pair, the key should equal the "id" property of the field, and the value should equal either a user-supplied value (for editable fields) or the value which has been returned by get_form (for hidden or static fields).<br>
If "done" is "yes", this means that now you can call the function calculate_iban; the list of returned fields now corresponds with the parameters of calculate_iban.
<br>