# Token erstellen Sie können einen Token mit beliebigen Benutzerparametern erstellen. Diese Parameter senden Sie beim Erhalt des Tokens und erhalten sie nach einer erfolgreichen Zahlung zurück. Ein Token kann nur Parameter enthalten, die entweder in diesem Dokument beschrieben oder von Ihnen vordefiniert sind. Wenn ein Parameter im falschen Format gesendet wird oder den falschen Typ hat, wird kein Token ausgestellt. Sie erhalten einen 422-HTTP-Code mit der Fehlerbeschreibung im JSON-Body. In extended_message erhalten Sie eine Information, welche genauen Parameter falsch gesendet wurden. BemerkungDieser API-Aufruf enthält nicht den Pfadparameter project_id, daher müssen Sie zum Einrichten der Autorisierung den API-Schlüssel verwenden, der in allen Projekten des Unternehmens gültig ist. Endpoint: POST /merchants/{merchant_id}/token Version: 2.0 Security: basicAuth ## Path parameters: - `merchant_id` (integer, required) Händler-ID. ## Request fields (application/json): - `custom_parameters` (object) Sie können zusätzliche Parameter im Token im custom_parameters-Objekt übermitteln, um Betrugsschutzfilter zu konfigurieren. Die empfohlenen Parameter werden in der Drop-down-Liste angezeigt. [Siehe Pay-Station-Dokumentation ](https://developers.xsolla.com/de/doc/pay-station/features/antifraud/). - `custom_parameters.active_date` (string) Letztmalig online; Datum gemäß [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.additional_verification` (boolean) Filtert danach, ob der Spieler Konto-Verifikationsverfahren verwendet. - `custom_parameters.character_customized` (boolean) Filtert danach, ob der Spieler seinen Charakter individuell angepasst hat. - `custom_parameters.chat_activity` (boolean) Filtert danach, ob der Spieler die Chatfunktion verwendet. - `custom_parameters.completed_tasks` (integer) Anzahl der erledigten Aufgaben bzw. erreichten Ziele. - `custom_parameters.forum_activity` (boolean) Filtert danach, ob der Spieler die Chatfunktion verwendet. - `custom_parameters.items_used` (boolean) Filtert danach, ob der Spieler im Spiel gekaufte Gegenstände verwendet. - `custom_parameters.karma_points` (integer) Karma des Spielers. - `custom_parameters.last_change_password_date` (string) Datum der letzten Kennwortänderung; Datumsangabe gemäß [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.non_premium_currency` (integer) Betrag der gewöhnlichen ("non-premium") Währung. - `custom_parameters.notifications_enabled` (boolean) Filtert danach, ob der Spieler den Erhalt von Benachrichtigungen aktiviert hat. - `custom_parameters.profile_completed` (boolean) Filtert danach, ob der Spieler auf seinem Profil zusätzliche Informationen hinzugefügt hat. - `custom_parameters.profile_image_added` (boolean) Filtert danach, ob der Spieler ein Profilbild hochgeladen hat. - `custom_parameters.pvp_activity` (boolean) Filtert danach, ob der Spieler an PvP-Schlachten teilnimmt. - `custom_parameters.registration_date` (string) Datum der Kontoerstellung gemäß [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.session_time` (string) Durchschnittliche Sitzungsdauer, Angabe gemäß [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.social_networks_added` (boolean) Filtert danach, ob der Spieler Profile von sozialen Netzwerken verknüpft hat. - `custom_parameters.total_bans` (integer) Filtert danach, wie oft der Spieler im Chat/Forum gesperrt wurde. - `custom_parameters.total_characters` (integer) Anzahl der Charaktere im Spiel. - `custom_parameters.total_clans` (integer) Anzahl der Clans, bei denen der Spieler Mitglied ist. - `custom_parameters.total_friends` (integer) Anzahl der Freunde. - `custom_parameters.total_game_events` (integer) Anzahl der Ingame-Events, an denen der Spieler teilgenommen hat. - `custom_parameters.total_gifts` (integer) Anzahl der Geschenke im Spiel, die der Spieler verschickt/erhalten hat. - `custom_parameters.total_hours` (integer) Gesamtzahl der Spielstunden. - `custom_parameters.total_inventory_value` (integer) Gesamtwert des Inventars (in Ingame-Währung). - `custom_parameters.total_sum` (integer) Gesamtbetrag der Zahlungen. - `custom_parameters.tutorial_completed` (boolean) Filtert danach, ob der Spieler das Tutorial des Spiels absolviert hat. - `custom_parameters.unlocked_achievements` (integer) Anzahl an freigeschalteten Errungenschaften. - `custom_parameters.user_level` (integer) Level, Ansehen oder Rang des Spielers. - `custom_parameters.win_rate` (integer) Gewinnquote. - `purchase` (object) Objekt, welches Angaben zum Kauf enthält. Example: {"checkout":{"amount":10,"currency":"USD"},"subscription":{"gift":{"email":"recipient_email@email.com","recipient":"test_recipient_v1"}}} - `purchase.checkout` (object) Objekt, welches Angaben zur Bezahlung enthält. Example: {"amount":10,"currency":"USD"} - `purchase.checkout.amount` (integer) Kaufbetrag. Example: 10 - `purchase.checkout.currency` (string) Kaufwährung. Währungscode, bestehend aus drei Buchstaben gemäß [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Example: "USD" - `purchase.subscription` (object) Daten zum Abonnement (Objekt). Example: {"gift":{"email":"recipient_email@email.com","recipient":"test_recipient_v1"}} - `purchase.subscription.available_plans` (array) Abonnement-Modelle (Array), die im Zahlungsportal angezeigt werden sollen. - `purchase.subscription.currency` (string) Währung des Abo-Modells, die bei allen Kalkulationen verwendet werden soll. - `purchase.subscription.gift` (object) Details des Geschenkabonnements. Example: {"email":"recipient_email@email.com","recipient":"test_recipient_v1"} - `purchase.subscription.gift.anonymous` (boolean) Ob der Name des Geschenkgebers verborgen werden soll. Wenn true, ist der Name des Geschenkgebers in der E-Mail-Benachrichtigung nicht sichtbar. Standardwert ist false. - `purchase.subscription.gift.email` (string, required) E-Mail-Adresse des Empfängers. Example: "recipient_email@email.com" - `purchase.subscription.gift.message` (string) Nachricht für den Empfänger. - `purchase.subscription.gift.recipient` (string, required) ID des Empfängers. Example: "test_recipient_v1" - `purchase.subscription.gift.redirect_url` (string) Geben Sie hier einen Link zu einer Seite mit zusätzlichen Informationen über das Geschenkabonnement oder zur Seite für die Kontoerstellung an. Der Geschenkempfänger kann von der E-Mail-Benachrichtigung aus zu dieser Seite navigieren. - `purchase.subscription.operation` (string) Diese Operationsart kommt beim Abo-Modell des Nutzers zur Anwendung. Zur Änderung des Abo-Modells muss der change_plan-Wert übermittelt werden. Sie müssen die ID des neuen Abo-Modells im purchase.subscription.plan_id-Parameter festlegen. - `purchase.subscription.plan_id` (string) Externe ID des Abo-Modells. Diese finden Sie im Kundenportal unter Subscriptions > Abo-Modelle. - `purchase.subscription.product_id` (string) Produkt-ID. - `purchase.subscription.trial_days` (integer) Probezeitraum in Tagen. - `settings` (object) Benutzerdefinierte Projekteinstellungen (Objekt). Example: {"currency":"USD","language":"en","project_id":16184,"ui":{"components":{"virtual_currency":{"custom_amount":true}},"desktop":{"virtual_item_list":{"button_with_price":true,"layout":"list"}},"size":"medium"}} - `settings.currency` (string) Bevorzugte Zahlungswährung. Währungscode, bestehend aus drei Buchstaben gemäß [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Example: "USD" - `settings.external_id` (string) Transaktions-ID im Spiel. Eine individuelle ID pro Benutzerzahlung erforderlich. - `settings.language` (string) Sprache der Benutzeroberfläche. [Sprachencode](https://developers.xsolla.com/de/doc/pay-station/features/localization/), bestehend aus 2 Kleinbuchstaben. Example: "en" - `settings.mode` (string) Legen Sie als Wert sandbox fest, um den Zahlungsvorgang auszutesten. Für einen solchen Fall nutzen Sie https://sandbox-secure.xsolla.com, um das Zahlungsportal auszutesten. - `settings.payment_method` (integer) ID der Zahlungsart. - `settings.payment_widget` (string) Zahlungs-Widget. Kann paybycash oder giftcard sein. Wenn der Parameter festgelegt ist, wird der Benutzer entsprechend zum Widget "Pay by Cash" oder zum Widget "Gift Cards" weitergeleitet. Enum: "paybycash", "giftcard" - `settings.project_id` (integer, required) Xsolla-ID des Spiels. Kann im Kundenportal eingesehen werden. Example: 16184 - `settings.redirect_policy` (object) Weiterleitungsrichtlinien-Einstellungen (Objekt). - `settings.redirect_policy.autoredirect_from_status_page` (boolean) Legt fest, ob die Weiterleitung von der Statusseite automatisch erfolgt. - `settings.redirect_policy.delay` (integer) Verzögerung (in Sekunden), nach der ein Benutzer automatisch zur Rückgabe-URL weitergeleitet wird. - `settings.redirect_policy.manual_redirection_action` (string) Das Verhalten der Pay Station wird ausgelöst, wenn der Benutzer auf die Schaltfläche Schließen oder die Schaltfläche Zurück zum Spiel klickt. Kann redirect (standardmäßig) und postmessage sein. Wenn auf redirect gesetzt, wird ein Benutzer zu der im Token übergebenen oder im Kundenportal angegebenen URL umgeleitet. Wenn er auf postmessage gesetzt ist, wird ein Benutzer nicht auf andere Seiten umgeleitet. Durch Klicken auf das Schließen-Symbol wird das close Ereignis gesendet, und durch Klicken auf die Schaltfläche Zurück zum Spiel - das return Ereignis. Enum: "redirect", "postmessage" - `settings.redirect_policy.redirect_button_caption` (string) Text auf der Schaltfläche für die manuelle Weiterleitung. - `settings.redirect_policy.redirect_conditions` (string) Zahlungsstatus, bei dem ein Benutzer zur Rückgabe-URL weitergeleitet wird. Möglich sind: none, successful, successful_or_canсeled oder any. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.redirect_policy.status_for_manual_redirection` (string) Zahlungsstatus, bei dem eine Schaltfläche angezeigt wird, die einen Benutzer zur Rückgabe-URL weiterleitet. Möglich sind: none, successful, successful_or_canсeled oder any. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.return_url` (string) Seite, zu welcher der Benutzer nach der Zahlung weitergeleitet wird. Die folgenden Parameter werden dem Link automatisch hinzugefügt: user_id, foreigninvoice, invoice_id, status. - `settings.ui` (object) Schnittstellen-Einstellungen (Objekt). Example: {"components":{"virtual_currency":{"custom_amount":true}},"desktop":{"virtual_item_list":{"button_with_price":true,"layout":"list"}},"size":"medium"} - `settings.ui.components` (object) Menü-Einstellungen (Objekt). Example: {"virtual_currency":{"custom_amount":true}} - `settings.ui.components.subscriptions` (object) Untermenü "Abo-Modelle" (Objekt). - `settings.ui.components.subscriptions.hidden` (boolean) Legt fest, ob das Untermenü angezeigt wird. - `settings.ui.components.subscriptions.order` (integer) Position des Untermenüs im Hauptmenü. - `settings.ui.components.virtual_currency` (object) Untermenü "Virtuelle Währung". Example: {"custom_amount":true} - `settings.ui.components.virtual_currency.custom_amount` (boolean) Legt fest, ob der Benutzer eine willkürliche Menge der virtuellen Währung im Zahlungsportal eingeben kann. Example: true - `settings.ui.components.virtual_items` (object) Untermenü "Virtuelle Gegenstände". - `settings.ui.components.virtual_items.selected_group` (string) Gruppe, die nach dem Öffnen der Registerkarte "Virtuelle Gegenstände" angezeigt wird. - `settings.ui.components.virtual_items.selected_item` (string) Gegenstand, der nach dem Öffnen der Registerkarte "Virtuelle Gegenstände" angezeigt wird (SKU des Gegenstands). - `settings.ui.desktop` (object) Schnittstellen-Einstellungen für die Desktop-Version (Objekt). Example: {"virtual_item_list":{"button_with_price":true,"layout":"list"}} - `settings.ui.desktop.header` (object) Einstellungen für den Header (Objekt). - `settings.ui.desktop.header.close_button` (boolean) Legt fest, ob eine Schließen-Schaltfläche in der Desktop-Version der Pay Station angezeigt wird. Die Schaltfläche schließt die Pay Station und leitet den Benutzer an die im settings.return_url-Parameter angegebene URL weiter. Standardmäßig ist false voreingestellt. - `settings.ui.desktop.header.is_visible` (boolean) Legt fest, ob der Header im Zahlungsportal angezeigt wird. - `settings.ui.desktop.header.type` (string) Erscheinungsbild des Headers. Als Wert lässt sich entweder compact (Projektname und Benutzer-ID sind ausgeblendet) oder normal (voreingestellt) festlegen. Enum: "compact", "normal" - `settings.ui.desktop.header.visible_logo` (boolean) Wenn true festgelegt ist, wird im Header Ihr Logo angezeigt (dafür müssen Sie das Bild zuerst Ihrem Customer Success Manager übermitteln). - `settings.ui.desktop.header.visible_name` (boolean) Legt fest, ob der Projektname im Header angezeigt wird. - `settings.ui.desktop.header.visible_purchase` (boolean) Legt fest, ob die Kaufbeschreibung (purchase.description.value) im Header angezeigt wird. true ist voreingestellt. - `settings.ui.desktop.subscription_list` (object) Einstellungen zur Liste der Abo-Modelle (Objekt). - `settings.ui.desktop.subscription_list.description` (string) Jeglicher Text, der im Zahlungsportal oberhalb der Liste der verfügbaren Abo-Modelle angezeigt werden soll. - `settings.ui.desktop.subscription_list.display_local_price` (boolean) Falls als Wert true festgelegt ist und falls die Landeswährung des Benutzers sich von der für das Abo-Modell festgelegten Währung unterscheidet, werden dem Benutzer beide Preise angezeigt: Einer in der Landes- und der andere in der Basiswährung. - `settings.ui.desktop.subscription_list.layout` (string) Listenvorlage. Als Wert lässt sich entweder list (voreingestellt) oder grid festlegen. Enum: "list", "grid" - `settings.ui.desktop.virtual_currency_list` (object) Einstellungen zur Liste der virtuellen Währungen (Objekt). - `settings.ui.desktop.virtual_currency_list.button_with_price` (boolean) Falls als Wert true festgelegt ist, wird der Preis auf der Schaltfläche angezeigt. Falls false festgelegt ist, wird der Preis links neben der Schaltfläche angezeigt. Standardwert ist false. - `settings.ui.desktop.virtual_currency_list.description` (string) Jeglicher Text, zur Anzeige oberhalb der Liste der virtuellen Währungen. - `settings.ui.desktop.virtual_item_list` (object) Einstellungen zur Liste der virtuellen Gegenstände (Objekt). Example: {"button_with_price":true,"layout":"list"} - `settings.ui.desktop.virtual_item_list.view` (string) Virtuelle Gruppe an Elementen in vertikalem/horizontalem Menü anzeigen. Es kann horizontal_navigation oder vertical_navigation (Standard) sein. Enum: "horizontal_navigation", "vertical_navigation" - `settings.ui.header` (object) - `settings.ui.header.visible_virtual_currency_balance` (boolean) Legt fest, ob dieses Element im Zahlungsportal ausgeblendet werden kann. true voreingestellt. - `settings.ui.is_prevent_external_link_open` (boolean) Ob die Umleitung von Links auf eine externe Ressource deaktiviert ist oder nicht. true standardmäßig. Wenn Sie auf einen externen Link klicken, wird das external-link-open Ereignis über den postMessage Mechanismus gesendet. Die Adresse für den umgeleiteten Link wird im url Parameter übergeben. - `settings.ui.license_url` (string) Link zur EULA. - `settings.ui.mobile` (object) - `settings.ui.mobile.footer` (object) - `settings.ui.mobile.footer.is_visible` (boolean) Legt fest, ob der Footer in der mobilen Version des Zahlungsportals ausgeblendet ist. - `settings.ui.mobile.mode` (string) Ein Benutzer kann nur mit seinen gespeicherten Zahlungsarten bezahlen. Als Wert lässt sich lediglich saved_accounts festlegen. Enum: "saved_accounts" - `settings.ui.mode` (string) Schnittstellenmodus in der Pay Station. Als Wert lässt sich lediglich user_account festlegen: Der Header enthält ausschließlich die Navigationsleiste des Benutzerkontos und der Benutzer kann kein Produkt auswählen oder eine Zahlung tätigen. Dieser Modus ist nur in der Desktop-Version verfügbar. - `settings.ui.size` (string) Größe des Zahlungsportals. Folgende Größen sind möglich: - [small](https://livedemo.xsolla.com/developers/small/): die kleinstmögliche Größe des Zahlungsportals. Verwenden Sie diese, wenn die Fenstergröße begrenzt ist (Abmessungen: 620 x 630) - [medium](https://livedemo.xsolla.com/developers/medium/): empfohlene Größe. Verwenden Sie diese, um das Zahlungsportal in einer Lightbox darzustellen (Abmessungen: 820 x 840) - [large](https://livedemo.xsolla.com/developers/large/): optimal für die Anzeige des Zahlungsportals in einem neuen Fenster/Registerkarte (Abmessungen: 820 x 840) Enum: "small", "medium", "large" - `settings.ui.theme` (string) Theme des Zahlungsportals. Als Wert lässt sich entweder default (voreingestellt) oder default_dark festlegen. Enum: "default", "default_dark" - `settings.ui.user_account` (object) Details zum Benutzerkonto (Objekt). - `settings.ui.user_account.history` (object) Untermenü Historie. - `settings.ui.user_account.history.enable` (boolean) Legt fest, ob das Untermenü angezeigt wird. Standardwert ist false. - `settings.ui.user_account.info` (object) Seite Mein Konto. - `settings.ui.user_account.payment_accounts` (object) Untermenü Meine Zahlungsarten. - `settings.ui.user_account.subscriptions` (object) Untermenü Abonnements verwalten. - `settings.ui.version` (string) Gerätetyp. Als Wert lässt sich entweder desktop (voreingestellt) oder mobile festlegen. Enum: "desktop", "mobile" - `user` (object) Benutzerdaten (Objekt). Example: {"age":19,"country":{"allow_modify":true,"value":"US"},"email":{"value":"john.smith@mail.com"},"id":{"value":"user_2"},"name":{"value":"John Smith"}} - `user.age` (integer) Alter des Benutzers. Example: 19 - `user.attributes` (object) Benutzerattribute zum Filtern der Liste der Gegenstände; repräsentiert durch eine gültige Reihe von JSON-Objekten bestehend aus Schlüssel-Wert-Paaren. - `user.country` (object) Example: {"allow_modify":true,"value":"US"} - `user.country.allow_modify` (boolean) Legt fest, ob ein Benutzer das Land im Zahlungsportal ändern darf. Wenn country.value im Token übermittelt wird, ist der Wert standardmäßig auf false gestellt. Example: true - `user.country.value` (string) Ländercode, bestehend aus 2 Großbuchstaben gemäß [ISO 3166-1 ALPHA-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Example: "US" - `user.email` (object) Das user.email Objekt ist ein integraler Bestandteil beim Aufbau von Anti-Betrugsmodellen und hilft, die Akzeptanzraten zu erhöhen. Es ist sowohl für Xsolla als auch für Zahlungssysteme erforderlich. Wenn der Parameter nicht übergeben wird, erscheint auf der Bezahlseite das Pflichtfeld zur Eingabe der E-Mail. Ein Benutzer erhält eine Kaufbestätigung an die im Parameter übergebene oder auf der Bezahlseite eingegebene E-Mail. Example: {"value":"john.smith@mail.com"} - `user.email.value` (string, required) E-Mail-Adresse des Benutzers. Muss gemäß [RFC 822](https://www.w3.org/Protocols/rfc822/#z8)-Protokoll gültig sein. Example: "john.smith@mail.com" - `user.id` (object, required) Example: {"value":"user_2"} - `user.id.value` (string, required) Benutzer-ID. Example: "user_2" - `user.is_legal` (boolean) Legt fest, ob der Benutzer eine juristische Person ist. - `user.legal` (object) Objekt mit Angaben zur juristischen Person. Objekt und alle seine Parameter sind erforderlich, falls für user.is_legal true festgelegt ist. - `user.legal.address` (string) Vollständige Unternehmensanschrift. - `user.legal.country` (string) Land des Unternehmenssitzes. Ländercode, bestehend aus 2 Großbuchstaben gemäß [ISO 3166-1 ALPHA-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.legal.name` (string) Vollständiger Name des Unternehmens. - `user.legal.vat_id` (string) Steuerliche Identifikationsnummer. - `user.name` (object) Example: {"value":"John Smith"} - `user.name.value` (string) Benutzername. Example: "John Smith" - `user.phone` (object) - `user.phone.value` (string) Telefonnummer des Benutzers. - `user.public_id` (object) - `user.public_id.value` (string) Parameter, durch den der Benutzer eindeutig identifizierbar ist und der dem Benutzer bekannt ist (E-Mail, Benutzername, usw.). Gestattet dem Benutzer, Käufe außerhalb des Game-Stores zu tätigen (z. B. via Verkaufsterminals). - `user.steam_id` (object) - `user.steam_id.value` (string) Steam-ID. - `user.tracking_id` (object) - `user.tracking_id.value` (string) Eindeutige Tracking-ID (wird bei Marketingkampagnen verwendet). - `user.utm` (object) Datenverkehrsattribute (Objekt). - `user.utm.utm_campaign` (string) Kampagnenbezeichnung, ins Englische transliteriert oder übersetzt. - `user.utm.utm_content` (string) Kampagneninhalt. - `user.utm.utm_medium` (string) Datenverkehrskanal (kontextbezogene Anzeigen, mediale Anzeigen, E-Mail-Listen, usw.). - `user.utm.utm_source` (string) Ursprung des Datenverkehrs. - `user.utm.utm_term` (string) Kampagnen-Keyword. Falls festgelegt, basieren die Statistiken auf den Keywords, die für die Zielgruppenwerbung verwendet werden, anstatt auf spezifischen Suchanfragen. In Google Analytics ist der angegebene utm_term Teil des allgemeinen Berichts zu Suchbegriffen. ## Response 200 fields (application/json): - `token` (string) ## Response 422 fields (application/json): - `extended_message` (object) - `extended_message.global_errors` (array) - `extended_message.property_errors` (object) Objekt enthält Parameternamen mit Fehlerbeschreibungen. - `http_status_code` (integer) - `message` (string) - `request_id` (string)