# Créer une commande à partir d'un objet spécifique

Utilisé pour l'intégration client-serveur. Crée une commande avec un objet spécifié et génère un jeton de paiement pour celle-ci. La commande créée reçoit le statut new.

L'adresse IP du client est utilisée pour déterminer le pays de l'utilisateur, qui est ensuite utilisé pour appliquer la devise appropriée et les modes de paiement disponibles pour la commande.

Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant : https://secure.xsolla.com/paystation4/?token={token}, où {token} est le jeton reçu.

À des fins de test, utilisez cette URL : https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Remarque  Étant donné que cette méthode se base sur l'adresse IP pour déterminer le pays de l'utilisateur et sélectionner la devise de la commande, il est important de l'utiliser exclusivement côté client et non côté serveur. L'utilisation de cette méthode côté serveur pourrait entraîner une détermination incorrecte de la devise, ce qui pourrait affecter les modes de paiement dans Pay Station.




  Note
    Cet appel API utilise un JWT utilisateur pour l'autorisation.
    Incluez le jeton dans l'en-tête Authorization au format suivant : Bearer &lt;user_JWT&gt;. Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security pour cet appel.

Endpoint: POST /v2/project/{project_id}/payment/item/{item_sku}
Version: 2.0.0
Security: XsollaLoginUserJWT

## 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

  - `item_sku` (string, required)
    UGS de l'objet.
    Example: "booster_mega_1"

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

  - `quantity` (integer)
    Quantité de l'objet.

  - `promo_code` (string)
    Échange le code d'une promotion par code promo contre un paiement.

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

  - `token` (string)
    Jeton de paiement.

## Response 404 fields (application/json):

  - `statusCode` (integer)

  - `errorCode` (integer)

  - `errorMessage` (string)

  - `transactionId` (string)

## Response 422 fields (application/json):

  - `errorCode` (integer)
    Example: 1411

  - `statusCode` (integer)
    Example: 422

  - `errorMessage` (string)
    Example: "[0401-1411]: Invalid item"


