Bestellstatus-Tracking einrichten
Die Zahlung muss erfolgreich gewesen sein, bevor Sie dem Nutzer Artikel gewähren können.
Um den Status der angelegten Bestellungen zu tracken und diese zu validieren, müssen Sie die Webhook-Verarbeitung aufseiten Ihres Anwendungsservers konfigurieren.
Für einen voll funktionsfähigen Ingame-Shop müssen Sie die Verarbeitung der wichtigsten Webhooks implementieren:
Webhook | Art der Benachrichtigung | Beschreibung |
---|---|---|
Benutzervalidierung | user_validation | Wird während der verschiedenen Phasen des Bezahlvorgangs gesendet, um sicherzustellen, dass der Nutzer im Spiel registriert ist. |
Zahlung | payment | Wird gesendet, wenn eine Bestellung bezahlt wurde, und enthält die Zahlungsdaten sowie die Transaktionsdetails. |
Bestellung erfolgreich bezahlt | order_paid | Wird gesendet, wenn ein Zahlung-Webhook erfolgreich verarbeitet wurde, und enthält Informationen über den gekauften Artikel und die Transaktions-ID. Nutzen Sie die Daten aus dem Webhook, um dem Nutzer Artikel zu gewähren. |
Erstattung | refund | Wird gesendet, wenn eine Bestellung storniert wurde, und enthält die Daten der stornierten Zahlung sowie die Transaktionsdetails. |
Bestellung storniert | order_canceled | Wird gesendet, wenn ein Erstattung-Webhook erfolgreich verarbeitet wurde, und enthält Informationen über den gekauften Artikel und die ID der stornierten Transaktion. Nutzen Sie die Daten aus dem Webhook, um dem Nutzer den gekauften Artikel zu entziehen. |
Eine vollständige Liste der Webhooks und allgemeine Informationen zu deren Nutzungsmöglichkeiten finden Sie in der Webhooks-Dokumentation.
Webhook-Versand einrichten
So konfigurieren Sie Webhooks bei Xsolla:
- Öffnen Sie Ihr Projekt im Kundenportal.
- Klicken Sie in der Seitenleiste auf Projekteinstellungen, und wechseln Sie zur Registerkarte Webhooks.
- Geben Sie im Feld Webhook-URL die URL an, an die Xsolla die Webhooks senden soll.
- Klicken Sie auf Webhooks aktivieren.
Webhook-Listener hinzufügen
Ein Webhook-Listener ist ein Programmcode, der es ermöglicht, eingehende Webhooks unter einer bestimmten URL-Adresse zu empfangen, eine Signatur zu generieren und dem Xsolla-Webhook-Server zu antworten.
Signatur generieren
Beim Empfang eines Webhooks ist die Sicherheit der Datenübermittlung zu gewährleisten. Dazu muss aus den Webhook-Daten eine Signatur generiert und danach überprüft werden, ob sie mit der im HTTP-Anfrage-Header gesendeten Signatur übereinstimmt.
So generieren Sie eine Signatur:
- Verketten Sie das JSON aus dem Anfragerumpf mit dem geheimen Schlüssel des Projekts.
- Wenden Sie die kryptografische Hash-Algorithmus SHA-1 auf den im ersten Schritt erhaltenen String an.
Dem Webhook antworten
Um den Empfang eines Webhooks zu bestätigen, muss Ihr Server wie folgt antworten:
- HTTP-Statuscode
200
,201
oder204
ohne Nachrichtenrumpf im Falle einer positiven Antwort. - HTTP-Statuscode
400
samt Problembeschreibung, sofern der angegebene Benutzer nicht gefunden oder eine ungültige Signatur übermittelt wurde.
Ihr Webhook-Handler kann ebenso mit einem HTTP-Statuscode 5xx
antworten, falls Ihr Server vorübergehend Probleme hat.
Erfolgt keine Antwort auf die Webhooks Bestellung erfolgreich bezahlt und Bestellung storniert oder wurde eine Antwort mit dem Code 5xx
empfangen, werden die Webhooks nach folgendem Zeitplan erneut gesendet:
- Zwei Versuche im Abstand von 5 Minuten
- Sieben Versuche im Abstand von jeweils 15 Minuten
- Zehn Versuche im Abstand von jeweils 60 Minuten
Innerhalb von 12 Stunden nach dem ersten Versuch werden maximal 20 Versuche unternommen, Webhooks zu senden.
Erfolgt keine Antwort auf den Webhook Zahlung oder wurde eine Antwort mit dem Code 5xx
empfangen, werden die Webhooks in längeren Zeitabständen erneut gesendet. Innerhalb von 12 Stunden werden maximal 12 Versuche unternommen.
Erfolgt keine Antwort auf den Webhook Benutzervalidierung oder wurde eine Antwort mit dem Code 400
oder 5xx
empfangen, wird der Webhook Benutzervalidierung nicht erneut gesendet.
In diesem Fall wird dem Benutzer ein Fehler angezeigt und die Webhooks Zahlung und Bestellung erfolgreich bezahlt werden nicht gesendet.
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.