Shop in Spiel integrieren

Nachdem Sie Waren (virtuelle Gegenstände, virtuelle Währung, Bundles, Schlüssel) im Kundenportal erstellt und konfiguriert haben, erweitern Sie Ihr Spiel um einen Ingame-Shop:

  1. Implementieren Sie die Anzeige des Artikelkatalogs.
  2. Implementieren Sie die Logik für den Verkauf von Artikeln.

Artikelkatalog anzeigen

Hinweis
Um die Xsolla-API aufzurufen, können Sie die vorgefertigten SDK-Methoden für Spiel-Engines und Plattformen verwenden:

Implementieren Sie die Anzeige des Artikelkatalogs über die In-Game Store & Buy Button API-Aufrufe:

FunktionAPI
Zeigt eine vollständige Liste der im Shop erhältlichen virtuellen Gegenstände anGet virtual items list
Zeigt eine Liste der clientseitig erhältlichen Gruppen virtueller Gegenstände anGet item groups list
Ruft eine Liste der clientseitig im Shop erhältlichen virtuellen Währungen abGet virtual currency list
Zeigt eine vollständige Liste der clientseitig im Shop erhältlichen virtuellen Währungspakete anGet virtual currency package list
Zeigt eine vollständige Liste der im Shop erhältlichen Bundles mit virtueller Währung anGet list of bundles

Artikel verkaufen

Artikel lassen sich auf folgende Arten verkaufen:

  1. Schnellkauf eines Artikels. Dabei können Sie eine SKU in beliebiger Menge verkaufen, z. B. 100 identische Tränke.
  2. Warenkorb kaufen. Dabei kann der Spieler einen Warenkorb zusammenstellen, anschließend Artikel hinzufügen oder entfernen oder Mengen ändern.

Schnellkauf

  1. Rufen Sie den API-Aufruf Create order with specified item auf. Daraufhin wird ein Token für das Öffnen des Zahlungsportals in der Antwort übermittelt.
  2. Öffnen Sie das Zahlungsportal mit dem erhaltenen Zahlungstoken.

Hinweis
Die Rabattinformationen (personalisiert oder im Zusammenhang mit dem Kauf) kann der Benutzer nur im Zahlungsportal einsehen. Die Verwendung von Promocodes ist nicht vorgesehen.
Hinweis
Um die Xsolla-API aufzurufen, können Sie die vorgefertigten SDK-Methoden für Spiel-Engines und Plattformen verwenden:

Warenkorbkauf

Implementieren Sie die folgende Logiken:

  1. Warenkorb zusammenstellen und Token abrufen:
  2. Zahlungsportal öffnen.

Warenkorb im Client zusammenstellen und kaufen

Implementieren Sie die Logik für das Hinzufügen und Entfernen von Artikeln selbst. Bedenken Sie außerdem, dass Sie vor dem für die Zusammenstellung eines Warenkorbs nötigen API-Aufruf keine Infos darüber haben, welche Werbeaktionen auf den Kauf angewendet werden. Das heißt die Gesamtkosten und die hinzugefügten Bonusartikel sind nicht bekannt.

  1. Nachdem der Spieler einen Warenkorb zusammengestellt hat, rufen Sie den API-Aufruf Fill cart with items auf. Die aktuellen Informationen über die ausgewählten Artikel (Preise mit und ohne Rabatt, Bonusartikel) werden in der Antwort übermittelt.
  2. Rufen Sie den API-Aufruf Create order with all items from current cart auf. Die Bestell-ID und der Zahlungstoken werden in der Antwort übermittelt. Die angelegte Bestellung erhält den Status Neu.
  3. Öffnen Sie das Zahlungsportal.

Hinweis
Um die Xsolla-API aufzurufen, können Sie die vorgefertigten SDK-Methoden für Spiel-Engines und Plattformen verwenden:

Warenkorb auf dem Server zusammenstellen und kaufen

Bei dieser Variante kann die Zusammenstellung des Warenkorbs länger dauern, da jede Änderung des Warenkorbs einen API-Aufruf erfordert.

Führen Sie die folgenden Schritte aus:

  1. Warenkorb ändern:

Hinweis
Wenn Sie den aktuellen Status des Warenkorbs erfragen möchten, rufen Sie den API-Aufruf Get current user’s cart auf.

  1. Rufen Sie den API-Aufruf Create order with all items from the current cart auf. Die Bestell-ID und der Zahlungstoken werden in der Antwort übermittelt. Die angelegte Bestellung erhält den Status Neu.
  2. Öffnen Sie das Zahlungsportal.

Zahlungsportal öffnen

Öffnen Sie zum Bezahlen von Artikeln das Zahlungsportal. Ein Token für das Öffnen des Zahlungsportals wird in der API-Antwort Create order with all items from current cart übermittelt.

Implementieren Sie das Öffnen des Zahlungsportals. Es stehen zwei Möglichkeiten zur Auswahl:

  • In einem neuen Fenster. Nutzen Sie folgenden Link, um das Zahlungsportal in einem neuen Browser-Fenster zu öffnen: https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN, wobei ACCESS_TOKEN dem Token entspricht, den Sie beim Anlegen der Bestellung erhalten haben.
  • Über das Widget. Nutzen Sie dafür das Xsolla-Zahlungsportal-Widget-Skript (Anweisungen in der README-Datei).

Zahlungsvorgang testen

Sie können den Zahlungsvorgang in der Testumgebung testen. Dabei können Sie eine Testbankkarte und ein beliebiges Konto verwenden.

Hinweis
Nachdem die erste echte Zahlung erfolgt ist, tritt eine strenge Sandbox-Zahlungsrichtlinie in Kraft. Eine Zahlung in der Testumgebung bzw. im Sandbox-Modus ist nur für Benutzer verfügbar, die unter Kundenportal > Firmeneinstellungen > Nutzer angegeben sind.

Um die Testumgebung zu aktivieren bzw. zu deaktivieren, müssen Sie den Wert des Parameters sandbox in der Schnellkauf- und Warenkorb kaufen-Anfrage ändern. Die Testumgebung ist standardmäßig deaktiviert.

Benutzerbestellstatus abrufen

Sie können Benutzerbestellstatus auf eine der folgenden Weisen abrufen:

  1. serverseitig über Webhooks
  2. clientseitig über die WebSocket API oder die IGS&BB API

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 IGS&BB API abrufen

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

WebSocket API

Bei dieser Methode werden Websockets verwendet, um den Bestellstatus abzurufen, ohne detaillierte Informationen über die Bestellung selbst zu erhalten. Diese Methode ist vorzuziehen, da nur eine Verbindung zwischen dem Xsolla-Client und dem Server hergestellt wird und daher die Auslastung des Clients oder des Servers nicht weiter steigt.

Gehen Sie wie folgt vor:

  1. Damit der WebSocket-Server und der Client Nachrichten, in denen der Bestellstatus enthalten ist, identifizieren können, müssen Sie eine Kanalkennung erstellen (die Reihenfolge der Parameter ist wichtig): Channel_id: order_id=$orderId&project_id=$projectId.
  2. Stellen Sie über das WebSocket-Protokoll eine Verbindung mit der folgenden URL her, um den Kanal zu abonnieren: wss://store-ws.xsolla.com/sub/order/status?order_id=$orderId&project_id=$projectId. Der Nachrichtenrumpf enthält die Bestell-ID und den Bestellstatus:

Copy
Full screen
Small screen
{
"order_id": int,
"status": string
}

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

Der Zeitbedarf für eine Antwort über den Websocket beträgt fünf Minuten. Danach oder bei Problemen mit dem Websocket wird empfohlen, ein Short-polling zu verwenden.

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.
Ihr Fortschritt
Vielen Dank für Ihr Feedback!
Letztmalig aktualisiert: 30. November 2022

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!