Benutzerbestellstatus abrufen
Benutzerbestellstatus abrufen
Sie können den Bestellstatus eines Nutzers auf eine der folgenden Weisen abrufen:
Benutzerbestellstatus serverseitig über Webhooks abrufen
Nachdem Sie Webhooks auf Ihrem Server konfiguriert haben, können Sie damit die Details und den Status der Bestellung abrufen.
Benutzerbestellstatus clientseitig über die WebSocket API oder die Shop Builder API abrufen
Wenn Sie keinen Server haben oder die Logik für die Kaufabwicklung clientseitig implementieren möchten, stehen folgende Möglichkeiten offen:
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.
Gehen Sie wie folgt vor:
- Damit der Xsolla-Websocket-Server und Ihr Client die Bestellstatusmeldungen erkennen können, müssen Sie eine Verbindung herstellen:
- javascript
1const client = new Centrifuge(
2connectionURL,
3{
4data: {
5 user_external_id: user_external_id,
6 auth: auth,
7 project_id: project_id
8}
9}
10)
11connectionURL - wss://ws-store.xsolla.com/connection/websocket
12auth - user JWT token
- Abonnieren Sie die Ereignisse mithilfe der Funktion
client.on
, um neue Meldungen über den Bestellstatus zu erhalten:
- javascript
1client.on('publication', (ctx) => {
2 //handle the status
3});
- Triggern Sie die eigentliche Verbindungsherstellung:
- javascript
1client.connect()
- Nutzen Sie die history method der API, um den Bestellstatus-Änderungsverlauf zu erhalten:
- javascript
1client.on('subscribed', function (ctx) {
2 client.history(ctx.channel, { limit: -1, since: { offset: 0 }, reverse: false }).then(function (resp) {
3resp.publications.forEach((ctx) => {
4 /handle the status
5});
6
7 }, function (err) {
8 //handle the status
9 });
10});
Nachrichtenrumpf (Beispiel):
- javascript
1{
2order_id: 59614241,
3status: "new"
4}
Folgende Bestellstatus sind möglich:
New
– Bestellung angelegt, aber noch nicht bezahltPaid
– Bestellung bezahltDone
– 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
oderDone
) 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.
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.