Bestellstatus-Tracking einrichten

Die Zahlung muss erfolgreich gewesen sein, bevor Sie dem Nutzer Artikel gewähren können.

Achtung
Sie können den Bestellstatus sowohl client- als auch serverseitig tracken. Wir empfehlen jedoch, einen Handler für den Zahlung-Webhook einzurichten, um Bestellinfos im Backend Ihrer Anwendung zu empfangen. Dadurch können sie zusätzlich prüfen, ob Käufe abgeschlossen sind.

Wählen Sie eine Methode für das Tracken des Bestellstatus aus:

Wählen Sie die für Ihr Projekt am besten geeignete Methode für den Zugriff auf Xsolla-Daten:

Wenn Sie keinen Server haben oder die Logik für die Kaufabwicklung clientseitig implementieren möchten, stehen folgende Möglichkeiten offen:

  1. WebSocket API
  2. Short-polling

Hinweis
Verwenden Sie Test-Webanwendungen als Beispiel für die Implementierung:

Bestellstatus mithilfe der WebSocket API clientseitig abrufen

Die Lösung verwendet Websockets, um den Bestellstatus abzurufen, ohne detaillierte Informationen über die Bestellung zu erhalten. Diese Methode ist vorzuziehen, da nur eine Verbindung zwischen dem Client (z. B. Ihrer Website oder App) und dem Xsolla-Server hergestellt wird und somit die Auslastung des Clients oder des Servers nicht weiter steigt.

Hinweis
Wenn Sie keinen eigenen Server haben, der Webhooks verarbeiten kann, oder wenn Sie eine clientseitige Logik für die Kaufabwicklung verwenden, können Sie die WebSocket API und das Centrifuge-SDK nutzen.

Gehen Sie wie folgt vor:

  1. Damit der Xsolla-Websocket-Server und Ihr Client die Bestellstatusmeldungen erkennen können, müssen Sie eine Verbindung herstellen:

Copy
Full screen
Small screen
const client = new Centrifuge(
connectionURL,
{
data: {
  user_external_id: user_external_id,
  auth: auth,
  project_id: project_id
}
}
)
connectionURL - wss://ws-store.xsolla.com/connection/websocket
auth - user JWT token
  1. Abonnieren Sie die Ereignisse mithilfe der Funktion client.on, um neue Meldungen über den Bestellstatus zu erhalten:
Copy
Full screen
Small screen
client.on('publication', (ctx) => {
   //handle the status
});
  1. Triggern Sie die eigentliche Verbindungsherstellung:
Copy
Full screen
Small screen
client.connect()
  1. Nutzen Sie die history method der API, um den Bestellstatus-Änderungsverlauf zu erhalten:
Copy
Full screen
Small screen
client.on('subscribed', function (ctx) {
   client.history(ctx.channel, { limit: -1, since: { offset: 0 }, reverse: false }).then(function (resp) {
resp.publications.forEach((ctx) => {
   /handle the status
});

   }, function (err) {
       //handle the status
   });
});

Nachrichtenrumpf (Beispiel):

Copy
Full screen
Small screen
{
order_id: 59614241,
status: 'new'
}

Folgende Bestellstatus sind möglich:

  • New – Bestellung angelegt, aber noch nicht bezahlt
  • Paid – Bestellung bezahlt
  • Done – Bestellung ausgeliefert (alle Belege gesendet, Auslieferung durch Xsolla, externe Plattformen usw. ist erfolgt)
  • Canceled – Bestellung ist storniert und die Zahlung wurde dem Nutzer erstattet

Empfehlung für die Websocket-Nutzung:

  • Beim Websocket-Protokoll beträgt die maximale Wartezeit auf eine Antwort fünf Minuten.
  • Die Verbindung sollte beim Öffnen des Zahlungsportals hergestellt werden.
  • Die Verbindung sollte getrennt werden, sobald der endgültige Bestellstatus (Canceled oder Done) empfangen wurde.
  • Verwenden Sie Short-polling, wenn die Websocket-Lebensdauer abläuft oder Verbindungsprobleme auftreten.

    Short-polling

    Nutzen Sie den API-Aufruf Bestellung abrufen, um nach einer Bestellstatusänderung detaillierte Informationen über die Artikel in der Bestellung zu erhalten.

    Hinweis
    Hierzu wird eine zyklische Bestellstatusabfrage genutzt (Polling) – eine einfache HTTP-Anfrage, die den Bestellstatus und die ‑informationen abfragt. Die empfohlene Verzögerung zwischen den Anfragen beträgt 3 Sekunden.
War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Letztmalig aktualisiert: 23. Januar 2025

Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

Problem melden
Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
Vielen Dank für Ihr Feedback!
Ihr Feedback konnte nicht gesendet werden
Versuchen Sie es später erneut oder kontaktieren Sie uns unter doc_feedback@xsolla.com.