# Créer une commande à partir d'un panier gratuit

Crée une commande à partir de tous les objets d'un panier gratuit. La commande créée aura le statut done.

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

## Path parameters:

  - `project_id` (integer, required)
    ID du projet. Vous trouverez ce paramètre dans le Compte éditeur, à côté du nom du projet, ainsi que dans l'URL affichée dans la barre d'adresse du navigateur lorsque vous utilisez ce projet. L'URL présente le format suivant : https://publisher.xsolla.com//projects/.
    Example: 44056

## Request fields (application/json):

  - `currency` (string)
    Devise du prix de la commande. Code de devise à trois lettres selon [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Consultez la documentation pour obtenir des informations détaillées sur les devises [prises en charge par Xsolla](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/).

  - `locale` (string)
    Langue de la réponse.

  - `sandbox` (boolean)
    Crée une commande en mode bac à sable. L'option est disponible pour les utilisateurs spécifiés dans la liste des utilisateurs de l'entreprise.

  - `settings` (object)
    Paramètres pour la configuration de la procédure de paiement et de l'interface de paiement pour l'utilisateur.

  - `settings.ui` (object)
    Paramètres d'interface.

  - `settings.ui.theme` (string)
    Thème d'interface de paiement. Les valeurs possibles sont : 63295a9a2e47fab76f7708e1 pour le thème clair (par défaut) ou 63295aab2e47fab76f7708e3 pour le thème foncé. Vous pouvez également [créer un thème personnalisé](https://developers.xsolla.com/fr/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token) et passez son ID dans ce paramètre.
    Enum: "63295a9a2e47fab76f7708e1", "63295aab2e47fab76f7708e3"

  - `settings.ui.desktop` (object)
    Paramètres de l'interface pour la version de bureau.

  - `settings.ui.desktop.header` (object)
    Paramètres de l'en-tête.

  - `settings.ui.desktop.header.is_visible` (boolean)
    Détermine l'affichage de l'en-tête dans l'interface de paiement.

  - `settings.ui.desktop.header.visible_logo` (boolean)
    Si true, le logo est affiché dans l'en-tête. Pour télécharger l'image, ouvrez votre projet dans [Publisher Account](https://publisher.xsolla.com/) et allez dans la section Pay Station > Settings.

  - `settings.ui.desktop.header.visible_name` (boolean)
    Détermine l'affichage du nom du projet dans l'en-tête.

  - `settings.ui.desktop.header.visible_purchase` (boolean)
    Détermine l'affichage de la description de l'achat (purchase.description.value) dans l'en-tête. Défini sur true par défaut.

  - `settings.ui.desktop.header.type` (string)
    Apparence de l'en-tête. La valeur peut être compact (le nom du projet et l'ID utilisateur ne s'affichent pas) ou normal (par défaut).
    Enum: "compact", "normal"

  - `settings.ui.desktop.header.close_button` (boolean)
    Détermine l'affichage du bouton Fermer dans l'interface de paiement sur ordinateur. Un clic sur ce bouton ferme l'interface de paiement et redirige l'utilisateur vers l'URL passée dans le paramètre settings.return_url. Défini sur false par défaut.

  - `settings.ui.mode` (string)
    Mode d'interface dans l'interface de paiement. L'unique valeur possible est user_account. Dans ce mode, l'en-tête ne contient que le menu de navigation du compte, et l'utilisateur ne peut ni sélectionner un produit ni effectuer un paiement. Ce mode est disponible uniquement sur la version de bureau.
    Enum: "user_account"

  - `settings.ui.user_account` (object)
    Informations de compte utilisateur.

  - `settings.ui.user_account.payment_accounts` (object)
    Le sous-menu Mes comptes de paiement.

  - `settings.ui.user_account.payment_accounts.enable` (boolean, required)
    Détermine l'affichage du sous-menu. La valeur par défaut est false.

  - `settings.ui.user_account.info` (object)
    Page My account.

  - `settings.ui.user_account.info.enable` (boolean, required)
    Détermine l'affichage du sous-menu. La valeur par défaut est false.

  - `settings.ui.user_account.info.order` (integer, required)
    Position du sous-menu dans le menu.

  - `settings.ui.user_account.subscriptions` (object)
    Sous-menu Gestion des abonnements.

  - `settings.ui.user_account.subscriptions.enable` (boolean, required)
    Détermine l'affichage du sous-menu. La valeur par défaut est false.

  - `settings.ui.user_account.subscriptions.order` (integer, required)
    Position du sous-menu dans le menu.

  - `settings.ui.header` (object)

  - `settings.ui.header.visible_virtual_currency_balance` (boolean)
    Détermine l'affichage de cet élément dans l'interface de paiement.

  - `settings.ui.mobile` (object)

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

  - `settings.ui.mobile.header.close_button` (boolean)
    Détermine l'affichage du bouton Fermer dans l'interface de paiement sur appareil mobile. Un clic sur ce bouton ferme l'interface de paiement et redirige l'utilisateur vers l'URL passée dans le paramètre settings.return_url.

  - `settings.ui.is_prevent_external_link_open` (boolean)
    Détermine la désactivation des liens de redirection vers une ressource externe. Un clic sur un lien externe déclenche l'envoi de l'événement external-link-open via le mécanisme postMessage. L'adresse du lien de redirection est passée dans le paramètre url.

  - `settings.ui.is_payment_methods_list_mode` (boolean)
    Détermine l'affichage de la liste des modes de paiement disponibles dans le pays de l'utilisateur à l'ouverture de l'interface de paiement. Si false (par défaut), le mode de paiement passé dans le paramètre settings.payment_method ou le mode sélectionné selon l'[algorithme du PayRank](https://developers.xsolla.com/fr/solutions/payments/payment-ui-management/top-payment-methods-management/) s'affiche.

  - `settings.ui.is_independent_windows` (boolean)
    Détermine la redirection des utilisateurs du navigateur du lanceur intégré (WebView) vers leur navigateur par défaut pour effectuer un achat.

  - `settings.ui.currency_format` (string)
    Définissez sur code pour afficher un code de devise à trois lettres selon la norme [ISO 4217](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/) dans l'interface de paiement. Par défaut, le symbole de la devise est affiché à la place du code de devise à trois lettres.

  - `settings.ui.is_show_close_widget_warning` (boolean)
    Détermine l'affichage d'une infobulle sur le traitement de la transaction au passage de la souris sur l'icône × avant la fermeture de la page de paiement. Défini sur false, ou si le paramètre n'est pas passé, l'infobulle ne s'affiche pas.

  - `settings.ui.layout` (string)
    Emplacement des principaux éléments de l'interface de paiement. Vous pouvez ouvrir l'interface de paiement à l'intérieur de votre jeu et/ou permuter les colonnes contenant des informations sur la commande et les modes de paiement. Reportez-vous aux [instructions de customisation](https://developers.xsolla.com/fr/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout) pour des informations détaillées.
    Enum: "embed", "column_reverse", "embed_column_reverse"

  - `settings.ui.is_three_ds_independent_windows` (boolean)
    Détermine l'ouverture de la vérification 3-D Secure dans une nouvelle fenêtre du navigateur. Définissez sur true, si votre configuration applique une politique de sécurité du contenu (CSP).

  - `settings.ui.is_cart_open_by_default` (boolean)
    Affichage de la liste des objets dans le panier lors de l'ouverture de la version mobile de l'interface de paiement. Si true, la liste s'affiche dans une vue étendue. Si false(valeur par défaut) ou si le paramètre n'est pas passé, la liste s'affiche dans une vue réduite.

  - `settings.payment_method` (integer)
    ID du mode de paiement. Il détermine l'affichage de la devise dans l'interface de paiement, car certains modes de paiement ne prennent en charge que certaines devises.

  - `settings.return_url` (string)
    Page vers laquelle l'utilisateur est redirigé après un paiement. Les paramètres user_id, foreigninvoice, invoice_id et status sont automatiquement ajoutés au lien.

  - `settings.redirect_policy` (object)

  - `settings.redirect_policy.redirect_conditions` (string)
    Statut du paiement déclenchant la redirection de l'utilisateur vers l'URL de retour.
    Enum: "none", "successful", "successful_or_canceled", "any"

  - `settings.redirect_policy.delay` (integer)
    Délai après lequel l'utilisateur est automatiquement redirigé vers l'URL de retour.

  - `settings.redirect_policy.status_for_manual_redirection` (string)
    Statut de paiement déclenchant l'affichage d'un bouton de redirection de l'utilisateur vers l'URL de retour.
    Enum: "none", "successful", "successful_or_canceled", "any"

  - `settings.redirect_policy.redirect_button_caption` (string)
    Légendes localisées des boutons de redirection.
    Example: "Text button"

  - `custom_parameters` (object)
    Paramètres spécifiques au projet.

## Response 200 fields (application/json):

  - `order_id` (integer)
    ID de commande.

## Response 422 fields (application/json):

  - `errorCode` (integer)
    Example: 1401

  - `statusCode` (integer)
    Example: 422

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


