Zahlungslösung integrieren

Damit Sie Referrals tracken und Auszahlungen an Kooperationspartner vornehmen können, müssen Sie zuerst die Xsolla-Bezahlstation integrieren. Anforderungen:

  1. Die Bezahlstation ist auf einer leistungsoptimierten Landing-Page integriert.
  2. Die Bezahlstation ist die einzige Zahlungsmethode auf der Landing-Page, die den Traffic durch das Partnernetzwerk-Prorgramms leitet.

Token abrufen

Hinweis
Damit autorisierte Benutzer auf Ihrer Website Käufe tätigen können, müssen Sie das Abrufen eines Tokens implementieren. Wenn Sie etwas an nicht autorisierte Benutzer verkaufen möchten, verknüpfen Sie das Buy Button-Produkt.

Für die Integration des Zahlungsportals müssen Sie einen Token abrufen. Ein Zugriffstoken ist ein String, mit dem sich Spiele-, Benutzer- und Kaufparameter identifizieren lassen.

Xsolla-API nutzt Basisauthentifizierung. Geben Sie Ihre Händler-ID als Benutzernamen und den API-Schlüssel als Passwort an.

So finden Sie diese Daten:

  1. Wechseln Sie im Kundenportal in die Firmeneinstellungen.
  2. Kopieren Sie auf der Registerkarte Firma die Händler-ID.
  3. Kopieren Sie auf der Registerkarte API-Schlüssel den API-Schlüssel.

URL zum Abrufen des Tokens:

Copy
Full screen
Small screen
https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token

Sie können die HTTP-POST-Anfrage ändern, indem Sie die Parameter einfügen, die Sie an die Zahlungsportal übermitteln möchten. Benutzerinformationen übermitteln Sie in den Parametern user.id, user.name und user.email der Token erstellen-Methode.

Hinweis
Nutzen Sie für den Parameter user.id eine Kennung, die sich leicht merken lässt, damit Benutzer sie außerhalb des Spiels (z. B. beim Aufladen des Spielguthabens mittels Push-Zahlungen) verwenden können.
API-Referenz
Sehen Sie sich die komplette Liste der Parameter an.

Sowohl die Anfrage als auch die Antwort erfolgen im JSON-Format.

Nachstehend finden Sie einen Beispielcode für das Anfordern des Tokens in PHP. Falls Sie eine andere Programmiersprache verwenden, sehen Sie sich das CURL-Beispiel an, indem Sie auf die Registerkarte CURL klicken.

Copy
Full screen
Small screen
php
  • php
  • curl
<?php

$uri = 'https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token';

$body = [
    "user" => [
        "id" => [
            "value" => "1234567"
        ],
        "email" => [
            "value" => "email@example.com"
        ]
    ],
    "settings" => [
        "project_id" => 14004,
        "mode" => "sandbox"
    ],
    "purchase" => [
        "checkout" => [
            "amount" => 9.99,
            "currency" => "USD"
        ]
    ]
];

$auth = base64_encode('your_merchant_id:your_merchant_api_key');

$headers = [
    'Authorization: Basic ' . $auth,
    'Content-Type: application/json',
    'Accept: application/json',
];

$request = curl_init($uri);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request, CURLOPT_POSTFIELDS, $body);
curl_setopt($request, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($request);
print_r($response);
curl -v https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token \
-X POST \
-u your_merchant_id:merchant_api_key \
-H 'Content-Type:application/json' \
-H 'Accept: application/json' \
-d '
{
    "user": {
        "id": {
            "value": "1234567"
        },
        "email": {
            "value": "email@example.com"
        }
    },
    "settings": {
        "project_id": 14004,
        "mode": "sandbox"
    },
    "purchase": {
            "checkout": {
                "amount": 9.99,
                "currency": "USD"
            }
    }
}'

Zahlungsportal öffnen

Es gibt drei Möglichkeiten, das Zahlungsportal zu öffnen:

Hinweis

Solange Sie keinen Vertrag mit Xsolla geschlossen haben, können Sie den Zahlungsvorgang nur im Sandbox-Modus testen. Falls Fehler auftreten, finden Sie hier deren Erläuterung.

Nutzen Sie folgende URL, um das Zahlungsportal in der Testumgebung aufzurufen: https://sandbox-secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN; wobei ACCESS_TOKEN der Token ist, der im vorherigen Schritt bezogen wurde.

Pay Station Embed

Achtung
Diese Art, das Zahlungsportal zu öffnen, unterstützt nicht den Verkauf von Spielschlüsseln. Befolgen Sie die Anleitung, um Spielschlüssel zu verkaufen.

BEISPIEL: ASYNCHRONES LADEN VON SCRIPTEN

Copy
Full screen
Small screen
<script>
   var options = {
       access_token: 'ACCESS_TOKEN', //TODO use access token, received on previous step
       sandbox: true //TODO please do not forget to remove this setting when going live
   };
   var s = document.createElement('script');
   s.type = "text/javascript";
   s.async = true;
   s.src = "https://static.xsolla.com/embed/paystation/1.0.7/widget.min.js";
   s.addEventListener('load', function (e) {
       XPayStationWidget.init(options);
   }, false);
   var head = document.getElementsByTagName('head')[0];
   head.appendChild(s);
</script>

<button data-xpaystation-widget-open>Buy Credits</button>

Pay Station Embed ermöglicht das Abrufen von Ereignissen aus dem Zahlungsportal via postMessage. Diese Ereignisse können an Analytics-Systeme übermittelt werden. Wenden Sie sich zum Einrichten der Ereignisverarbeitung in Ihrem Analytics-System an Ihren Account Manager oder senden Sie eine E-Mail an am@xsolla.com.

Das Xsolla-Team hat ein Widget entwickelt, mit dem Sie das Zahlungsportal ganz einfach in Ihre Website integrieren können. Das Widget-Skript ist in unserem GitHub-Repository verfügbar.

Script-Initialisierungsparameter:

ParameterTypBeschreibung
access_token
stringToken; wird über die API empfangen. Erforderlich.
sandbox
booleanStellen Sie den Wert des Parameters auf true, um den Zahlungsvorgang auszutesten: Anstelle von sandbox-secure.xsolla.com wird secure.xsolla.com verwendet.
lightbox
objectLightbox-Parameter (Objekt; nur für die Desktop-Version).
lightbox.width
stringRahmenhöhe der Lightbox. Falls als Wert null festgelegt ist, wird die Höhe der Bezahlstation verwendet. Standardwert ist null.
lightbox.height
stringRahmenhöhe der Lightbox. Falls als Wert null festgelegt ist, wird die Höhe der Bezahlstation verwendet. Standardwert ist 100%.
lightbox.zIndex
integerDefiniert die Stapelanordnung. Standardwert ist 1000.
lightbox.overlayOpacity
integerDeckkraft der Einblendung (0 bis 1). Standardwert ist .6.
lightbox.overlayBackground
stringHintergrundfarbe der Einblendung. Standardwert ist #000000.
lightbox.modal
booleanFalls true festgelegt ist, kann der Lightbox-Rahmen nicht geschlossen werden. Standardwert ist false.
lightbox.closeByClick
booleanFalls true festgelegt ist, wird die Lightbox durch Klick auf die Einblendung geschlossen. Standardwert ist true.
lightbox.closeByKeyboard
booleanFalls true festgelegt ist, wird die Lightbox durch Drücken der Escape-Taste geschlossen. Standardwert ist true.
lightbox.contentBackground
stringHintergrundfarbe des Rahmens. Standardwert ist #ffffff. Beachten Sie, dass diese Farbänderungen keinen Einfluss auf den iframe der Bezahlstation selbst haben, sondern nur auf die Einstellungen der Lightbox, in dem der iframe angezeigt wird.
lightbox.contentMargin
stringBreite des Rahmens. Standardwert ist 10px.
lightbox.spinner
stringArt der animierten Ladeanzeige. Als Wert lässt sich entweder xsolla oder round festlegen. Standardwert ist xsolla.
lightbox.spinnerColor
stringFarbe des Ladekreises. Kein Wert voreingestellt.
childWindow
objectOptionen für das untergeordnete Fenster, welches die Benutzeroberfläche der Bezahlstation enthält. Wird in der mobilen Version unterstützt.
childWindow.target
stringStelle, an welcher das Bezahlstation-Fenster geöffnet werden soll. Als Wert lässt sich entweder _blank, _self, _parent festlegen. Standardwert ist _blank.

Das Script ermöglicht Ihnen, die Ereignisse im Zahlungsportal zu verfolgen. Je nach Art des Ereignisses können Sie verschiedene Aktionen auf der Website ausführen.

Liste der Ereignisse:

ParameterBeschreibung
initWidget initialisiert.
openWidget geöffnet.
loadZahlungsportal (Bezahlstation) geladen.
closeZahlungsportal (Bezahlstation) geschlossen.
statusBenutzer befindet sich auf der Statusseite.
status-invoiceBenutzer befindet sich auf der Statusseite; Zahlung im Gange.
status-deliveringBenutzer befindet sich auf der Statusseite; Zahlung abgeschlossen; Zahlungsbestätigung wurde versendet.
status-doneBenutzer befindet sich auf der Statusseite, Zahlung wurde dem Benutzerkonto gutgeschrieben.
status-troubledBenutzer befindet sich auf der Statusseite; Zahlung fehlgeschlagen.

Wenn Sie den Ladevorgang für das Zahlungsportal selbst initialisieren möchten, verwenden Sie folgenden Link: https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN.

Hinweis
Für das Aufrufen des Zahlungsportals muss zwingend der Präfix https verwendet werden.

Für Testzwecke steht Ihnen folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN.

Achtung
Der Parameter access_token enthält personenbezogene Nutzerdaten. Stellen Sie sicher, dass Sie Server-zu-Server-Kommunikation einsetzen, wenn Sie diesen Parameter abrufen.

Iframe

Sie müssen Ihrerseits folgende Mechanismen implementieren:

  • Prüfung des Gerätetyps (Desktop oder mobiles Endgerät) und Übermittlung innerhalb des settings.ui.version-Tokenparameters.
  • Abrufen von Ereignissen aus dem Zahlungsportal via postMessage. Diese Ereignisse können an Analytics-Systeme gesendet werden. Um die Verarbeitung von Ereignissen in Ihrem Analytics-System einzurichten, wenden Sie sich an Ihren Account Manager oder senden Sie eine E-Mail an am@xsolla.com.

Nutzen Sie folgenden Link, um das Zahlungsportal in einem iframe aufzurufen: https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN; wobei ACCESS_TOKEN der Token ist, der im vorherigen Schritt bezogen wurde. Für Testzwecke steht Ihnen folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN.

Neues Fenster

Nutzen Sie folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN; wobei ACCESS_TOKEN der Token ist, der im vorherigen Schritt bezogen wurde. Für Testzwecke steht Ihnen folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN.

Webhooks einrichten

Folgende Webhooks müssen für die Bezahlstation implementiert werden:
Was sind Webhooks
Erfahren Sie mehr über Webhooks, deren Funktionsweise und deren Einsatzzweck.

Bestätigen Sie den Erhalt eines Webhooks, indem Sie mit dem HTTP-Statuscode 204 ohne Nachrichtenrumpf antworten.

Gehen Sie zum Testen des Webhook-Handlers zum Abschnitt Projekteinstellungen > Webhooks.

Hinweis
Rufen Sie nach der Webhook-Einrichtung die Bezahlstation-Einstellungen auf, und stellen sie die Option Checkout auf Ein.

Zahlungsvorgang testen

Um den Zahlungsprozess auszuprobieren, können Sie den Sandbox-Modus verwenden. Die Sandbox ist eine eigenständige Testumgebung, welche alle Funktionen der Live-Umgebung, mit Ausnahme echter und abgelehnter Zahlungen, unterstützt. Sie können auf die Testumgebung zugreifen, indem Sie "mode":"sandbox" beim Abrufen des Tokens senden.

Hinweis
Solange Sie keinen Vertrag mit Xsolla geschlossen haben, können Sie den Zahlungsvorgang nur in der Testumgebung testen.

In der Testumgebung können Sie den Zahlungsvorgang wie folgt testen:

Bankkartenzahlung testen

  1. Rufen Sie das Zahlungsportal in der Testumgebung auf.
  2. Wählen Sie unter Zahlungsarten die Gruppe Kredit-/Debitkarten aus.
  3. Geben Sie die Bankkartendaten ein. Geben Sie alle Werte in die verbleibenden Felder ein. Sie können auch falsche Angaben (Kartennummer oder Ablaufdatum) machen, um einen Fehler zu generieren.
  4. Klicken Sie auf Jetzt zahlen.
Liste der Testkarten
Sehen Sie sich die komplette Liste der verfügbaren Testbankkarten an.
Hinweis

Neben den Kartendaten müssen Sie zusätzlich die Postleitzahl angeben, wenn mindestens eine der folgenden Bedingungen erfüllt ist:

  • Der Benutzer ist in den USA oder in Kanada wohnhaft.
  • Anhand der Bank Identification Number (BIN) ist ersichtlich, dass die Karte in den USA ausgestellt wurde.

Sie können eine beliebige gültige Postleitzahl angeben (z. B. 12345), diese bestimmt die Höhe der Sales Tax und hat keinen Einfluss auf den Verlauf der Testzahlung.
In der Testumgebung lassen sich Bankkartenzahlungen in den folgenden Währungen tätigen: USD, EUR, RUB, GBP, AED, ALL, AMD, ARS, AUD, AZN, BGN, BRL, BYN, CAD, CHF, CLP, CNY, COP, CZK, DKK, DZD, EGP, GEL, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KES, KGS, KRW, KZT, MAD, MDL, MKD, MNT, MXN, MYR, NGN, PEN, PHP, PKR, PLN, RON, RSD, SAR, SEK, SGD, THB, TRY, TWD, UAH, UYU, UZS, VEF, VND, ZAR.

Achtung
Lesen Sie die Beschreibung der verfügbaren Testszenarien für Einmal-Käufe und gespeicherte Karten.

PayPal-Zahlung testen

Achtung
Derzeit lassen sich nur erfolgreiche PayPal-Zahlungen simulieren.

  1. Erstellen Sie ein Konto für die PayPal-Sandbox:
    1. Öffnen Sie die PayPal Developer-Website.
    2. Melden Sie sich bei Ihrem Konto an oder erstellen Sie ein neues.
    3. Navigieren Sie zu Sandbox > Accounts.
    4. Klicken Sie im Abschnitt Sandbox Account auf Create account.
    5. Wählen Sie im Modalfenster Personal als Kontotyp sowie ein Land aus.
    6. Klicken Sie auf Create. Das erstellte Konto wird in der Liste der Sandbox-Konten angezeigt.

  1. Öffnen Sie das Zahlungsportal in der Testumgebung.
  2. Wählen Sie PayPal als Zahlungsmethode aus.
  3. Geben Sie im Zahlungsfenster die erforderlichen Informationen ein.
  4. Klicken Sie auf Pay Now. Daraufhin öffnet sich ein Fenster, in dem Sie sich bei Ihrem PayPal-Konto anmelden müssen.

  1. Um den Zahlungsvorgangstest abzuschließen, geben Sie die Informationen zu dem in Schritt 1 erstellten Sandbox-Konto an: Unter Email ID eine E-Mail-Adresse und unter System Generated Password ein Passwort. So finden Sie diese Informationen:
    1. Melden Sie sich bei Ihrem Konto auf der PayPal Developer-Website an.
    2. Navigieren Sie zu Sandbox > Accounts.
    3. Wählen Sie im Abschnitt Sandbox Account das Sandbox-Konto aus.
    4. Klicken Sie auf ••• und dann in der Drop-down-Liste auf View/edit account.
  2. Klicken Sie auf Pay Now.

Ebenso können Sie die Informationen von bestehenden Sandbox-Konten verwenden:

Email IDSystem Generated Password
sb-xmxij16980134@business.example.comoi9_m_KW
sb-p7pju16979920@business.example.com7%%p8ioS

Live schalten

So beginnen Sie mit der Abwicklung echter Zahlungen:

  1. Stellen Sie sicher, dass Sie einen Vertrag mit Xsolla geschlossen haben.
  2. Öffnen Sie die Bezahlstation über folgenden Link: secure.xsolla.com. Oder ändern Sie im Pay Station Embed-Skript die URL von sandbox-secure.xsolla.com in secure.xsolla.com.
  3. Entfernen Sie "mode":"sandbox" beim Abrufen des Tokens.

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