Transaktionssicherheit in Onlineshops mit Webhooks

Demo eines aktiven Webhook Listeners (PostFinance Checkout):



Zeitpunkt letzter Poll (15s):Wird geladen…
entityId Lade…
eventId Lade…
listenerEntityId Lade…
listenerEntityTechnicalName Lade…
spaceId Lade…
state Lade…
timestamp Lade…
webhookListenerId Lade…

Funkltionsweise Webhook Listener


Dieser Service (Listener) wartet auf den Webhook-Aufruf des PSPs PF Checkout. Sobald eine Meldung auf die Listener-URL (hier PHP-Endpunkt) eingeht, werden die Daten gelesen und hier angezeigt. Händler:innen können diese Informationen in ihre Zahlungsprozesse integrieren, um sicherzustellen, dass eine Transaktion auch dann dokumentiert ist, wenn z. B. der Shopper den Browser vorzeitig schließt. So bleibt transparent, ob eine Zahlung erfolgreich war oder nicht.


Hinweis: Die entityId variiert je nach Webhook-Typ (z. B. Transaktion). Bei einer Transaktion ist dies etwa die Transaktions-ID. Weiter wird der Timestamp vom PSP in UTC übermittelt.



i Tipps der KI zu diesem Demo-Aufbau

Eingangs-Endpoint:
Nginx/Apache leitet eingehende POST-Requests an ein PHP-Skript weiter, das die JSON-Payload parst, HMAC-Signatur validiert und Fehler behandelt.


Persistenz & Queue:
Erfolgreiche Events werden in MySQL/PostgreSQL gespeichert. Zur Entkopplung nutzen wir Redis oder RabbitMQ, um Lastspitzen abzufangen.


Frontend & Monitoring:
Ein JavaScript-Poller (Fetch API) fragt periodisch einen REST-Endpoint ab, der aktuellen Status und Zeitstempel retourniert. Logging via Monolog und Alerts über Prometheus/Grafana.


Sicherheit:
HTTPS für Transportverschlüsselung, API-Keys bzw. HMAC-Signaturen zur Authentifizierung und strikte CORS-Richtlinien.