Fizetési webhook: aláírás, ismételt esemény és rendelési állapot
A fizetési webhook lehetővé teszi, hogy a szerver az ügyfél böngészőjétől függetlenül kapjon eredményt. A beérkezett üzenet azonban még nem jogosít fel rendelésmódosításra. Ellenőrizni kell a forrást, a művelet kapcsolatát és az ismételt feldolgozás hatását. Az alábbi lépések egy helyreállítható, követhető értesítési folyamat követelményeit rendezik.

Rendelj minden eseményhez konkrét döntést
Határozd meg, milyen belső objektumot és milyen megengedett állapotváltozást jelent az esemény. A rendelés, a fizetési próbálkozás és a szolgáltatás teljesítése külön fogalom. Kapcsold a külső referenciát a belső rekordhoz, és ellenőrizd a fiókot, az összeget és a pénznemet, mielőtt a visszajelzést a rendelés pénzügyi eredményeként elfogadod.
Egy online képzésnél a sikeres fizetés elindíthatja a hozzáférés létrehozását. Ha a hozzáférési szolgáltatás nem válaszol, az nem teszi szükségessé a fizetés megismétlését. A rendszernek meg kell őriznie a pénzügyi eredményt és külön követnie a hátralévő teljesítést. Így a támogatás a megfelelő munkát állítja helyre, és nem kér új összeget egy már rendezett vásárlásért.
A forrás saját protokollját ellenőrizd
A Stripe hivatalos webhook-dokumentációja meghatározza a saját üzeneteinek ellenőrzését, beleértve a kérés törzsére vonatkozó követelményeket. Az Adyen külön szabályokat dokumentál. Ne használd ugyanazt az ellenőrzőt eltérő forrásokra pusztán azért, mert hasonló mezőket látsz. Az OrsunPay saját HMAC-aláírású webhook-protokollja sem azonos a közvetlen szolgáltatói formátumokkal.
A teszt- és éles konfigurációk maradjanak külön. Az ellenőrzési titok ne kerüljön a böngészőbe, nyilvános kódba vagy általános naplóba. Egy hihető szerkezetű üzenet az ellenőrzés előtt nem hiteles. Az elutasítást biztonságosan dokumentáld, anélkül hogy a teljes érzékeny tartalmat automatikusan több megfigyelőrendszerbe másolnád. A hibakereséshez használt adat mennyisége igazodjon a tényleges feladathoz.
Tartósan rögzíts a hosszú feladatok előtt
Validálás után hozz létre helyreállítható fogadási rekordot, és külön ütemezd a hosszabb kereskedelmi feladatokat. Egy dokumentum előállítása vagy több email küldése ne veszélyeztesse az eredeti megerősítés megőrzését. A sikeres fogadási válasz tényleges elfogadást jelentsen, ne fedjen el adatbázishibát, amely után az üzenet csak egy folyamat memóriájában létezett.
Különböztesd meg a beérkezett, alkalmazott és végrehajtott állapotokat. Egy esemény már biztonságosan tárolható, miközben a kapcsolódó feladat még várakozik. A referencia, forrás és időpont segít megállapítani a hibás lépést. Személyes adatot csak indokoltan tárolj, és ne tekintsd az összes tartalom korlátlan másolását az áttekinthető üzemeltetés szükséges feltételének vagy alapértelmezett megoldásának.
Védd a hatást az ismétléstől
Az ismételt kézbesítés normális integrációs helyzet. Tárold a feldolgozott események azonosítóját, és védd az állapotváltozást párhuzamos végrehajtás ellen. Két folyamat egyszerre is arra juthat, hogy az üzenet új. A szerver memóriájában végzett egyszerű ellenőrzés ezért nem elegendő; a konzisztenciát a közösen használt tárolásban is biztosítani kell.
A késői eseményeket is kezeld. Az utoljára megérkezett üzenet nem feltétlenül a legfrissebb szolgáltatói állapotot írja le. Egy régi jelzés ne írjon felül ellenőrizetlenül végleges eredményt. Ellentmondásnál kérdezd le a megfelelő hiteles objektumot vagy jelölj ki kivizsgálást. Őrizd meg a döntést magyarázó történetet, ne cseréld le nyomtalanul minden új üzenetnél a korábbi információt.
A helyreállítást is teszteld
Minden próbánál vizsgáld a rendelés állapotát és a létrejött kereskedelmi hatások számát. Egy megfelelő HTTP-válasz nem bizonyítja, hogy nem keletkezett két hozzáférés. Szakítsd meg a feldolgozást a mentés után, és ellenőrizd, hogy a folytatás nem indít új fizetést vagy ismételt teljesítést. A teszt eredményét üzleti állapotként is írd le.
- Hibás aláírás ne módosítson rendelést vagy fizetési állapotot.
- Ugyanaz az esemény csak egy végleges hatást eredményezzen.
- Külső függőség hibája után csak a hiányzó munka induljon újra.
- Régi esemény érkezése ne törölje az igazolt eredményt.
Jelölj ki felelőst a nyitott eseményekhez
A befejezetlen események vagy feladatok listája tartalmazzon okot, következő lépést és felelőst. Az ügyfélszolgálat belső referencia alapján kereshessen, ne kérjen titkos adatokat a vásárlótól. Dokumentáld, ki indíthat újra egy feladatot, és hogyan ellenőrzi előtte, hogy a kívánt hatás közben nem valósult-e már meg másik úton.
Az OrsunPay kézbesítési újrapróbálkozásai korlátozottak, ezért hosszabb kimaradás után egyeztetés és szabályozott helyreállítás lehet szükséges. Ne feltételezz végtelen ismétlést. A cél egy hiteles visszaigazolástól a teljesített rendelésig vezető, magyarázható kapcsolat. Ennek akkor is követhetőnek kell maradnia, ha közben valamelyik munkafázist kézzel indították újra, vagy a hálózat csak később tette lehetővé az eredmény feldolgozását.
Ismerd meg az OrsunPayt
Beszélj a csapatunkkalForrások
További olvasnivaló

Fizetési link létrehozása a rendelés pontos követéséhez
A fizetési link akkor segíti a vállalkozás munkáját, ha pontosan kapcsolódik a megrendeléshez és az ellenőrzött fizetési eredményhez.
Útmutató elolvasása
Fizetési szolgáltató kiválasztása üzleti követelmények alapján
A fizetési szolgáltató kiválasztását a vállalkozás konkrét rendeléseivel érdemes kezdeni.
Útmutató elolvasása
Online bankkártyás fizetés: útmutató vállalkozásoknak
Így kapcsolódik az online bankkártyás fizetés a rendeléshez: szolgáltatói fiókok, fizetési oldal, ellenőrzött állapot és követhető napi működés.
Útmutató elolvasása