Xsolla-logo

Créer un jetonServer-side

post/merchants/{merchant_id}/token

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.

Remarque

Le 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}.

Remarque

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

SecuritybasicAuth
Request
path Parameters
merchant_id
required
integer

ID de commerçant.

Request Body schema: application/json
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.

active_date
string

Date de dernière visite selon la norme ISO 8601.

additional_verification
boolean

Indique si le joueur utilise des méthodes de vérification de compte.

character_customized
boolean

Indique si le joueur a personnalisé son personnage.

chat_activity
boolean

Indique si le joueur utilise la fonction de chat.

completed_tasks
integer

Nombre de tâches/objectifs terminés.

forum_activity
boolean

Indique si le joueur utilise la fonction forum.

items_used
boolean

Indique si le joueur utilise des objets achetés dans le jeu.

karma_points
integer

Karma du joueur.

last_change_password_date
string

Date de dernier changement de mot de passe selon la norme ISO 8601.

non_premium_currency
number <float>

Quantité de la monnaie non-premium.

notifications_enabled
boolean

Indique si le joueur a activé les notifications.

profile_completed
boolean

Indique si le joueur a ajouté des informations supplémentaires à son profil.

profile_image_added
boolean

Indique si le joueur a téléchargé une image de profil.

pvp_activity
boolean

Indique si le joueur participe à des combats JcJ.

registration_date
string

Date de création de compte selon la norme ISO 8601.

session_time
string

Durée moyenne de session selon la norme ISO 8601.

social_networks_added
boolean

Indique si le joueur a connecté des profils de médias sociaux.

total_bans
integer

Nombre de fois que le joueur a été banni du chat/forum.

total_characters
integer

Nombre de personnages dans le jeu.

total_clans
integer

Nombre de clans dont le joueur est membre.

total_friends
integer

Nombre d'amis.

total_game_events
integer

Nombre d'événements en jeu auxquels le joueur a participé.

total_gifts
integer

Nombre de cadeaux en jeu que le joueur a envoyés/reçus.

total_hours
integer

Nombre total d'heures passées dans le jeu.

total_inventory_value
number <float>

Valeur totale de l'inventaire en monnaie de jeu.

total_sum
number <float>

Montant total des paiements.

tutorial_completed
boolean

Indique si le joueur a terminé le tutoriel du jeu.

unlocked_achievements
integer

Nombre de réalisations débloquées.

user_level
integer

Niveau, réputation ou rang du joueur.

win_rate
integer

Taux de victoire du joueur.

object

Informations sur l'achat.

object

Données d'abonnement.

available_plans
Array of strings

Plans d'abonnement à afficher dans l'interface de paiement.

currency
string

Devise du plan d'abonnement à utiliser dans tous les calculs.

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.

plan_id
string

ID externe du plan d'abonnement. Il se trouve dans le compte éditeur sous la section Subscriptions > Subscription plans.

product_id
string

ID de produit.

trial_days
integer

Période d'essai en jours.

object

Paramètres pour la configuration de la procédure de paiement et de l'interface de paiement pour l'utilisateur.

project_id
required
integer

ID Xsolla du jeu. Il se trouve dans le compte éditeur.

currency
string

Devise de paiement préférée. Code de devise à trois lettres selon la norme ISO 4217.

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.

language
string

Langue d'interface. Code de langue à deux lettres minuscules.

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.

payment_method
integer

ID de mode de paiement.

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"
object

Paramètres de la politique de redirection.

delay
integer

Délai (en secondes) après lequel l'utilisateur est automatiquement redirigé vers l'URL de retour.

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"
redirect_button_caption
string

Texte du bouton de redirection manuelle.

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

object

Paramètres d'interface.

object

Paramètres de menu.

object

Paramètres du sous-menu des plans d'abonnement.

hidden
boolean

Détermine l'affichage du sous-menu.

order
integer

Position du sous-menu dans le menu.

object

Paramètres du sous-menu de la monnaie virtuelle.

custom_amount
boolean

Détermine si l'utilisateur peut saisir une quantité aléatoire de monnaie virtuelle dans l'interface de paiement.

hidden
boolean

Détermine l'affichage du sous-menu.

order
integer

Position du sous-menu dans le menu.

object

Paramètres du sous-menu des objets virtuels.

hidden
boolean

Détermine l'affichage du sous-menu.

order
integer

Position du sous-menu dans le menu.

selected_group
string

Groupe à afficher après l'ouverture de l'onglet des objets virtuels.

selected_item
string

Objet à afficher après l'ouverture de l'onglet des objets virtuels (UGS de l'objet).

currency_format
string

Définissez sur code pour afficher un code de devise à trois lettres selon la norme ISO 4217 dans l'interface de paiement. Par défaut, le symbole de la devise est affiché à la place du code de devise à trois lettres.

object

Paramètres de l'interface pour la version de bureau.

object

Paramètres de l'en-tête.

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.

close_button_icon
string

Icône du bouton Fermer dans l'interface de paiement.

Enum: Description
arrow

Icône à gauche de l'en-tête de l'interface de paiement.

cross

Icône × à droite de l'en-tête de l'interface de paiement.

is_visible
boolean

Détermine l'affichage de l'en-tête dans l'interface de paiement.

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"
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 et accédez à la section Pay Station > Settings.

visible_name
boolean

Détermine l'affichage du nom du projet dans l'en-tête.

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.

object

Paramètres de la liste des plans d'abonnement.

description
string

Texte à afficher dans l'interface de paiement au-dessus de la liste des plans d'abonnement disponibles.

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.

gp_quick_payment_button
boolean

Mode d'affichage du mode de paiement Google Pay. Si true, le bouton pour le paiement rapide via Google Pay s'affiche en haut de l'interface de paiement. Si false, Google Pay apparaît dans la liste des modes de paiement selon l'algorithme PayRank. La valeur par défaut est false.

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

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.

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.

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 s'affiche.

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.

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.

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.

is_three_ds_independent_windows
boolean

Détermine l'ouverture de la vérification 3-D Secure dans une nouvelle fenêtre du navigateur. La valeur par défaut est false. Passez true si vous utilisez une politique de sécurité du contenu (CSP).

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 pour des informations détaillées.

Enum: "embed" "column_reverse" "embed_column_reverse"
object
object
close_button
boolean

Détermine l'affichage du bouton Fermer dans la version mobile de Pay Station. Un clic sur ce bouton ferme Pay Station et redirige l'utilisateur vers l'URL passée dans le paramètre settings.return_url. Défini sur false par défaut.

close_button_icon
string

Icône du bouton Fermer dans l'interface de paiement.

Enum: Description
arrow

Icône à gauche de l'en-tête de l'interface de paiement.

cross

Icône × à droite de l'en-tête de l'interface de paiement.

mode
string

Mode d'interface dans Pay Station. 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.

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é et passez son ID dans ce paramètre.

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

Informations de compte utilisateur.

object

Page Mon compte.

enable
boolean

Détermine l'affichage de la section. Défini sur false par défaut.

order
integer

Position de la section dans la liste déroulante.

object

Section Modes de paiement enregistrés.

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.

object

Section Gérer les abonnements.

enable
boolean

Détermine l'affichage de la section. Défini sur false par défaut.

order
integer

Position de la section dans la liste déroulante.

object

Informations sur l'utilisateur.

required
object
value
required
string

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.

age
integer

Âge de l'utilisateur.

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.

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

value
string

Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2.

object <= 100 characters

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.

value
required
string

Adresse e-mail de l'utilisateur. Doit être valide selon le protocole RFC 822.

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.

is_legal
boolean

Détermine si l'utilisateur est une personne morale.

object

Informations de la personne morale. L'objet et tous ses paramètres sont requis si user.is_legal est défini sur true.

address
string

Adresse légale complète.

country
string

Pays de constitution. Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2.

name
string

Nom légal complet.

vat_id
string

Numéro d'identification fiscal.

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

value
string

Pseudo de l'utilisateur.

object or null
value
string

Numéro de téléphone de l'utilisateur.

object
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).

object
value
string

ID Steam.

object
value
string = 32 characters

ID unique de l'utilisateur — utilisé dans les campagnes de marketing. Peut contenir des chiffres et des caractères latins.

object

Attributs de trafic.

utm_campaign
string

Titre de la campagne translittéré ou traduit en anglais.

utm_content
string

Contenu de la campagne.

utm_medium
string

Canal de trafic (annonces contextuelles, annonces par affichage, e-mailing, etc.).

utm_source
string

Source de trafic.

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.

Responses
200

Created.

422

Unprocessable Entity.

Request samples
application/json
{
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT"
}