Viis aastat PSD2 ühendusi: mida spetsifikatsioon teile ei ütle

Pangaplokk, mis on katkendjoontega andmeliinidega ühendatud Trex Pi märgiga

PSD2 lubas ühte API-t iga panga jaoks Euroopas. Selle asemel saime ühe spetsifikatsiooniperekonna ja mõnisada selle tõlgendust. Pärast viit aastat kontoinfo- ja maksealgatuse ühenduste ehitamist ja käitamist klientidele üle Baltikumi on muster selge: esimene pank võtab nädala, viies võtab päeva ning siis võtab järgmine ootamatult terve kuu.

Nõusolekuvoog on koht, kus projektid kinni jäävad

API päringud on lihtne osa. Raske osa on nõusoleku elutsükkel - kuidas klient teie ligipääsu autoriseerib, kui kaua see autoriseering kehtib ning mis juhtub, kui see aegub pühapäeval kell 03:00.

  • Mõned pangad väljastavad 90-päevaseid nõusolekuid ja uuendavad neid vaikselt; teised nõuavad täielikku uuesti autentimist.
  • Testkeskkonna nõusolekuvood erinevad tavaliselt tootmiskeskkonna omadest. Planeerige teine integratsiooniläbimine pärast käivitamist.
  • Vigade taksonoomiad on ebaühtlased: sama aegunud nõusolek võib ilmneda kui 401, 403 või - ühel meeldejäävamal juhul - 200 koos tühja tehingute nimekirjaga.

See viimane vääriks rõhutamist: tühi vastus ei ole sama, mis edukas vastus. Kui teie sobitamine sõltub tehinguvoost, käsitlege "tehinguid pole" kui tingimust, mida tuleb kontrollida, mitte fakti, mida salvestada.

Mida me standardiseerime

Iga ühendus, mida me nüüd tarnime, töötab sama sisemise liidese taga, kusjuures panga-põhised adapterid on teadlikult õhukesed. Sama distsipliin kehtib ka maksealgatuse poolel - üks kanooniline makseobjekt, mis on selgesõnaliselt kaardistatud iga panga dialekti järgi:

ERP makseväljade kaardistamine SEPA pain.001 XML elementidega

Adapter tegeleb autentimise iseärasustega ja iga panga erineva viisiga andmeid lehekülgede kaupa pärida; kõik muu - uuestiproovimised, idempotentsus, häired, nõusoleku aegumise hoiatused - elab ühises kihis, mis on kirjutatud üks kord ja testitud üks kord.

Kui panga integratsioon vajab kohandatud uuestiproovimise loogikat, kuulub see loogika ühisesse kihti koos funktsioonilipuga - mitte kunagi adapterisse. Omapäi jäetud adapterid vananevad; ühist kihti hooldatakse pidevalt.

Tulemus muutub rutiinseks ja etteaimatavaks - ning just see ongi eesmärk. Uus pank tähendab uut adapterit, tema testkeskkonnast salvestatud näidisfaili ja kontrollnimekirja - mitte uut projekti.