Xsolla-logo

Créer un jetonServer-side

post/merchants/{merchant_id}/token

Vous pouvez créer un jeton avec des paramètres utilisateur arbitraires. Vous envoyez ces paramètres lors de l'obtention du jeton et les recevez en retour après un paiement réussi. Un jeton ne peut contenir que des paramètres décrits dans ce document ou prédéfinis par vous.

Si un paramètre est envoyé dans un format incorrect ou a un type incorrect, aucun jeton ne sera émis. Vous recevrez un code HTTP 422 avec la description de l'erreur dans le corps JSON. Dans extended_message, vous recevrez une information sur les paramètres exacts qui ont été envoyés de manière incorrecte.

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

Vous pouvez passer des paramètres supplémentaires dans le jeton dans l'objet custom_parameters pour configurer les filtres anti-fraude. Les paramètres recommandés sont indiqués dans la liste déroulante. Voir la documentation de Pay Station.

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
integer <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
integer <float>

Valeur totale de l'inventaire en monnaie de jeu.

total_sum
integer <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

Informations sur le paiement.

amount
integer <float>

Montant de l'achat.

currency
string

Devise d'achat. Code de devise à trois lettres selon la norme ISO 4217.

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.

object

Informations sur l'abonnement cadeau

recipient
required
string

ID du destinataire.

email
required
string

Adresse e-mail du destinataire.

anonymous
boolean

Détermine le masquage du donateur. Si true, le nom de l'expéditeur est masqué dans la notification par e-mail. La valeur par défaut est false.

message
string

Message pour le destinataire.

redirect_url
string

Fournissez ici un lien vers une page contenant des informations supplémentaires sur l'abonnement cadeau ou vers la page de création de compte. Le destinataire du cadeau peut naviguer vers cette page à partir de la notification par e-mail du cadeau d'abonnement.

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 personnalisés de projet.

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 d'utilisateur.

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.

autoredirect_from_status_page
boolean

Détermine si l'utilisateur doit être redirigé automatiquement à partir de la page d'état.

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 Back to the Game. 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 Back to the Game, 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

Page vers laquelle rediriger l'utilisateur après le paiement. Les paramètres user_id, foreigninvoice, invoice_id et status seront automatiquement ajoutés au lien.

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

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 sur la version de bureau 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.

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 défini sur true, votre logo s'affiche dans l'en-tête (vous devez avoir fourni l'image à votre responsable de la réussite client).

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.

layout
string

Modèle de liste. La valeur peut être list (par défaut) ou grid.

Enum: "list" "grid"
object

Paramètres de la liste des monnaies virtuelles.

button_with_price
boolean

Si défini sur true, le prix s'affiche sur le bouton. Si défini sur false, le prix s'affiche à gauche du bouton. Défini sur false par défaut.

description
string

Texte à afficher au-dessus de la liste des monnaies virtuelles.

object

Paramètres de la liste des objets virtuels.

button_with_price
boolean

Si défini sur true, le prix s'affiche sur le bouton. Si défini sur false, le prix s'affiche à gauche du bouton. Défini sur false par défaut.

layout
string

Modèle de liste. La valeur peut être list (par défaut) ou grid.

Enum: "list" "grid"
view
string

Affiche les groupes d'objets virtuels sous la forme d'un menu vertical/horizontal. La valeur peut être horizontal_navigation ou vertical_navigation (par défaut).

Enum: "horizontal_navigation" "vertical_navigation"
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_prevent_external_link_open
boolean

Détermine la désactivation des liens de redirection vers une ressource externe. Défini sur true 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.

license_url
string

Lien vers le CLUF.

object
object
is_visible
boolean

Détermine l'affichage du pied de page dans la version mobile de l'interface de paiement.

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.

mode
string

L'utilisateur ne peut payer qu'en utilisant les modes de paiement enregistrés. L'unique valeur possible est saved_accounts.

Value: "saved_accounts"
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.

size
string

Taille de l'interface de paiement. La valeur peut être :

  • small : taille minimale possible de l'interface de paiement. Utilisez cette valeur lorsque la taille de la fenêtre est strictement limitée (dimensions : 620 x 630)
  • medium : taille recommandée. Utilisez cette valeur pour afficher l'interface de paiement dans une lightbox (dimensions : 740 x 760)
  • large : taille optimale pour afficher l'interface de paiement dans une nouvelle fenêtre ou un nouvel onglet (dimensions : 820 x 840)
Enum: "small" "medium" "large"
theme
string

Thème de l'interface de paiement. La valeur peut être default ou default_dark.

Enum: "default" "default_dark"
object

Informations de compte utilisateur.

object

Sous-menu History

enable
boolean

Détermine l'affichage du sous-menu. Défini sur false par défaut.

order
integer

Position du sous-menu dans le menu.

object

Page My account.

enable
boolean

Détermine l'affichage du sous-menu. Défini sur false par défaut.

order
integer

Position du sous-menu dans le menu.

object

Sous-menu My payment accounts.

enable
boolean

Détermine l'affichage du sous-menu. Défini sur false par défaut.

order
integer

Position du sous-menu dans le menu.

object

Sous-menu Manage subscriptions.

enable
boolean

Détermine l'affichage du sous-menu. Défini sur false par défaut.

order
integer

Position du sous-menu dans le menu.

version
string

Type d'appareil. La valeur peut être desktop (par défaut) ou mobile.

Enum: "desktop" "mobile"
object

Informations sur l'utilisateur.

required
object
value
required
string

ID utilisateur.

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

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.

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
value
string

Pseudo de l'utilisateur.

object
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

ID de suivi unique (utilisé dans les campagnes de marketing).

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
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT"
}