Fejlesztő 7 perc olvasás

Verification of Payee webhookok és aszinkron eredmények

Egy robusztus Verification of Payee integráció számol azzal a kéréssel, amely nem tér vissza 300 milliszekundum alatt. Íme, hogyan használjon webhookokat és callbackeket az aszinkron eredmények kezelésére anélkül, hogy lefagyna a fizetési folyamat.

By Tomaas Vento Starrantino · Reviewed by Donato Leone

Verification of Payee webhookok és aszinkron eredmények

Főbb pontok

  • Tekintse a VoP-t jellemzően szinkronnak, de alkalmanként aszinkronnak: az első naptól tervezzen függőben lévő állapotra.
  • Használjon webhookot a végső egyezési eredmény fogadására, amikor egy válaszoló PSP későn válaszol.
  • Mindig ellenőrizze a webhook-aláírásokat, és tegye idempotenssé a kezelőket az újrapróbálkozások túléléséhez.

Egy Verification of Payee kérés általában valós időben ad egyezési eredményt, elég gyorsan ahhoz, hogy a fizető az átutalás engedélyezése előtt lássa. A VoP azonban egy másik bankhoz intézett hálózati hívás, és a hálózatok nem tökéletesen megbízhatóak. Egy válaszoló PSP lehet lassú, a kapcsolat megszakadhat, vagy egy kérés sorba kerülhet. Egy éles üzemre kész integrációnak terve kell legyen a néhány másodperccel - vagy néhány perccel - később érkező válaszra.

Miért válhat aszinkronná egy VoP hívás

A séma szűk válaszablakot határoz meg, de a valós forgalom mégis olyan szélsőséges eseteket produkál, amelyeket kecsesen kell kezelni, nem kemény hibaként:

  • A válaszoló PSP átmenetileg túlterhelt, és éppen a szinkron időtúllépésén túl válaszol.
  • Egy átmeneti hálózati hiba újrapróbálkozást indít, amely az eredeti kérés visszatérése után fejeződik be.
  • Sok ellenőrzést küld be kötegelve (például egy fizetési sorozatot), és az eredményeket begyűjti, ahogy visszaérkeznek.

A webhookfolyam megtervezése

A legtisztább minta az, hogy minden ellenőrzésnek stabil azonosítót ad, függőben lévő állapotot ad vissza, amikor a szinkron ablak lejár, és a végső eredményt webhookkal kézbesíti.

  1. 1 Küldje be az ellenőrzést, és tárolja a kérésazonosítóját ahhoz a fizetéshez, amelyet éppen tenni készül.
  2. 2 Ha a szinkron időkeretén belül nem érkezik válasz, mutasson a fizetőnek függőben lévő állapotot hiba helyett.
  3. 3 Fogadja a végső egyezés, részleges egyezés, nincs egyezés vagy nem elérhető eredményt a webhook végpontján.
  4. 4 Párosítsa a webhook hasznos adatait vissza a tárolt kérésazonosítóhoz, és frissítse a fizetési döntést.

Alapértelmezésben biztonságos és idempotens

Minden webhooknál ellenőrizze az aláírást, mielőtt megbízik benne, és tegye idempotenssé a kezelőjét: ugyanaz az eredmény többször is kézbesíthető. A feldolgozást a kérésazonosítóra kulcsolja, hogy egy duplikált kézbesítés soha ne hasson kétszer egy fizetésre.

A RoxPay szinkron eredményt ad vissza, amikor csak tud, és aláírt webhookra vált vissza, amikor egy válaszoló PSP lassú, így a fizetési folyamata reszponzív marad, a nyilvántartása pedig teljes.

FAQ

Frequently asked

Szigorúan véve nem, de erősen ajánlott. Aszinkron útvonal nélkül egy lassú válaszoló PSP arra kényszeríti, hogy vagy blokkolja a fizetőt, vagy elvesse egy érvényes eredményt. A webhook segítségével tisztán elkaphatja a késői válaszokat.

Tegye idempotenssé a webhook kezelőjét. A feldolgozást az ellenőrzési kérésazonosítóra kulcsolja, és hagyja figyelmen kívül a már alkalmazott hasznos adatokat, mivel ugyanaz az eredmény többször is kézbesíthető.

Semleges függőben lévő állapotot mutasson hiba helyett, és kerülje egy nagy kockázatú átutalás automatikus megerősítését, amíg az eredmény meg nem érkezik, vagy el nem éri a szabályzati időtúllépést.

Építsen rugalmas VoP integrációt

Beszéljen a RoxPay-jal a szinkron eredményekről lassú válaszoló PSP-k esetére fenntartott webhook-tartalékkal.