PSD2 je obećao jedan API za svaku banku u Europi. Dobili smo jednu obitelj specifikacija i nekoliko stotina njezinih tumačenja. Nakon pet godina izgradnje i vođenja konektora za informacije o računima i za iniciranje plaćanja za klijente diljem baltičkih zemalja, obrazac je jasan: prva banka traje tjedan dana, peta traje dan, a onda sljedeća neočekivano traje mjesec dana.
Tijek pristanka mjesto je gdje se projekti zaglave
API pozivi lak su dio posla. Teški dio je životni ciklus pristanka - kako korisnik odobrava vaš pristup, koliko dugo to odobrenje traje i što se događa kada istekne u 03:00 u nedjelju.
- Neke banke izdaju pristanke koji vrijede 90 dana i tiho ih obnavljaju; druge zahtijevaju potpunu ponovnu autentifikaciju.
- Tijekovi pristanka u testnom okruženju redovito se razlikuju od onih u produkciji. Predvidite drugi krug integracije nakon pokretanja u produkciju.
- Taksonomije grešaka nisu dosljedne: isti istekli pristanak može se pojaviti kao
401,403, ili - u jednom nezaboravnom slučaju - kao200s praznim popisom transakcija.
Ovaj posljednji slučaj zaslužuje naglasak: prazan odgovor nije isto što i uspješan odgovor. Ako vaše usklađivanje ovisi o feedu transakcija, tretirajte „nema transakcija" kao stanje koje treba provjeriti, a ne kao činjenicu koju treba zabilježiti.
Na čemu standardiziramo
Svaki konektor koji danas isporučimo radi iza istog internog sučelja, pri čemu su adapteri po banci namjerno tanki. Ista disciplina primjenjuje se na strani iniciranja plaćanja - jedan kanonski objekt plaćanja, eksplicitno mapiran na dijalekt svake banke:
Adapter se brine o posebnostima autentifikacije i različitim načinima dohvaćanja podataka po stranicama; sve ostalo - ponovni pokušaji, idempotentnost, upozorenja, obavijesti o isteku pristanka - živi u zajedničkom sloju, napisanom jednom i testiranom jednom.
> Ako integracija s bankom treba prilagođenu logiku ponovnih pokušaja, ta logika pripada u zajednički sloj, iza feature-flaga - nikada u adapter. Adapteri prepušteni sami sebi zastarijevaju; zajednički sloj se kontinuirano održava.
Rezultat postaje rutina - a upravo je to cilj. Nova banka znači novi adapter, oglednu testnu datoteku snimljenu iz njezinog testnog okruženja i kontrolni popis - ne novi projekt.