IBAN potrjevanje API V4 dokumentacija

Ta API je del naše IBAN Suite storitve

1. Kaj je novo v V4 API-ju za IBAN potrjevanje?


Nenehno si prizadevamo izboljšati naše storitve in zagotoviti boljše rešitve za potrjevanje plačil.
Morda ste opazili, da je IBAN Suite API preskočil različico med V2 in V4.
To je bilo narejeno, ker smo združili druge API-je, kot je SortWare v3, v eno samo verzijo, V4.

Seznam sprememb ( od v2 do v4 ):


Dodano novo Potrjevanje (napaka 206 in uspeh 006) - API V4 zdaj preverja nedovoljene znake pri vnosu IBAN-a.
Nova koda napake - 206 (Potrjevanje neuspešno) s sporočilom: IBAN vsebuje nedovoljene znake.
Koda za to Potrjevanje je - 006 (Potrjevanje uspešno) s sporočilom: IBAN ne vsebuje nedovoljenih znakov
Ta koda napake vam bo dala več informacij v primeru, če boste v naš sistem poslali IBAN z ne-alfanumeričnimi znaki.
Prejšnje vedenje je bilo odstranitev vseh ne-alfanumeričnih znakov in izvedba potrditve

Dodano novo Potrjevanje (napaka 207 in uspeh 007) - država ne podpira IBAN
Ta sloj za potrditev bo poročal, ali je koda države vnesenega IBAN-a del uradnih držav, ki podpirajo IBAN plačila.
Na primer, oseba lahko ustvari IBAN za Združene države, ki uporablja nezanesljivo programsko opremo tretjih oseb
Takšen IBAN lahko izgleda kot US64SVBKUS6S3300958879
Opazili boste, da je kontrolna številka pravilna in bo šla skozi modul preverjanja, vendar to ni veljaven IBAN, ker ZDA ne uporabljajo IBAN za bančna plačila.


2. Značilnosti


API za IBAN Potrjevanje V4 vam omogoča naslednje:

  • Preverite, ali je IBAN veljaven z uporabo kontrolnih številk
  • Preverite, ali ima IBAN veljavne številke domače banke in številke računa *
  • Preverite dolžino IBAN za določeno državo
  • Preverite IBAN strukturo / format za določeno državo
  • Preverite IBAN znake (iskanje ne-alfanumeričnih znakov)
  • Preverite, ali koda države podpira IBAN standard

  • Identificirajte banko, ki je izdala IBAN
  • Identificirajte državo in kodo države IBAN-a
  • Identificirajte naslov banke, ki je izdala IBAN
  • Identificirajte BIC kodo banke
  • Prepoznajte SEPA podporo banke: B2B, COR1, SCC, SCT, SDD

* Potrjevanje bančne kode in številke računa se izvaja samo za nekatere banke in države.

3. API V4 Zahteve



Sistem API omogoča avtomatizacijo IBAN potrjevanje prek preprostega HTTP GET ali POST zahtevka.
Sprejeti parametri so navedeni v spodnji tabeli:

Naziv polja Dolžina Tip Opis
IBAN Max 100 String IBAN, ki ga želite preveriti.
api_key 128 String Vaš osebni API ključ.
format 5 String Odgovor podpira format XML in JSON.

* Za pridobitev API ključa se obrnite na naš naslov contact@iban.com ali sklenite naročnino na naši strani za naročanje.

PRIMER - Potrdite IBAN
Uporabite spodnje primere kod za testiranje API-ja v najpogostejših programskih jezikih.

curl "https://api.iban.com/clients/api/v4/iban/" \
    -X POST \
    -d format=json \
	-d api_key=[YOUR_API_KEY] \
	-d iban=DE46500700100927353010
<?php
$curl = curl_init();

$post = [
    'format' => 'json',
    'api_key' => '[YOUR_API_KEY]',
    'iban'   => 'DE46500700100927353010',
];

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.iban.com/clients/api/v4/iban/',
	CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $post
));

$output = curl_exec($curl);
$result = json_decode($output);

print_r($result);

curl_close($curl);
?>
require 'net/http'

uri = URI('https://api.iban.com/clients/api/v4/iban/')

res = Net::HTTP.post_form(uri, "format" => "json", "api_key" => "[YOUR_API_KEY]","iban" => "DE46500700100927353010")

puts res.body
import requests

post_data = {'format':'json', 'api_key':'[YOUR_API_KEY]','iban':'DE46500700100927353010'}

response = requests.post('https://api.iban.com/clients/api/v4/iban/',post_data)
print(response.text)
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $server_endpoint = "https://api.iban.com/clients/api/v4/iban/";

my $format = 'json';
my $api_key = '[YOUR_API_KEY]';
my $iban = 'DE02100500000024290661';


my $req = HTTP::Request->new( POST => $server_endpoint );
$req->content_type('application/x-www-form-urlencoded');

my $post_data = 'format=' . $format . '&api_key=' . $api_key . '&iban=' . $iban;

$req->content($post_data);

my $resp = $ua->request($req);

if ( $resp->is_success ) {
    my $message = $resp->decoded_content;
	print $message;
}

JAVA

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;


public class ibanapi {

	private final String USER_AGENT = "API Client/1.0";

	public static void main(String[] args) throws Exception {

		ibanapi http = new ibanapi();

		
		System.out.println("\nTesting API - Send API POST request");
		http.sendPost();

	}

	// HTTP POST request
	private void sendPost() throws Exception {

		String url = "https://api.iban.com/clients/api/v4/iban/";
		URL obj = new URL(url);
		HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

		//add reuqest header
		con.setRequestMethod("POST");
		con.setRequestProperty("User-Agent", USER_AGENT);
		con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

		String urlParameters = "api_key=[YOUR_API_KEY]&format=json&iban=DE02100500000024290661";

		// Send post request
		con.setDoOutput(true);
		DataOutputStream wr = new DataOutputStream(con.getOutputStream());
		wr.writeBytes(urlParameters);
		wr.flush();
		wr.close();

		int responseCode = con.getResponseCode();
		System.out.println("\nSending 'POST' request to URL : " + url);
		System.out.println("Post parameters : " + urlParameters);
		System.out.println("Response Code : " + responseCode);

		BufferedReader in = new BufferedReader(
		new InputStreamReader(con.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();

		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();

		//print result
		System.out.println(response.toString());

	}

}

.NET

public static void Main(string[] args)
		{						
			var request = (HttpWebRequest)WebRequest.Create("https://api.iban.com/clients/api/v4/iban/");
 
			var postData = "api_key=[YOUR_API_KEY]";
			 postData += "&format=json";
			 postData += "&iban=DE02100500000024290661";
			 
			var data = Encoding.ASCII.GetBytes(postData);
			 
			request.Method = "POST";
			request.ContentType = "application/x-www-form-urlencoded";
			request.ContentLength = data.Length;
			 
			using (var stream = request.GetRequestStream())
			{
			 stream.Write(data, 0, data.Length);
			}
			 
			var response = (HttpWebResponse)request.GetResponse();
			 
			var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
			
			Console.WriteLine(responseString);
			
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}

NODE

var request = require('request');

var headers = {
    'User-Agent':       'IBAN API Client/0.0.1',
    'Content-Type':     'application/x-www-form-urlencoded'
}

var options = {
    url: 'https://api.iban.com/clients/api/v4/iban/',
    method: 'POST',
    headers: headers,
    form: {'api_key': '[YOUR_API_KEY]', 'format': 'json', 'iban': 'GB04BARC20474473160944'}
}

request(options, function (error, response, body) {
    if (!error && response.statusCode == 200) {
     
		var data = JSON.parse(body);

		console.log(data.errors);
		
		console.log("Bank Name: " + data.bank_data.bank);
		console.log("Bank BIC: " + data.bank_data.bic);
		console.log("Bank City: " + data.bank_data.city);
		console.log("Bank Address: " + data.bank_data.address);
		console.log("Bank Zip: " + data.bank_data.zip);
		console.log("Bank Phone: " + data.bank_data.phone);
		console.log("Bank FAX: " + data.bank_data.fax);
		console.log("Bank www: " + data.bank_data.www);
		console.log("Bank email: " + data.bank_data.email);
		console.log("Bank Country Name: " + data.bank_data.country);
		console.log("Bank Country Code: " + data.bank_data.country_iso);
		console.log("Domestic Account Number: " + data.bank_data.account);
		
    }
})


Primer uporabe API-ja za IBAN potrjevanje z GET zahtevo najdete spodaj:

https://api.iban.com/clients/api/v4/iban/?api_key=key&format=xml&iban=IBAN

Where:
  • key je vaš API ključ
  • IBAN, poslan na potrjevanje z modulom API.
  • xml je format odgovora. Lahko se uporabi tudi ključna beseda json za odgovor v formatu json.

Ko je HTTP GET ali POST zahteva opravljena s pravilnim API ključem , sistem vrne rezultate v določenem formatu. Primer odgovora lahko najdete v naslednji rubriki: “API struktura odgovora”

4. API V4 odzivna struktura

Spodaj je na voljo XSD shema z API odgovori:




	 
		   
				 
					   
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
					   
				 
		   
		   
	 



Podroben opis vrnjenih "bank_data" polj je prikazan v spodnji tabeli:

Naziv polja Dolžina Tip Opis
BIC Max 11 String BIC koda banke izdajateljice / podružnice ali institucije
BANK Max 256 String Ime banke / institucije, ki je izdala IBAN
BRANCH Max 256 String Ime določene bačne podružnice, če je na voljo
COUNTRY Max 32 String Polno ime države izvora npr.. “Združene države”
COUNTRY_ISO 2 String Dvočrkovna koda države, npr. US, UK, AU, FR … itd.
CITY Max 128 String Mesto banke izdajateljice.
STATE Max 128 String Ime države, v kateri se banka / podružnica nahaja.
ZIP Max 11 String Poštna številka mesta.
ADDRESS Max 128 String Naslov banke izdajateljice.
ACCOUNT Max 128 String Številka domačega bančnega računa, pridobljena iz IBAN-a.
Podroben opis vrnjenih "sepa_data" polj je prikazan v spodnji tabeli:

Naziv polja Dolžina Tip Opis
SCT Max 3 String Ali ta banka podpira SEPA Credit Transfer.
SDD Max 3 String Ali ta banka podpira SEPA Direct Debit.
COR1 Max 3 String Ali ta banka podpira SEPA COR1.
B2B Max 3 String Ali ta banka podpira SEPA Business to Business.
SCC Max 3 String Ali ta banka podpira SEPA Card Clearing.


Primer XML odgovora iz API-ja za IBAN potrjevanje bi bil:

	
		BARCGB22
		INTERNATIONAL BANKING 2
		BARCLAYS BANK UK PLC
		
PO Box 69999 1 Churchill Place Canary Wharf
London E14 1QE 020 71147000 GB 73160944
DA DA DA DA NE 006 IBAN ne vsebuje nedovoljenih znakov 001 Kontrolna številka IBAN-a je pravilna 002 Kontrolna številka računa je pravilna 005 Struktura IBAN-a je pravilna 003 Dolžina IBAN-a je pravilna 007 Država podpira IBAN standard

5. API V4 kode stanja

Matematična kontrolna številka in format potrjevanje se vrne v polju "validations"
V v4 različici API-ja smo vsako potrjevanje ločili na njegov lasten predmet, da bi olajšali dostop do vsake določene validacije v kodi.
To v bistvu pomeni, da lahko namesto ponavljanja skozi polje "validations" preprosto navedete določen predmet validacije s njegovim nazivom, kot je $ validations-> structure;

Koda stanja Tip Opis
301 Napaka računa API ključ ni veljaven
302 Napaka računa Naročnina potekla
303 Napaka računa Ni razpoložljivih poizvedb
304 Napaka računa Nimate dostopa do tega API-ja
305 Napaka računa IP naslov ni dovoljen
201 Potrjevanje neuspešno Kontrolna številka računa ni pravilna
202 Potrjevanje neuspešno Kontrolna številka IBAN-a ni pravilna/td>
203 Potrjevanje neuspešno Dolžina IBAN-a ni pravilna
205 Potrjevanje neuspešno Struktura IBAN-a ni pravilna
206 Potrjevanje neuspešno IBAN vsebuje nedovoljene znake
207 Potrjevanje neuspešno Država ne podpira IBAN standard
001 Potrjevanje uspešno Kontrolna številka IBAN-a je pravilna
002 Potrjevanje uspešno Kontrolna številka računa je pravilna
003 Potrjevanje uspešno Dolžina IBAN-a je pravilna
004 Potrjevanje uspešno Kontrolna številka računa se za to banko ali podružnico ne izvaja
005 Potrjevanje uspešno Struktura IBAN-a je pravilna
006 Potrjevanje uspešno IBAN ne vsebuje nedovoljenih znakov
007 Potrjevanje uspešno Država podpira IBAN standard