# Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen

Wird für die Client-zu-Server-Integration verwendet. Legt eine Bestellung mit allen Artikeln aus dem Warenkorb an und generiert einen Zahlungstoken. Der angelegten Bestellung wird der Bestellstatus new zugeordnet.

Anhand der Client-IP wird das Land des Nutzers ermittelt und anschließend die entsprechende Währung und die verfügbaren Zahlungsmethoden für die Bestellung herangezogen.

Nutzen Sie den folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation4/?token={token}, wobei {token} der erhaltene Token ist.

Für Testzwecke steht Ihnen die folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Hinweis  Weil diese Methode auf die IP zurückgreift, um das Land des Nutzers zu ermitteln und eine Währung für die Bestellung auszuwählen, ist es wichtig, diese Methode nur clientseitig und nicht serverseitig einzusetzen. Die serverseitige Verwendung dieser Methode kann dazu führen, dass eine falsche Währung ermittelt wird, was sich wiederum auf die in der Pay Station angezeigten Zahlungsmethoden auswirkt.

Endpoint: POST /v2/project/{project_id}/payment/cart
Version: 2.0.0
Security: AuthForCart

## Path parameters:

  - `project_id` (integer, required)
    Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt sowie in der Adressleiste des Browsers, wenn Sie im Kundenportal ein Projekt geöffnet haben. Die URL hat das folgende Format: https://publisher.xsolla.com//projects/.
    Example: 44056

## Request fields (application/json):

  - `currency` (string)
    Währung des Bestellpreises. Dreistelliger Währungscode pro [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Detaillierte Informationen zu [Von Xsolla unterstützte Währungen](https://developers.xsolla.com/de/doc/pay-station/references/supported-currencies/).

  - `locale` (string)
    Antwortsprache.

  - `sandbox` (boolean)
    Legt eine Bestellung in der Testumgebung an. Die Option steht den Nutzern offen, die in der Liste der Firmennutzer aufgeführt sind.

  - `settings` (object)
    Einstellungen zum Konfigurieren des Bezahlvorgangs und des Zahlungsportals für einen Nutzer.

  - `settings.ui` (object)
    Benutzeroberflächeneinstellungen.

  - `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.desktop` (object)
    Benutzeroberflächeneinstellungen für die Desktopversion.

  - `settings.ui.desktop.header` (object)
    Header-Einstellungen.

  - `settings.ui.desktop.header.is_visible` (boolean)
    Ob der Header im Zahlungsportal angezeigt wird.

  - `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.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.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.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.user_account` (object)
    Benutzerkontodetails.

  - `settings.ui.user_account.payment_accounts` (object)
    Untermenü Meine Zahlungskonten.

  - `settings.ui.user_account.payment_accounts.enable` (boolean, required)
    Ob das Untermenü angezeigt wird. false ist voreingestellt.

  - `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.subscriptions` (object)
    Untermenü Abonnements verwalten.

  - `settings.ui.user_account.subscriptions.enable` (boolean, required)
    Ob das Untermenü angezeigt wird. false ist voreingestellt.

  - `settings.ui.user_account.subscriptions.order` (integer, required)
    Position des Untermenüs im Hauptmenü.

  - `settings.ui.header` (object)

  - `settings.ui.header.visible_virtual_currency_balance` (boolean)
    Ob dieses Element im Zahlungsportal ausgeblendet werden kann oder nicht.

  - `settings.ui.mobile` (object)

  - `settings.ui.mobile.header` (object)

  - `settings.ui.mobile.header.close_button` (boolean)
    Ob in der mobilgeräteoptimierten 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.

  - `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_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_independent_windows` (boolean)
    Ob Nutzer zum Bezahlen vom im Launcher eingebetteten Browser (WebView) zu ihrem Standardbrowser weitergeleitet werden sollen.

  - `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.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.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.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.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.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.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.redirect_policy` (object)

  - `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.delay` (integer)
    Verzögerung, nach der der Nutzer automatisch zur Rückgabe-URL weitergeleitet wird.

  - `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", "successful", "successful_or_canceled", "any"

  - `settings.redirect_policy.redirect_button_caption` (string)
    Lokalisierte Beschriftungen der Weiterleiten-Schaltfläche.
    Example: "Text button"

  - `custom_parameters` (object)
    Projektspezifische Parameter.

## Response 200 fields (application/json):

  - `order_id` (integer)
    Bestell-ID.

  - `token` (string)
    Zahlungstoken.

## Response 422 fields (application/json):

  - `errorCode` (integer)
    Example: 1401

  - `statusCode` (integer)
    Example: 422

  - `errorMessage` (string)
    Example: "[0401-1401]: Invalid cart"


