Pieci gadi PSD2 konektoru pieredzes: ko specifikācija jums nepasaka

Bankas bloks, kas ar raustītām datu līnijām savienots ar Trex Pi zīmi

PSD2 solīja vienu API katrai bankai Eiropā. Tas, ko ieguvām, ir viena specifikāciju saime un dažas simtiem tās interpretāciju. Pēc pieciem gadiem, kuros esam veidojuši un uzturējuši konta informācijas un maksājumu iniciēšanas konektorus klientiem visā Baltijā, modelis ir skaidrs: pirmajai bankai vajag nedēļu, piektajai - dienu, bet tad nākamā negaidīti prasa veselu mēnesi.

Piekrišanas process ir vieta, kur projekti apstājas

API izsaukumi ir vieglā daļa. Grūtā daļa ir piekrišanas dzīves cikls - kā klients autorizē jūsu piekļuvi, cik ilgi šī autorizācija ir spēkā un kas notiek, kad tā beidzas svētdienas naktī plkst. 03:00.

  • Dažas bankas izsniedz 90 dienu piekrišanas un atjauno tās klusi; citas pieprasa pilnu atkārtotu autorizāciju.
  • Testa vides (sandbox) piekrišanas plūsmas regulāri atšķiras no produkcijas vidē esošajām. Paredziet laiku otrai integrācijas kārtai pēc palaišanas.
  • Kļūdu klasifikācija nav konsekventa: viena un tā pati beigusies piekrišana var parādīties kā 401, 403 vai - vienā neaizmirstamā gadījumā - kā 200 ar tukšu darījumu sarakstu.

Pēdējais gadījums ir īpaši jāuzsver: tukša atbilde nav tas pats, kas veiksmīga atbilde. Ja jūsu saskaņošana ir atkarīga no darījumu plūsmas, uztveriet "nav darījumu" kā apstākli, kas jāpārbauda, nevis kā faktu, kas jāreģistrē.

Ko mēs standartizējam

Katrs mūsu piegādātais konektors tagad darbojas aiz viena un tā paša iekšējā interfeisa, katras bankas adapterus apzināti veidojot pēc iespējas plānus. Tā pati disciplīna attiecas uz maksājumu iniciēšanas pusi - viens kanonisks maksājuma objekts, kas skaidri piesaistīts katras bankas dialektam:

ERP maksājuma lauku piesaiste SEPA pain.001 XML elementiem

Adapteris apstrādā autentifikācijas īpatnības un katras bankas atšķirīgo veidu, kā dati tiek izgūti pa lapām; viss pārējais - atkārtoti mēģinājumi, idempotence, brīdinājumi, piekrišanas termiņa beigu paziņojumi - atrodas koplietotajā slānī, uzrakstīts vienreiz un testēts vienreiz.

Ja bankas integrācijai nepieciešama pielāgota atkārtotu mēģinājumu loģika, šai loģikai jāatrodas koplietotajā slānī ar funkciju karodziņu - nekad adapterī. Adapteri, kas atstāti bez uzraudzības, pamazām noveco; koplietotais slānis tiek uzturēts pastāvīgi.

Rezultāts kļūst ikdienišķi paredzams - un tieši tas ir mērķis. Jauna banka nozīmē jaunu adapteri, no tās testa vides ierakstītu paraugfailu un kontrolsarakstu - nevis jaunu projektu.