Serverseitige Integration

Dieser Integrationstyp eignet sich für Partner, die die Spiellogik für die Autorisierung, den Ingame-Shop und das Spielerinventar bereits auf ihren Servern implementiert haben und die Xsolla-Bezahlstation nutzen möchten. Dazu müssen Sie den Zugriffstoken der Bezahlstation abrufen und die Handhabung von Webhooks konfigurieren.

Bei der Serverintegration wird die folgende Logik für die Zahlungsabwicklung implementiert:

  1. Der Client sendet eine Anfrage an den Anwendungsserver, um die Zahlungsschnittstelle zu öffnen.
  2. Der Anwendungsserver sendet Informationen über die Zahlungswährung und den ‑betrag an den Xsolla-Server.
  3. Der Xsolla-Server gibt einen Token mit den Kaufdetails und den Bezahlstation-Parametern zurück.
  4. Der Anwendungsserver sendet den empfangenen Token an den Client.
  5. Der Client öffnet die Bezahlstation in einem Browser mithilfe des SDK.
  6. Nach dem der Bezahlvorgang abgeschlossen ist, wird ein Webhook mit dem Zahlungsstatus an den Anwendungsserver gesendet.

Discord-Server
Treten Sie mit dem Xsolla-Team und Entwicklern, die Xsolla-Produkte nutzen, in Kontakt.

Integrationsablauf

So integrieren Sie die Payments-Bibliothek:

  1. Laden Sie Android Studio herunter, und installieren Sie es.
  2. Erstellen Sie ein neues Projekt.
  3. Richten Sie einen Ingame-Shop und einen Produktkatalog auf Ihrem Server ein.
  4. Konfigurieren Sie das Projekt im Kundenportal.
  5. Installieren Sie die Bibliothek.
  6. Konfigurieren Sie die Rückgabe-URL.
  7. Rufen Sie einen Token ab.
  8. Öffnen Sie das Zahlungsportal.
  9. Richten Sie das Webhook-Handling ein.

Testen Sie den Zahlungsvorgang nach Abschluss der Integration.

Note
In diesem Leitfaden werden die minimalen Einstellungen beschrieben, die für den Schnellstart des Moduls erforderlich sind. Bei Fragen wenden Sie sich bitte an Ihren Account Manager.

Projekt im Kundenportal einrichten

  1. Registrieren Sie sich im Kundenportal.
  2. Konfigurieren Sie das automatisch nach der Registrierung im Kundeportal erstellte Projekt:
    1. Wählen Sie im Abschnitt Projekte Ihr Projekt aus, und wechseln Sie in die Projekteinstellungen.
    2. Fügen Sie in der Registerkarte Allgemeine Einstellungen Folgendes hinzu:
      • Bild (optional)
      • Projektsprachen (Englisch ist voreingestellt)
      • Jeweiliger Projektname für alle ausgewählten Sprachen
      • Spiel-Website (optional)
      • Projektbeschreibung (optional)
    3. Klicken Sie auf Speichern.

Bei der Integration benötigen Sie die folgenden Parameter:

  • Händler-ID. Diese finden Sie unter Projekteinstellungen > Webhooks.

  • API-Schlüssel. Diesen finden Sie unter Firmeneinstellungen > API-Schlüssel.

  • Projekt-ID. Diese finden Sie unter Projekteinstellungen > Projekt-ID.

  • Geheimer Schlüssel. Diesen finden Sie unter Projekteinstellungen > Webhooks.

Bibliothek installieren

Die Bibliothek ist im Maven Central verfügbar.

So installieren Sie die Bibliothek:

  1. Starten Sie Android Studio.
  2. Öffnen Sie die build.gradle-Datei Ihrer Anwendung.
  3. Fügen Sie folgende Zeile im Abhängigkeiten-Abschnitt hinzu, wobei <version_number> der erforderlichen Version der Payments-Bibliothek entspricht:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:payments:<version_number>'

Rückgabe-URL konfigurieren

Fügen Sie die folgenden Strings zur Stringressourcendatei des Projekts hinzu, um die im Kundenportal konfigurierte Rückgabe-URL anzugeben.

Copy
Full screen
Small screen
<string name="xsolla_payments_redirect_scheme">https</string>
<string name="xsolla_payments_redirect_host">example.com</string>
<string name="xsolla_payments_redirect_path_prefix">/payment</string>

Darin sollten Sie die Rückgabe-URL in drei Teile unterteilen. Das Beispiel ist für https://example.com/payment.

Token abrufen

Nutzen Sie den API-Aufruf Create payment token by server, um einen Token zu beziehen. Ihr Server sollte eine Anfrage samt folgender Daten an den Xsolla-Server senden:

  • die ID des Benutzers, der den Kauf getätigt hat
  • Zahlungsbetrag
  • Zahlungswährung
  • Kaufangaben (optional)
  • Bezahlstation-Parameter (optional)

Sie können die Kaufinformationen auf eine der folgenden Weisen übermitteln:

  • als Liste der Artikel über den Parameter item
  • als Beschreibung des Kaufs über den Parameter description

Bezahlstation-Parameter (z. B. Lokalisierungssprache, Eigenschaften der Benutzeroberfläche, Theme) werden im settings-Objekt übermittelt. Um die Testumgebung zu aktivieren/deaktivieren, müssen Sie den Wert des Parameters sandbox in der Tokenanfrage sowie die SDK-Einstellungen ändern. Um die restlichen Einstellungen der Bezahlstation-Benutzeroberfläche zu ändern, müssen Sie den Parameter der Tokenanfrage ändern.

Note
Sie können zusätzliche Informationen im Parameter custom_parameters übermitteln. Diese Informationen werden auch in den konfigurierten Webhooks übermittelt.

Zahlungsportal öffnen

Bezahlstation-Intent erstellen

Um das Zahlungsportal zu öffnen, übermitteln Sie den im vorherigen Schritt bezogenen Token an die SDK-Methode XPayments.createIntentBuilder.

Copy
Full screen
Small screen
val intent = XPayments.createIntentBuilder(getContext())
            .accessToken(AccessToken(token))
            .isSandbox(BuildConfig.IS_SANDBOX)
            .build()

Aktivität mittels erstelltem Intent starten

Copy
Full screen
Small screen
startActivityForResult(intent, RC_PAYSTATION)

Aktivitätsresultate parsen

Copy
Full screen
Small screen
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
       super.onActivityResult(requestCode, resultCode, data)
       if (requestCode == RC_PAYSTATION) {
           val result = XPayments.Result.fromResultIntent(data)
       }
   }

Webhooks einrichten

  1. Wechseln Sie zu Ihrem Projekt im Kundenportal.
  2. Navigieren Sie zu Projekteinstellungen > Webhooks, geben Sie die Webhook-URL an, und generieren Sie einen geheimen Schlüssel, um Projekt-Webhooks signieren zu können.

  1. Speichern Sie die Einstellungen.
  2. Implementieren Sie folgende Webhooks für die Bezahlstation:

  1. Wechseln Sie zur Registerkarte Checkout, und klicken Sie auf Verknüpfen.

  1. Testen Sie den Webhook-Handler.

Note
Um den Empfang eines Webhooks zu bestätigen, muss Ihr Server wie folgt antworten:
  • HTTP-Statuscode 204 ohne Nachrichtenrumpf
  • HTTP-Statuscode 400 samt Problembeschreibung, sofern der angegebene Benutzer nicht gefunden oder eine ungültige Signatur übermittelt wurde
Mehr zu Webhooks, inklusive Beispiele, erfahren Sie in der API-Referenz.

  1. Klicken Sie im seitlichen Menü auf Bezahlstation, und wechseln Sie anschließend zur Registerkarte Einstellungen.
  2. Stellen Sie den Umschalter für die Option Checkout auf Ein.

  1. Klicken Sie auf Speichern.

Zahlungsvorgang testen

Testen Sie nach erfolgreicher Konfiguration der Bibliothek den Zahlungsvorgang. Standardmäßig werden alle Zahlungen in der Testumgebung bzw. im Sandbox-Modus abgewickelt. Sie können eine Testbankkarte nutzen, um einen erfolgreichen Zahlungsvorgang zu simulieren.

So testen Sie den Zahlungsvorgang durch das Abwickeln echter Zahlungen:

  • Stellen Sie sicher, dass Sie einen Vertrag mit Xsolla geschlossen haben.
  • Legen Sei beim Erstellen eines Paystation-Intent-Objekts .isSandbox(false) fest.
  • Legen Sie im Rahmen der Tokenanfrage für den Parameter sandbox den Wert false fest.

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.
Diese Seite bewerten
Diese Seite bewerten
Gibt es etwas, das wir verbessern können?

Jetzt nicht

Vielen Dank für Ihr Feedback!
Letztmalig aktualisiert: 17. Juni 2021

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!