Eine Verification-of-Payee-Anfrage gibt in der Regel ein Ergebnis in Echtzeit zurück, schnell genug, um es vor der Autorisierung einer Überweisung durch den Zahler zu zeigen. Doch die VoP ist ein Netzwerkaufruf an eine andere Bank, und Netze sind nicht perfekt zuverlässig. Ein antwortender PSP kann langsam sein, eine Verbindung kann abbrechen, oder eine Anfrage kann in einer Warteschlange landen. Eine produktionsreife Integration braucht einen Plan für die Antwort, die ein paar Sekunden — oder ein paar Minuten — zu spät kommt.
Warum ein VoP-Aufruf asynchron werden kann
Das Schema definiert ein enges Antwortfenster, doch realer Verkehr produziert dennoch Randfälle, die Sie elegant handhaben müssen, statt sie als harte Fehler zu behandeln:
- Der antwortende PSP ist vorübergehend überlastet und antwortet knapp außerhalb Ihres synchronen Timeouts.
- Ein vorübergehender Netzfehler löst eine Wiederholung aus, die abschließt, nachdem Ihre ursprüngliche Anfrage zurückgekehrt ist.
- Sie reichen viele Prüfungen im Stapel ein (zum Beispiel einen Zahlungslauf) und sammeln die Ergebnisse ein, wie sie zurückkommen.
Den Webhook-Fluss gestalten
Das sauberste Muster ist, jeder Prüfung eine stabile Kennung zu geben, einen „ausstehend“-Status zurückzugeben, wenn das synchrone Fenster abläuft, und einen Webhook das Endergebnis liefern zu lassen.
- 1 Reichen Sie die Verifizierung ein und speichern Sie ihre Request-ID zur Zahlung, die Sie gleich vornehmen wollen.
- 2 Kommt keine Antwort innerhalb Ihres synchronen Budgets, zeigen Sie dem Zahler einen „ausstehend“-Zustand statt eines Fehlers.
- 3 Empfangen Sie das Endergebnis (Treffer, Teiltreffer, kein Treffer oder nicht verfügbar) an Ihrem Webhook-Endpoint.
- 4 Gleichen Sie die Webhook-Nutzlast mit der gespeicherten Request-ID ab und aktualisieren Sie die Zahlungsentscheidung.
Sicher und idempotent von Haus aus
Prüfen Sie die Signatur jedes Webhooks, bevor Sie ihm vertrauen, und machen Sie Ihren Handler idempotent: dasselbe Ergebnis kann mehr als einmal geliefert werden. Schlüsseln Sie Ihre Verarbeitung auf die Request-ID, sodass eine doppelte Lieferung nie zweimal auf eine Zahlung wirkt.
RoxPay gibt ein synchrones Ergebnis zurück, wann immer es kann, und greift auf einen signierten Webhook zurück, wenn ein antwortender PSP langsam ist, sodass Ihr Checkout reaktionsfähig und Ihre Aufzeichnungen vollständig bleiben.