Benutzern Käufe gewähren
Implementieren Sie, dass den Nutzern in Ihrer Anwendung Käufe gewährt werden, indem Sie die in den Webhooks von Xsolla empfangenen Informationen (Transaktionsdetails und gekauften Artikel) verwenden.
Bei Xsolla gibt es zwei Möglichkeiten, Webhooks im Falle eines Artikelkaufs und einer Erstattung zu empfangen: Informationen mit Zahlungs- und Transaktionsdaten sowie Informationen zu gekauften Artikeln können entweder separat gesendet oder in einem einzigen Webhook zusammengefasst werden. Standardmäßig werden in allen neuen Projekten kombinierte Webhooks empfangen.
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.
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.
Für die volle Operation des In-Game Stores und Zahlungsmanagements ist es notwendig, die Verarbeitung des Hauptwebhooks zu implementieren:
| Webhook-Name | Beschreibung |
|---|---|
Beutzervalidierung > Benutzervalidierung (user_validation) | Wird während der verschiedenen Phasen des Bezahlvorgangs gesendet, um sicherzustellen, dass der Nutzer im Spiel registriert ist. |
Spieledienste > Kombinierte Webhooks > Erfolgreiche Bezahlung der Bestellung (order_paid) | Es enthält Zahlungsdaten, Transaktionsdetails und Informationen über gekaufte Artikel. Nutzen Sie die Daten des Webhooks, um Artikel zum Benutzer hinzuzufügen. |
Spieledienste > Kombinierte Webhooks > Stornierung der Bestellung (order_canceled) | Es enthält Daten von der stornierten Zahlung, Transaktionsdetails und Informationen über gekaufte Artikel. Nutzen Sie die Daten des Webhooks, um die gekauften Gegenstände zu entfernen. |
Das folgende Schema zeigt Ablauf beim Kauf und bei der Rückgabe von Artikeln mithilfe von kombinierten Webhooks.
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant User as Nutzer
participant GameClient as Spiel-Client
participant Xsolla as Xsolla
participant GameServer as Spielserver
%% Item Purchase
rect rgb(243, 243, 241)
Note over User, GameServer: Artikelkauf
end
User ->> GameClient: meldet sich an
activate GameClient
GameClient ->> Xsolla: sendet Nutzerauthentifizierungsanfrage
activate Xsolla
Xsolla -->> GameClient: gibt JWT/OAuth 2.0-Token zurück
deactivate Xsolla
GameClient ->> Xsolla: sendet JWT, Projekt-ID, Paginierungsparameter
activate Xsolla
Xsolla -->> GameClient: gibt Artikel-Array zurück
deactivate Xsolla
GameClient -->> User: zeigt Storefront an
deactivate GameClient
User ->> GameClient: wählt Artikel aus und klickt auf “Zahlen”
activate GameClient
GameClient ->> Xsolla: erstellt Bestellanfrage
deactivate GameClient
activate Xsolla
Xsolla -->> GameClient: gibt Zahlungstoken zurück
deactivate Xsolla
activate GameClient
GameClient ->> Xsolla: öffnet Zahlungsportal-URL mit dem empfangenen Token
deactivate GameClient
activate Xsolla
Xsolla ->> GameServer: sendet den Webhook “Benutzervalidierung”
activate GameServer
GameServer -->> Xsolla: antwortet mit dem Status “Erfolgreich”
deactivate GameServer
Xsolla -->> User: zeigt Zahlungsportal an
deactivate Xsolla
User ->> Xsolla: wählt Zahlungsmethode aus und klickt auf “Zahlen”
activate Xsolla
Xsolla ->> GameServer: sendet den Webhook “Erfolgreiche Bezahlung der Bestellung”
activate GameServer
activate GameServer
Note right of GameServer: gewährt dem Nutzer die Käufe
deactivate GameServer
GameServer -->> Xsolla: antwortet mit dem Status “Erfolgreich”
deactivate GameServer
Xsolla -->> User: zeigt an, dass die Zahlung erfolgreich war
deactivate Xsolla
%% Refund / Chargeback
rect rgb(243, 243, 241)
Note over User, GameServer: Erstattung/Rückbuchung
end
User ->> Xsolla: beantragt Erstattung oder Rückbuchung
activate Xsolla
Xsolla ->> GameServer: sendet den Webhook “Stornierung der Bestellung”
activate GameServer
activate GameServer
Note right of GameServer: entfernt Artikel aus dem Nutzerinventar
deactivate GameServer
GameServer -->> Xsolla: antwortet mit dem Status “Erfolgreich”
deactivate GameServer
Xsolla -->> User: erstattet die Zahlung
deactivate Xsolla
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
- Öffnen Sie Ihr Projekt im Kundenportal, und navigieren Sie zum Menüpunkt Projekteinstellungen > Webhooks.
- Geben Sie im Feld Webhook-Server die URL Ihres Servers an, auf dem Sie Webhooks im Format
https://example.comempfangen 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.

Webhooks im Kundenportal testen
Sobald Sie Webhooks in Ihrem Projekt aktiviert haben, wird im Kundenportal unter den erweiterten Einstellungen ein Bereich zum Testen von Webhooks angezeigt.
Sie können die folgenden Webhooks testen:
| Name der Registerkarte für Webhook-Tests | Webhook-Name und -Typ |
|---|---|
| Payments und Store | Beutzervalidierung > Benutzervalidierung (user_validation) |
Spieledienste > Kombinierte Webhooks > Erfolgreiche Bezahlung der Bestellung (order_paid) | |
Spieledienste > Kombinierte Webhooks > Stornierung der Bestellung (order_canceled) | |
| Abonnements | Beutzervalidierung > Benutzervalidierung (user_validation) |
Zahlungen > Zahlung (payment) | |
| Dispute | Anti-fraud > Streitfall (dispute) |
Falls reale Werte fehlen, können Sie beliebige Werte eingeben.
Außerdem können Sie Webhooks testen, wenn Sie Käufe in der Testumgebung oder im Live-Modus tätigen. Erstattungen lassen sich nur im Live-Modus testen.
Dem Webhook antworten
Um den Empfang eines Webhooks zu bestätigen, muss Ihr Server wie folgt antworten:
- HTTP-Statuscode
200,201oder204ohne Nachrichtenrumpf im Falle einer positiven Antwort. - HTTP-Statuscode
400samt 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.
Nächste Schritte
Konfigurieren von Artikelinformationen in Webhooks
Sie können konfigurieren, welche Artikeldaten in den Webhooks Erfolgreiche Bezahlung der Bestellung und Stornierung der Bestellung über den Array items integriert sind.
Aktivierung der Integration zusätzlicher Parameter
Aktivieren Sie die Integration von zusätzlichen Parametern die Folgendes angeben:
- ob der Artikel kostenlos ist (
is_free) - ob der Artikel ein Bonus ist (
is_bonus) - ob der Artikel ein Teil eines Bundles ist (
is_bundle_content)
Um diese Parameter zu erhalten, müssen Sie Ihre Webhooks auf die Version 2 mithilfe des API-Aufrufs Informationen zu Webhook-Einstellungen aktualisieren umschalten. In der Version 1 (Standard) sind diese Parameter nicht verfügbar.
Beispiel eines Arrays von Artikeln mit zusätzlichen Parametern:
- json
1"items": [
2 {
3 "sku": "com.xsolla.item_new_1",
4 "type": "bundle",
5 "is_pre_order": false,
6 "is_free": false,
7 "is_bonus": false,
8 "is_bundle_content": false,
9 "quantity": 1,
10 "amount": "1000",
11 "promotions": []
12 },
13 {
14 "sku": "com.xsolla.gold_1",
15 "type": "virtual_currency",
16 "is_pre_order": false,
17 "is_free": false,
18 "is_bonus": false,
19 "is_bundle_content": true,
20 "quantity": 1500,
21 "amount": "[null]",
22 "promotions": []
23 }
24 ]
Deaktivierung der Integration von Bundle-Inhalten
Standardmäßig enthalten Webhooks alle Elemente aus dem Bundle als Liste einzelner Artikel. Sie können den Webhook so konfigurieren, dass er nur das Bundle selbst enthält, ohne dessen Inhalt aufzulisten.
In diesem Fall werden die im Bundle enthaltenen Artikel nicht im Array der items einbezogen. Im oben angezeigten Array wird der Artikel mit dem SKU-com.xsolla.gold_1, der Teil des Bundles ist, ausgeschlossen.
Beispiel eines Arrays von Artikeln, wenn Bundle-Inhalte deaktiviert sind:
- json
1
2"items": [
3 {
4 "sku": "com.xsolla.item_new_1",
5 "type": "bundle",
6 "is_pre_order": false,
7 "is_free": false,
8 "is_bonus": false,
9 "is_bundle_content": false,
10 "quantity": 1,
11 "amount": "1000",
12 "promotions": []
13 }
14 ]
Um die Integration des Bundle-Contents zu deaktivieren, kontaktieren Sie Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com
Nützliche Links
Letztmalig aktualisiert: 18. Mai 2026Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.