Webhooks einrichten
Webhooks sind Benachrichtigungen über Ereignisse, die im System auftreten. Wenn ein bestimmtes Ereignis eintritt, sendet Xsolla eine HTTP-Anfrage mitsamt den Ereignisdaten an Ihre Anwendung. Dabei handelt es sich in der Regel um eine POST
-Anfrage im JSON-Format.
Beispielereignis:
- Nutzer interagiert mit einem Artikelkatalog
- Bestellung wird bezahlt oder storniert
Liste der Webhooks
Für den Verkauf von Spielschlüsseln ist eine Benutzervalidierung und die Anrechnung von Artikeln nicht erforderlich. Sie können Webhooks verknüpfen, wenn Sie Informationen über Ereignisse, wie z. B. Zahlungen oder Stornierungen der Bestellung, erhalten möchten.
Wenn Sie Webhooks verknüpfen, ist es wichtig, alle eingehenden erforderlichen Webhooks zu verarbeiten.
2 Webhook-Empfangsoptionen wurden aufseiten Xsolla eingerichtet, als auf der Site Artikel gekauft und retourniert wurden — Informationen mit Zahlungs- und Transaktionsdaten und Informationen über gekaufte Artikel können separat sein oder in einen Webhook kombiniert werden.
Weitere Informationen in Bezug auf Empfangsoptionen von Webhooks
Empfang von Informationen in kombinierten Webhooks:
Wenn Sie sich nach dem 22. Januar 2025 im Kundenportal registriert haben, erhalten Sie alle Informationen in den Webhooks Erfolgreiche Bezahlung der Bestellung (order_paid
) und Stornierung der Bestellung (order_canceled
). In diesem Fall müssen Sie die Webhooks Zahlung (payment
) und Erstattung (refund
) nicht verarbeiten.
Empfang von Informationen in separaten Webhooks:
Wenn Sie sich am oder vor dem 22. Januar 2025 im Kundenportal registriert haben, erhalten Sie die folgenden Webhooks:
- Zahlung (
payment
) und Erstattung (refund
) mit Informationen über die Zahlungsdaten und den Transaktionsdetails. - Erfolgreiche Bezahlung der Bestellung (
order_paid
) und Stornierung der Bestellung (order_canceled
) mit Informationen über gekaufte Artikel.
Sie müssen alle eingehenden Webhooks verarbeiten.
Um zur neuen Option mit dem Empfang von kombinierten Webhooks zu wechseln, wenden Sie sich an Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com.
Für die volle Operation des In-Game Stores und Zahlungsmanagements ist es notwendig, die Verarbeitung des Hauptwebhooks zu implementieren:
Ist die Artikelkatalog personalisierung aufseiten Ihrer Anwendung implementiert, richten Sie die Verarbeitung der Katalogpersonalisierung aufseiten des Partners ein.
- Zahlung, Erfolgreiche Bezahlung der Bestellung und Benutzervalidierung, sofern Sie separate Webhooks empfangen
- Erfolgreiche Bezahlung der Bestellung und Benutzervalidierung, sofern Sie kombinierte Webhooks empfangen
Webhooks im Kundenportal einrichten
So aktivieren Sie den Empfang von Webhooks:
- Öffnen Sie Ihr Projekt im Kundenportal.
- Klicken Sie in der Seitenleiste auf Projekteinstellungen, und wechseln Sie zur Registerkarte Webhooks.
- Geben Sie im Feld Webhook-Server die URL Ihres Servers an, auf dem Sie Webhooks im Format
https://example.com
empfangen möchten. Sie können auch eine URL aus einem Tool, mit dem sich Webhooks testen lassen, angeben.
- Standardmäßig wird ein geheimer Schlüssel zum Signieren von Projekt-Webhooks generiert. Wenn Sie einen neuen geheimen Schlüssel generieren möchten, klicken Sie auf das Aktualisieren-Symbol.
- Klicken Sie auf Webhooks aktivieren.
Wenn Sie eine URL im Feld Webhook-Server speichern, erscheint der Abschnitt Erweiterte Einstellungen, in dem Sie die Berechtigungen, detaillierte Informationen in Webhooks empfangen zu dürfen, erteilen können. Stellen Sie dazu die entsprechenden Schalter auf Ein. In der Zeile der jeweiligen Berechtigung wird eine Liste der Webhooks angezeigt, die von den Einstellungen betroffen sind.
- Öffnen Sie Ihr Projekt im Kundenportal.
- Klicken Sie in der Seitenleiste auf Projekteinstellungen, und wechseln Sie zur Registerkarte Webhooks.
- Klicken Sie auf Webhooks deaktivieren.
Webhooks im Kundenportal testen
Sofern die Webhooks erfolgreich eingerichtet sind, wird ein entsprechender Testblock unter dem Einrichtungsblock angezeigt.
Der Testbereich im Kundenportal variiert je nach der Empfangsoption für Webhooks.
De Verarbeitung der Tests für das Szenario mit kombinierten Webhooks wird im Folgenden beschrieben. Auf der Registerkarte Payments und Store können Sie die folgenden Webhooks testen:
- Benutzervalidierung (
user_validation
) - Erfolgreiche Bezahlung der Bestellung (
order_paid
) - Stornierung der Bestellung (
order_canceled
)
- Wechseln Sie im Testbereich für Webhooks zur Registerkarte Payments und Store.
- Wählen Sie im Drop-down-Menü die Option Spielschlüssel aus. Sind im Kundenportal noch keine Spielschlüsselpakete eingerichtet, wird eine der folgenden Schaltflächen angezeigt:
- Verknüpfen, sofern das Spielschlüssel-Modul nicht verknüpft ist
- Konfigurieren, sofern das Modul bereits verknüpft, aber die Einrichtung noch nicht abgeschlossen ist
- Füllen Sie die notwendigen Felder aus:
- Geben Sie einen beliebigen Wert ins Feld Xsolla-Bestell-ID ein. Wählen Sie das Spielschlüsselpaket aus der Drop-Down-Liste.
- Spezifizieren Sie die Plattformen, auf denen das Spiel veröffentlicht wird.
- Benutzer-ID – zum Testen können Sie eine beliebige Kombination aus Buchstaben und Ziffern angeben.
- Public-User-ID – ID, die einem Nutzer bekannt ist, z. B. E-Mail-Adresse oder Nickname. Dieses Feld wird angezeigt, sofern die Public-User-ID in Ihrem Projekt unter Pay Station > Einstellungenaktiviert ist.
- Xsolla-Rechnungs-ID– Transaktions-ID aufseiten von Xsolla. Zum Testen können Sie eine beliebige Ziffernfolge angeben.
- Rechnungs-ID – Transaktions-ID aufseiten Ihres Spiels. Zum Testen können Sie eine beliebige Kombination aus Buchstaben und Ziffern angeben. Dieser Parameter ist nicht erforderlich, um die Zahlung erfolgreich zu verarbeiten. Allerdings können Sie die Transaktions-ID aufseiten Ihres Spiels mit der Transaktions-ID aufseiten von Xsolla verknüpfen, indem Sie den Parameter übermitteln.
- Menge – Zahlungsbetrag. Zum Testen können Sie eine beliebige Ziffernfolge angeben.
- Währung – wählen Sie ein Währung aus der Drop-down-Liste aus.
- Klicken Sie auf Webhook testen.
Für jeden Webhook müssen Sie die Verarbeitung beider Szenarien, also erfolgreich und fehlerbehaftet, konfigurieren.
Webhook-Listener
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.
Erhält der Xsolla-Server keine Antwort auf die Webhooks Bestellung erfolgreich bezahlt und Bestellung storniert oder er empfängt eine Antwort mit dem Code 5xx
, 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.
Erhält der Xsolla-Server keine Antwort auf die Webhooks Zahlung oder Erstattung, oder empfängt eine Antwort mit dem Code 5xx
, werden die Webhooks in längeren Zeitabständen erneut gesendet. Innerhalb von 12 Stunden werden maximal 12 Versuche unternommen.
Erhält der Xsolla-Server keine Antwort auf den Webhook Benutzervalidierung oder empfängt eine Antwort mit dem Code 400
oder 5xx
, 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.