# Zahlungstoken für den Kauf erstellen Generiert eine Bestellung und den zugehörigen Zahlungstoken. Die Bestellung wird auf Grundlage der im Anfragerumpf übermittelten Artikel generiert. Nutzen Sie folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation4/?token={token}, wobei {token} der empfangene Token ist. Für Testzwecke steht Ihnen die folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation4/?token={token}. Hinweis Der Paramter user.country.value dient dazu, eine Währung für die Bestellung auszuwählen. Ist das Land des Nutzers unbekannt, ist auch die Angabe der IP-Adresse des Nutzers im Header X-User-Ip möglich. Damit die Methode ordnungsgemäß funktioniert, ist eine dieser beiden Optionen erforderlich. Die ausgewählte Währung wird für die Zahlungsmethoden in Pay Station genutzt. Endpoint: POST /v3/project/{project_id}/admin/payment/token Version: 2.0.0 Security: basicAuth ## Path parameters: - `project_id` (integer, required) Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt. Example: 44056 ## Request fields (application/json): - `custom_parameters` (object,null) Ihre benutzerdefinierten Parameter werden in Form eines gültigen JSON-Satz von Schlüssel-Wert-Paaren dargestellt. Sie können über dieses Feld zusätzliche Parameter übermitteln und so Betrugsschutzfilter konfigurieren. [Siehe Bezahlstation-Dokumentation](https://developers.xsolla.com/de/doc/pay-station/features/antifraud/). Example: {"custom_parameters":{"bool_param":true,"int_param":100,"null_param":null,"string_param":"example"}} - `promo_code` (string) Eindeutiger Code, es wird zwischen Groß- und Kleinschreibung unterschieden. Enthält Buchstaben und Ziffern. Example: "WINTER2021" - `purchase` (object, required) - `purchase.items` (array, required) - `purchase.items.quantity` (number, required) Artikelmenge. Example: 2 - `purchase.items.sku` (string, required) Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten. Example: "t-shirt" - `sandbox` (boolean) Stellen Sie den Wert auf true, um den Bezahlvorgang zu testen. Verwenden Sie in diesem Fall https://sandbox-secure.xsolla.com, um auf die Benutzeroberfläche für Testzahlungen zuzugreifen. - `settings` (object) Einstellungen zum Konfigurieren des Bezahlvorgangs und des Zahlungsportals für einen Nutzer. - `settings.currency` (string) Bevorzugte Zahlungswährung. Dreistelliger Währungscode gemäß [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Ausführliche Informationen zu den [von Xsolla unterstützten Währungen](https://developers.xsolla.com/de/doc/pay-station/references/supported-currencies/) finden Sie in der Dokumentation. - `settings.external_id` (string) Externe ID der Transaktion. - `settings.language` (string) Sprache der Benutzeroberfläche. [Sprachencode](https://developers.xsolla.com/de/doc/pay-station/features/localization/), bestehend aus 2 Kleinbuchstaben. - `settings.payment_method` (integer) Zahlungsmethoden-ID. Die ID steuert die Anzeige der Währung im Zahlungsportal, da einige Zahlungsmethoden möglicherweise nur bestimmte Währungen unterstützen. - `settings.redirect_policy` (object) - `settings.redirect_policy.delay` (integer) Verzögerung, nach der der Nutzer automatisch zur Rückgabe-URL weitergeleitet wird. - `settings.redirect_policy.redirect_button_caption` (string) Lokalisierte Beschriftungen der Weiterleiten-Schaltfläche. Example: "Text button" - `settings.redirect_policy.redirect_conditions` (string) Zahlungsstatus, der eine Benutzerweiterleitung zur Rückgabe-URL auslöst. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.redirect_policy.status_for_manual_redirection` (string) Zahlungsstatus, der die Anzeige einer Schaltfläche auslöst, bei dessen Klick der Nutzer zur Rückgabe-URL weitergeleitet wird. Enum: "none", "vc", "successful", "successful_or_canceled", "any" - `settings.return_url` (string) Seite, auf die der Nutzer nach der Zahlung weitergeleitet wird. Die folgenden Parameter werden dem Link automatisch hinzugefügt: user_id, foreigninvoice, invoice_id, status. - `settings.ui` (object) Benutzeroberflächeneinstellungen. - `settings.ui.currency_format` (string) Damit ein Währungscode bestehend aus drei Buchstaben gemäß [ISO 4217](https://developers.xsolla.com/de/doc/pay-station/references/supported-currencies/) im Zahlungsportal angezeigt wird, müssen Sie code als Wert festlegen. Standardmäßig wird das Währungssymbol anstelle des Währungscodes angezeigt. - `settings.ui.desktop` (object) Benutzeroberflächeneinstellungen für die Desktopversion. - `settings.ui.desktop.header` (object) Header-Einstellungen. - `settings.ui.desktop.header.close_button` (boolean) Ob in der Desktop-Version des Zahlungsportals eine Schließen-Schaltfläche angezeigt werden soll. Die Schaltfläche schließt das Zahlungsportal und leitet den Nutzer zu der im Parameter settings.return_url angegebenen URL weiter. Standardmäßig ist false voreingestellt. - `settings.ui.desktop.header.is_visible` (boolean) Ob der Header im Zahlungsportal angezeigt wird. - `settings.ui.desktop.header.type` (string) Wie der Header angezeigt wird. Möglich sind compact (Projektname und Benutzer-ID sind ausgeblendet) oder normal (Standard). Enum: "compact", "normal" - `settings.ui.desktop.header.visible_logo` (boolean) Wenn true wird das Logo im Header angezeigt. Um das Bild hochzuladen, öffnen Sie Ihr Projekt im [Kundenportal](https://publisher.xsolla.com/), und navigieren Sie zu Pay Station > Einstellungen. - `settings.ui.desktop.header.visible_name` (boolean) Ob der Projektname im Header angezeigt wird. - `settings.ui.desktop.header.visible_purchase` (boolean) Ob die Kaufbeschreibung (purchase.description.value) im Header angezeigt wird. true ist voreingestellt. - `settings.ui.header` (object) - `settings.ui.header.visible_virtual_currency_balance` (boolean) Ob dieses Element im Zahlungsportal ausgeblendet werden kann oder nicht. - `settings.ui.is_cart_open_by_default` (boolean) Wie die Artikelliste im Warenkorb beim Öffnen der mobilen Zahlungsportal-Version angezeigt wird. Wenn true festgelegt ist, wird die Liste ausgeklappt angezeigt. Wenn false (Standard) festgelegt ist oder der Parameter nicht übermittelt wird, wird die Liste zusammengeklappt angezeigt. - `settings.ui.is_independent_windows` (boolean) Ob Nutzer zum Bezahlen vom im Launcher eingebetteten Browser (WebView) zu ihrem Standardbrowser weitergeleitet werden sollen. - `settings.ui.is_payment_methods_list_mode` (boolean) Ob die Liste der im Land des Nutzers verfügbaren Zahlungsmethoden beim Öffnen des Zahlungsportals angezeigt wird. Ist false festgelegt (Standard), wird die im Parameter settings.payment_method übermittelte Zahlungsmethode oder die vom [PayRank-Algorithmus](https://developers.xsolla.com/de/solutions/payments/payment-ui-management/top-payment-methods-management/) ausgewählte Zahlungsmethode angezeigt. - `settings.ui.is_prevent_external_link_open` (boolean) Ob die Weiterleitung per Link zu einer externen Ressource deaktiviert ist oder nicht. Wenn Sie auf einen externen Link klicken, wird das Ereignis external-link-open über den postMessage-Mechanismus gesendet. Die Adresse für den Weiterleitungs-Link wird im Parameter url übermittelt. - `settings.ui.is_show_close_widget_warning` (boolean) Ob während der Transaktionsverarbeitung eine Warnmeldung angezeigt werden soll, wenn der Mauszeiger über das Schließen-Symbol (×) bewegt wird. Wird false oder kein Parameter übermittelt, wird die Warnmeldung nicht angezeigt. - `settings.ui.is_three_ds_independent_windows` (boolean) Ob die "3-D Secure"-Prüfung in einem neuen Browserfenster geöffnet wird. Legen Sie true fest, wenn Ihr Setup eine Content Security Policy (CSP) vorschreibt. - `settings.ui.layout` (string) Position der Hauptelemente des Zahlungsportals. Sie können das Zahlungsportal im Spiel öffnen und/oder die Spalte mit den Bestellinformationen und den Angaben zu den Zahlungsmethoden vertauschen. Ausführliche Informationen finden Sie in den [Anpassungsanweisungen](https://developers.xsolla.com/de/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout). Enum: "embed", "column_reverse", "embed_column_reverse" - `settings.ui.mobile` (object) - `settings.ui.mode` (string) Benutzeroberflächen-Modus im Zahlungsportal. Nur user_account ist möglich. Der Header enthält nur das Navigationsmenü, und der Nutzer kann kein Produkt auswählen oder eine Zahlung vornehmen. Dieser Modus ist nur für die Desktop-Version verfügbar. Enum: "user_account" - `settings.ui.theme` (string) Zahlungsportal-Theme. Möglich sind "63295a9a2e47fab76f7708e1" (helles Theme – voreingestellt) oder "63295aab2e47fab76f7708e3" (dunkles Theme). Sie können außerdem ein [individuelles Theme erstellen](https://developers.xsolla.com/de/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token) und dessen ID im Parameter übermitteln. Enum: "63295a9a2e47fab76f7708e1", "63295aab2e47fab76f7708e3" - `settings.ui.user_account` (object) Benutzerkontodetails. - `settings.ui.user_account.info` (object) Seite Mein Konto. - `settings.ui.user_account.info.enable` (boolean, required) Ob das Untermenü angezeigt wird. false ist voreingestellt. - `settings.ui.user_account.info.order` (integer, required) Position des Untermenüs im Hauptmenü. - `settings.ui.user_account.payment_accounts` (object) Untermenü Meine Zahlungskonten. - `settings.ui.user_account.subscriptions` (object) Untermenü Abonnements verwalten. - `user` (object, required) - `user.age` (integer) Alter des Nutzers. - `user.country` (object) - `user.country.allow_modify` (boolean) Legt fest, ob der Nutzer das Land im Zahlungsportal ändern kann oder nicht. - `user.country.value` (string) Zweistelliger Ländercode in Großbuchstaben gemäß [ISO 3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Ist erforderlich, wenn die IP-Adresse im X-User-Ip-Header nicht übermittelt wurde. Weitere Informationen zu den [von Xsolla unterstützten Ländern](https://developers.xsolla.com/de/doc/shop-builder/references/supported-countries/) finden Sie in der Dokumentation.Beispiel: country=US Example: "US" - `user.email` (object) - `user.email.value` (string) E-Mail-Adresse des Nutzers. Muss gemäß dem Protokoll RFC 822 gültig sein. - `user.id` (object, required) - `user.id.value` (string) Benutzer-ID. Zum Testen können Sie einen beliebigen Wert übermitteln. Um echte Zahlungen entgegenzunehmen, müssen Sie die Benutzer-ID aus Ihrem System angeben. Diese ID ist im Webhook [Benutzervalidierung](https://developers.xsolla.com/de/webhooks/operation/user-validation/) zu übermitteln. - `user.is_legal` (boolean) Legt fest, ob der Nutzer 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 zwei 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) - `user.name.value` (string) Benutzername. - `user.phone` (object) - `user.phone.allow_modify` (boolean) Legt fest, ob ein Nutzer die Telefonnummer im Zahlungsportal ändern darf. Wenn phone.value im Token übermittelt wird, ist der Wert standardmäßig auf false gestellt. - `user.phone.hidden` (boolean) - `user.phone.value` (string, required) Telefonnummer des Nutzers. - `user.steam_id` (object) - `user.steam_id.value` (string, required) Steam-ID. - `user.tracking_id` (object) - `user.tracking_id.value` (string, required) Eindeutige Tracking-ID (wird in Marketingkampagnen verwendet). ## Response 201 fields (application/json): - `order_id` (integer) Bestell-ID. Example: 1 - `token` (string) Zahlungstoken. ## Response 401 fields (application/json): - `errorCode` (integer) Example: 1020 - `errorMessage` (string) Example: "[0401-1020]: Error in Authentication method occurred" - `statusCode` (integer) Example: 401 ## Response 422 fields (application/json): - `errorCode` (number) Fehlercode. Example: 1102 - `errorMessage` (string) Verständlich Fehlermeldung. Example: "[0401-1102]: Unprocessable Entity. The property `external_id` is required" - `statusCode` (number) Antwortstatuscode. Example: 422 - `transactionId` (string) Eindeutige ID der Anfrage. Example: "da145238620011eb8e24fe6913ff226a"