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

Note
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 in das Zahlungsportal müssen Sie einen Token beziehen. 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.

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.
Note
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 den Beispielcode für das Anfordern des Tokens in PHP mithilfe des Xsolla PHP SDK. 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

use Xsolla\SDK\API\XsollaClient;
use Xsolla\SDK\API\PaymentUI\TokenRequest;

$tokenRequest = new TokenRequest($projectId, $userId);
$tokenRequest->setUserEmail('email@example.com')
    ->setExternalPaymentId('12345')
    ->setSandboxMode(true)
    ->setUserName('USER_NAME')
    ->setPurchase(9.99, 'USD');

$xsollaClient = XsollaClient::factory(array(
    'merchant_id' => MERCHANT_ID,
    'api_key' => API_KEY
));
$token = $xsollaClient->createPaymentUITokenFromRequest($tokenRequest);
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:

Note
Nutzen Sie folgende URL, um das Zahlungsportal in der Testumgebung aufzurufen: https://sandbox-secure.xsolla.com/.

Pay Station Embed

Notice
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 Analytic-Systeme übermittelt werden. Wenden Sie sich zum Einrichten der Ereignisverarbeitung in Ihrem Analytic-System an Ihren Account Manager oder senden Sie eine E-Mail an am@xsolla.com.

Zur einfachen Implementierung des Zahlungsportals auf Ihrer Website empfiehlt es sich, das Skripts aus unserem CDN herunterzuladen. Verwenden Sie diese URL, um das Skript auf Ihrer Website zu integrieren. Weitere Informationen finden Sie in unserem GitHub Repository.

Script-Initialisierungsparameter:

ParameterTypBeschreibung
access_token
stringToken; wird über die API empfangen. Erforderlich.
sandbox
booleanZum Testen des Zahlungsvorgangs auf true festlegen: Anstelle von secure.xsolla.com wird sandbox-secure.xsolla.com verwendet.
lightbox
objectLightbox-Parameter (Objekt; nur für die Desktop-Version).
lightbox.width
stringRahmenbreite der Lightbox. Falls als Wert null festgelegt ist, wird die Breite 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.

Note
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.

Notice
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:
Liste der Webhooks
Erfahren Sie mehr über Webhooks inklusive Beispiele.

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.

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

Zahlungsvorgang testen

Zum Ausprobieren des Zahlungsvorgangs können Sie:

  • die Testumgebung (Sandbox-Modus) nutzen
  • Eine echte Zahlung tätigen und anschließend eine Rückerstattung über das Kundenportal vornehmen

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

Gehen Sie folgendermaßen vor, um eine Kartenzahlung zu testen:
  1. Rufen Sie das Zahlungsportal in der Testumgebung (Sandbox-Modus) 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, Ablaufdatum oder CVV) machen, um einen Fehler zu generieren.
Liste der Testkarten
Sehen Sie sich die komplette Liste der verfügbaren Testbankkarten an.
Note

Wenn das Wohnsitz des Benutzers in den USA oder in Kanada liegt, müssen Sie zusätzlich zu den Kartendaten die Postleitzahl angeben. Sie können eine beliebige gültige Postleitzahl angeben (z. B. 12345). Darüber wird die Sales Tax bestimmt. Die Postleitzahl hat keinen Einfluss auf den Ablauf der Testzahlung.

Bankkartenzahlungen in der Testumgebung können in folgenden Währungen getätigt werden: 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.

Notice
Um echte Zahlungen erhalten zu können, entfernen Sie zuerst "mode":"sandbox".

Um den Zahlungsvorgang mit echten Zahlungen zu testen, empfiehlt es sich zudem, eine Bankkarte zu verwenden:

  1. Öffnen Sie das Zahlungsportal.
  2. Wählen Sie als Zahlungsmethode Kredit-/Debitkarten aus.
  3. Geben Sie gültige Kartendaten ein.
  4. Rufen Sie nach erfolgter Zahlung die Transaktionssuche im Kundenportal auf.
  5. Wählen Sie Ihre testweise getätigte Transaktion aus, und klicken Sie auf Erstatten (Die Transaktion muss den Status Abgeschlossen aufweisen).

Note
Zum Testen des Zahlungsvorgangs empfiehlt sich die Nutzung einer Visa oder MasterCard.

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!