# Créer un jeton Vous pouvez créer un jeton avec n'importe quels paramètres utilisateur. Envoyez- les lors de la création du jeton et vous les recevez en réponse après le paiement réussi. Un jeton ne peut contenir que les paramètres décrits dans le présent document ou ceux que vous avez préalablement définis. Si un paramètre est passé dans un format ou un type incorrect, aucun jeton ne sera délivré. Vous recevrez un code HTTP 422 avec la description de l'erreur dans le corps JSON. Dans ce cas, le paramètre extended_message contient les informations sur les paramètres précis qui ont été passés de manière incorrecte. Par défaut, la durée de vie du jeton est de 24 heures. Si vous souhaitez modifier cette valeur, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com. La nouvelle valeur sera activée pour tous les projets de votre entreprise créés dans le Compte éditeur. RemarqueLe jeton obtenu suite à l'appel à cette méthode API ne peut être utilisé que pour autoriser d'autres requêtes. Ce jeton peut être utilisé pour ouvrir l'interface de paiement uniquement si vous avez intégré le produit Subscriptions.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}. RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation. Endpoint: POST /merchants/{merchant_id}/token Version: 2.0 Security: basicAuth ## Path parameters: - `merchant_id` (integer, required) ID de commerçant. ## Request fields (application/json): - `custom_parameters` (object) Cet objet comprend des paramètres pour configurer les filtres anti-fraude. La liste des paramètres est présentée ci-dessous. Pour des paramètres personnalisés, contactez votre responsable de la réussite client ou envoyez un e-mail à [csm@xsolla.com](mailto:csm@xsolla.com). - `custom_parameters.active_date` (string) Date de dernière visite selon la norme [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.additional_verification` (boolean) Indique si le joueur utilise des méthodes de vérification de compte. - `custom_parameters.character_customized` (boolean) Indique si le joueur a personnalisé son personnage. - `custom_parameters.chat_activity` (boolean) Indique si le joueur utilise la fonction de chat. - `custom_parameters.completed_tasks` (integer) Nombre de tâches/objectifs terminés. - `custom_parameters.forum_activity` (boolean) Indique si le joueur utilise la fonction forum. - `custom_parameters.items_used` (boolean) Indique si le joueur utilise des objets achetés dans le jeu. - `custom_parameters.karma_points` (integer) Karma du joueur. - `custom_parameters.last_change_password_date` (string) Date de dernier changement de mot de passe selon la norme [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.non_premium_currency` (number) Quantité de la monnaie non-premium. - `custom_parameters.notifications_enabled` (boolean) Indique si le joueur a activé les notifications. - `custom_parameters.profile_completed` (boolean) Indique si le joueur a ajouté des informations supplémentaires à son profil. - `custom_parameters.profile_image_added` (boolean) Indique si le joueur a téléchargé une image de profil. - `custom_parameters.pvp_activity` (boolean) Détermine la participation du joueur à des combats JcJ (joueur(s) contre joueur(s)). - `custom_parameters.registration_date` (string) Date de création de compte selon la norme [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.session_time` (string) Durée moyenne de session selon la norme [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.social_networks_added` (boolean) Indique si le joueur a connecté des profils de médias sociaux. - `custom_parameters.total_bans` (integer) Nombre de fois que le joueur a été banni du chat/forum. - `custom_parameters.total_characters` (integer) Nombre de personnages dans le jeu. - `custom_parameters.total_clans` (integer) Nombre de clans dont le joueur est membre. - `custom_parameters.total_friends` (integer) Nombre d'amis. - `custom_parameters.total_game_events` (integer) Nombre d'événements en jeu auxquels le joueur a participé. - `custom_parameters.total_gifts` (integer) Nombre de cadeaux en jeu que le joueur a envoyés/reçus. - `custom_parameters.total_hours` (integer) Nombre total d'heures passées dans le jeu. - `custom_parameters.total_inventory_value` (number) Valeur totale de l'inventaire en monnaie de jeu. - `custom_parameters.total_sum` (number) Montant total des paiements. - `custom_parameters.tutorial_completed` (boolean) Indique si le joueur a terminé le tutoriel du jeu. - `custom_parameters.unlocked_achievements` (integer) Nombre de réalisations débloquées. - `custom_parameters.user_level` (integer) Niveau, réputation ou rang du joueur. - `custom_parameters.win_rate` (integer) Taux de victoire du joueur. - `purchase` (object) Informations sur l'achat. - `purchase.subscription` (object) Données d'abonnement. - `purchase.subscription.available_plans` (array) Plans d'abonnement à afficher dans l'interface de paiement. - `purchase.subscription.currency` (string) Devise du plan d'abonnement à utiliser dans tous les calculs. - `purchase.subscription.operation` (string) Type d'opération appliqué au plan d'abonnement de l'utilisateur. Pour modifier le plan d'abonnement, passez la valeur change_plan. Vous devez passer l'ID du nouveau plan dans le paramètre purchase.subscription.plan_id. - `purchase.subscription.plan_id` (string) ID externe du plan d'abonnement. Il se trouve dans le compte éditeur sous la section Subscriptions > Subscription plans. - `purchase.subscription.product_id` (string) ID de produit. - `purchase.subscription.trial_days` (integer) Période d'essai en jours. - `settings` (object) Paramètres pour la configuration de la procédure de paiement et de l'interface de paiement pour l'utilisateur. - `settings.currency` (string) Devise de paiement préférée. Code de devise à trois lettres selon la norme [ISO 4217](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/). - `settings.external_id` (string) ID de transaction dans le jeu. Il doit être unique pour chaque paiement utilisateur. Reportez-vous à la documentation pour des informations détaillées. - `settings.language` (string) Langue d'interface. [Code de langue](https://developers.xsolla.com/fr/doc/pay-station/features/localization/) à deux lettres minuscules. - `settings.mode` (string) Passez la valeur sandbox pour tester le processus de paiement. Dans ce cas, utilisez l'URL https://sandbox-secure.xsolla.com pour accéder à l'interface de paiement de test. - `settings.payment_method` (integer) ID de mode de paiement. - `settings.payment_widget` (string) Widget de paiement. La valeur peut être paybycash ou giftcard. Si le paramètre est défini, l'utilisateur est redirigé vers le widget Pay by Cash ou Gift Cards, respectivement. Enum: "paybycash", "giftcard" - `settings.project_id` (integer, required) ID Xsolla du jeu. Il se trouve dans le compte éditeur. - `settings.redirect_policy` (object) Paramètres de la politique de redirection. - `settings.redirect_policy.delay` (integer) Délai (en secondes) après lequel l'utilisateur est automatiquement redirigé vers l'URL de retour. - `settings.redirect_policy.manual_redirection_action` (string) Comportement de Pay Station lorsque l'utilisateur ferme la fenêtre ou clique sur le bouton Revenir au jeu. La valeur peut être redirect (par défaut) ou postmessage. Si le paramètre est défini sur redirect, l'utilisateur est redirigé vers l'URL passée dans le jeton ou spécifiée dans le compte éditeur. S'il est défini sur postmessage, l'utilisateur n'est pas redirigé vers une autre page. Dans ce cas, la fermeture de la fenêtre déclenche l'envoi de l'événement close, tandis qu'un clic sur le bouton Revenir au jeu, l'envoi de l'événement return. Enum: "redirect", "postmessage" - `settings.redirect_policy.redirect_button_caption` (string) Texte du bouton de redirection manuelle. - `settings.redirect_policy.redirect_conditions` (string) Statut de paiement pour lequel l'utilisateur est redirigé vers l'URL de retour. La valeur peut être none, successful, successful_or_canсeled, ou any. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.redirect_policy.status_for_manual_redirection` (string) Statut de paiement pour lequel le bouton de redirection de l'utilisateur vers l'URL de retour apparaît. La valeur peut être none, successful, successful_or_canсeled, ou any. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.return_url` (string) URL de la page vers laquelle l'utilisateur est redirigé après le paiement. Reportez-vous à la documentation pour des informations détaillées sur la configuration des redirections. - `settings.ui` (object) Paramètres d'interface. - `settings.ui.apple_pay_quick_payment_button` (boolean) Détermine l'affichage du bouton de paiement rapide via Apple Pay en haut de l'interface de paiement sur les appareils compatibles. La valeur par défaut est true. Si false, Apple Pay est affiché dans la liste des modes de paiement selon l'algorithme [PayRank](/fr/doc/pay-station/how-to/how-to-manage-top-payment-methods/). NoteSur les appareils Android et sur ceux qui ne prennent pas en charge Apple Pay, ce mode de paiement sera toujours masqué, quel que soit le paramètre défini. - `settings.ui.components` (object) Paramètres de menu. - `settings.ui.components.subscriptions` (object) Paramètres du sous-menu des plans d'abonnement. - `settings.ui.components.subscriptions.hidden` (boolean) Détermine l'affichage du sous-menu. - `settings.ui.components.subscriptions.order` (integer) Position du sous-menu dans le menu. - `settings.ui.components.virtual_currency` (object) Paramètres du sous-menu de la monnaie virtuelle. - `settings.ui.components.virtual_currency.custom_amount` (boolean) Détermine si l'utilisateur peut saisir une quantité aléatoire de monnaie virtuelle dans l'interface de paiement. - `settings.ui.components.virtual_items` (object) Paramètres du sous-menu des objets virtuels. - `settings.ui.components.virtual_items.selected_group` (string) Groupe à afficher après l'ouverture de l'onglet des objets virtuels. - `settings.ui.components.virtual_items.selected_item` (string) Objet à afficher après l'ouverture de l'onglet des objets virtuels (UGS de l'objet). - `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.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.close_button` (boolean) Détermine l'affichage du bouton Fermer dans l'interface de paiement. 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.desktop.header.close_button_icon` (string) Icône du bouton Fermer dans l'interface de paiement. Enum: "arrow", "cross" - `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.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.visible_logo` (boolean) Si true, le logo s'affiche dans l'en-tête. Pour télécharger l'image, ouvrez votre projet dans le [Compte éditeur](https://publisher.xsolla.com/) et accédez à 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.subscription_list` (object) Paramètres de la liste des plans d'abonnement. - `settings.ui.desktop.subscription_list.description` (string) Texte à afficher dans l'interface de paiement au-dessus de la liste des plans d'abonnement disponibles. - `settings.ui.desktop.subscription_list.display_local_price` (boolean) Si défini sur true, et que la devise locale de l'utilisateur diffère de la devise de base du plan d'abonnement, l'utilisateur voit deux prix : l'un dans la devise locale et l'autre dans la devise de base. - `settings.ui.gp_quick_payment_button` (boolean) Mode d'affichage du mode de paiement Google Pay. Si la valeur est true, le bouton de paiement rapide via Google Pay s'affiche en haut de l'interface de paiement, quel que soit l'appareil ou le navigateur utilisé. Si la valeur est false, Google Pay apparaît dans la liste des modes de paiement, selon l'algorithme [PayRank](/fr/doc/pay-station/how-to/how-to-manage-top-payment-methods/). Si le paramètre n'est pas passé, Google Pay s'affiche en haut de l'interface de paiement sur tous les appareils et navigateurs, à l'exception de Safari, où il apparaît dans la liste des modes de paiement. - `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. Défini sur true par défaut. - `settings.ui.is_cart_open_by_default` (boolean) Affichage de la liste des objets du panier et des informations financières dans l’interface de paiement. Lorsque la valeur est définie sur true, les informations s’affichent en vue développée. Si elle est définie sur false (valeur par défaut) ou si le paramètre est omis, les informations s’affichent en vue réduite. - `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. La valeur par défaut est false. - `settings.ui.is_language_selector_hidden` (boolean) Détermine l'affichage du sélecteur de langue sur la page de paiement. Si la valeur est false (valeur par défaut), le sélecteur est affiché. - `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_prevent_external_link_open` (boolean) Détermine la désactivation des liens de redirection vers une ressource externe. Défini sur false par défaut. 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_search_field_hidden` (boolean) Détermine l'affichage de la barre de recherche de modes de paiement dans l'interface. Si true, la barre de recherche est cachée. La valeur par défaut est false. - `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. La valeur par défaut est true. - `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.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.mobile` (object) - `settings.ui.mode` (string) Mode d’affichage de l’interface de paiement pour gérer les modes de paiement enregistrés. Peut être défini sur user_account ou omis. Dans ce mode, l’utilisateur peut uniquement changer la langue, ajouter de nouveaux moyens de paiement et supprimer ceux existants. NoteLorsque ce paramètre est passé, le bouton de redirection ne s'affiche pas. Pour rediriger un utilisateur après l'enregistrement d'un moyen de paiement, configurez les redirections automatiques. - `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.user_account` (object) Informations de compte utilisateur. - `settings.ui.user_account.payment_accounts` (object) Section Modes de paiement enregistrés. - `settings.ui.user_account.payment_accounts.enable` (boolean) Détermine l'affichage dans l'interface de paiement de l'icône de crayon qui mène à la page d'édition des modes de paiement. La valeur par défaut est true. - `settings.ui.user_account.payment_accounts.order` (integer) Position de la section dans la liste déroulante dans l'interface de paiement. Obligatoire si settings.ui.user_account.payment_accounts.enable est passé. - `user` (object) Informations sur l'utilisateur. - `user.age` (integer) Âge de l'utilisateur. - `user.attributes` (object) Attributs de l'utilisateur nécessaires pour filtrer la liste des objets. Ils se présentent sous la forme d'un JSON valide de paires clé-valeur. - `user.country` (object) - `user.country.allow_modify` (boolean) Détermine si l'utilisateur peut changer le pays dans l'interface de paiement. Par défaut, si le paramètre country.value est passé dans le jeton, la valeur est false. - `user.country.value` (string) Code pays à deux lettres majuscules selon la norme [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.email` (object) L'objet user.email est essentiel pour construire les modèles anti-fraude et permet d'améliorer les taux d'acceptation. C'est une exigence à la fois de Xsolla et des systèmes de paiement. Si ce paramètre n'est pas passé, un champ obligatoire pour la saisie de l'adresse e-mail apparaît sur la page de paiement. L'utilisateur reçoit ensuite un reçu d'achat à l'adresse e-mail indiquée dans ce paramètre ou celle saisie sur la page de paiement. - `user.email.allow_modify` (boolean) Détermine si l'utilisateur peut entrer son adresse e-mail dans l'interface de paiement. Par défaut, si le paramètre user.email.value est passé dans le jeton, la valeur est false. - `user.email.value` (string, required) Adresse e-mail de l'utilisateur. Doit être valide selon le protocole [RFC 822](https://www.w3.org/Protocols/rfc822/#z8). - `user.id` (object, required) - `user.id.value` (string, required) ID utilisateur unique dans le jeu stocké de votre côté. Assurez-vous de passer l'ID existant. En cas d'erreur, consultez les [réponses de la FAQ](/fr/doc/pay-station/references/faq/#faq_validation). - `user.is_legal` (boolean) Détermine si l'utilisateur est une personne morale. - `user.legal` (object) Informations de la personne morale. L'objet et tous ses paramètres sont requis si user.is_legal est défini sur true. - `user.legal.address` (string) Adresse légale complète. - `user.legal.country` (string) Pays de constitution. Code pays à deux lettres majuscules selon la norme [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.legal.name` (string) Nom légal complet. - `user.legal.vat_id` (string) Numéro d'identification fiscal. - `user.name` (object) - `user.name.allow_modify` (boolean) Détermine si l'utilisateur peut entrer son nom dans l'interface de paiement. Par défaut, si le paramètre user.name.value est passé dans le jeton, la valeur est false. - `user.name.value` (string) Pseudo de l'utilisateur. - `user.phone` (object,null) - `user.phone.value` (string) Numéro de téléphone de l'utilisateur. - `user.public_id` (object) - `user.public_id.value` (string) Paramètre qui identifie l'utilisateur de manière unique et qui est connu de celui-ci (adresse e-mail, pseudo, etc.). Permet à l'utilisateur d'effectuer des achats en dehors du magasin en jeu (par exemple, via des kiosques de paiement). - `user.steam_id` (object) - `user.steam_id.value` (string) ID Steam. - `user.tracking_id` (object) - `user.tracking_id.value` (string) ID unique de l'utilisateur — utilisé dans les campagnes de marketing. Peut contenir des chiffres et des caractères latins. - `user.utm` (object) Attributs de trafic. - `user.utm.utm_campaign` (string) Titre de la campagne translittéré ou traduit en anglais. - `user.utm.utm_content` (string) Contenu de la campagne. - `user.utm.utm_medium` (string) Canal de trafic (annonces contextuelles, annonces par affichage, e-mailing, etc.). - `user.utm.utm_source` (string) Source de trafic. - `user.utm.utm_term` (string) Mot-clé de la campagne. Si ce paramètre est défini, les statistiques seront basées sur les mots-clés utilisés pour le ciblage des annonces plutôt que sur des requêtes de recherche spécifiques. Dans Google Analytics, le terme utm_term spécifié fait partie du rapport général sur les termes de recherche. ## 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) Noms des paramètres avec la description de l'erreur. - `http_status_code` (integer) - `message` (string) - `request_id` (string)