Xsolla-logo

Créer un jeton de paiement pour un achatServer-side

post/v3/project/{project_id}/admin/payment/token

Génère une commande et un jeton de paiement pour celle-ci. La commande est générée sur la base des objets passés dans le corps de la requête.

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

Le paramètre user.country.value est utilisé pour sélectionner une devise pour la commande. Si le pays de l'utilisateur est inconnu, fournir l'adresse IP de l'utilisateur dans l'en-tête X-User-Ip est une option alternative.
L'une de ces deux options est nécessaire au bon fonctionnement de cette méthode.
La devise sélectionnée est utilisée pour les méthodes de paiement sur Pay Station.
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

ID de projet. Ce paramètre se trouve dans le Compte éditeur à côté du nom du projet.

Example: 44056
Request Body schema: application/json
required
object
required
object
value
string [ 1 .. 255 ] characters

ID utilisateur. Pour les tests, passez une valeur aléatoire. Pour accepter des paiements réels, utilisez la valeur de l'ID utilisateur dans votre système. Cet ID est passé dans le webhook User validation.

age
integer

Âge de l'utilisateur.

attributes
object [ 1 .. 100 ] items

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
Default: false

Indique si l'utilisateur peut changer de pays dans l'interface de paiement.

value
string

Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2. Requis si l'adresse IP n'est pas passée dans l'en-tête X-User-Ip. Consultez la documentation pour obtenir des informations détaillées sur les pays pris en charge par Xsolla.
Exemple : country=US

object
value
string <email> [ 3 .. 255 ] characters

Adresse e-mail 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 [ 1 .. 255 ] characters

Pseudo de l'utilisateur.

object
value
required
string

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

allow_modify
boolean
Default: false

Détermine si l'utilisateur peut changer de téléphone dans l'interface de paiement. Si le paramètre phone.value est passé dans le jeton, la valeur est false.

hidden
boolean
Default: true
object
value
required
string = 17 characters ^\d{17}$

ID Steam.

object
value
required
string = 32 characters ^[A-Za-z0-9]{32}$

ID unique de suivi (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.

required
object
required
Array of objects non-empty
Array (non-empty)
sku
required
string non-empty

ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules, des points, des tirets et des traits bas.

quantity
required
number >= 1

Quantité de l'objet.

object or null [ 1 .. 200 ] properties

Vos paramètres personnalisés représentés sous la forme d'un JSON valide de paires clé-valeur.
Pour configurer des filtres anti-fraude, passez des paramètres supplémentaires via ce champ. Voir la documentation de Pay Station.

additional property
string or integer or number or boolean
One of:
string
sandbox
boolean
Default: false

Passez la valeur true 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.

object

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

currency
string

Devise de paiement préférée. Code de devise à trois lettres selon ISO 4217. Consultez la documentation pour obtenir des informations détaillées sur les devises prises en charge par Xsolla.

external_id
string [ 1 .. 255 ] characters

External ID de la transaction.

language
string

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

payment_method
integer >= 1

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.

object
delay
integer

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

redirect_button_caption
string

Légendes localisées des boutons de redirection.

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"
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" "vc" "successful" "successful_or_canceled" "any"
return_url
string <uri> <= 1000 characters

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.

object

Paramètres d'interface.

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
Default: false

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.

is_visible
boolean

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

type
string
Default: "normal"

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 est affiché dans l'en-tête. Pour télécharger l'image, ouvrez votre projet dans Publisher Account et allez dans la section Pay Station > Settings.

visible_name
boolean

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

visible_purchase
boolean
Default: true

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
visible_virtual_currency_balance
boolean
Default: true

Détermine l'affichage de cet élément dans l'interface de paiement.

is_cart_open_by_default
boolean
Default: false

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
Default: false

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

is_payment_methods_list_mode
boolean
Default: false

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
Default: false

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.

is_show_close_widget_warning
boolean
Default: true

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.

is_three_ds_independent_windows
boolean
Default: false

Détermine l'ouverture de la vérification 3-D Secure dans une nouvelle fenêtre du navigateur. 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
Default: false

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.

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.

Value: "user_account"
theme
string
Default: "63295a9a2e47fab76f7708e1"

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 My account.

enable
required
boolean
Default: false

Détermine l'affichage du sous-menu. La valeur par défaut est false.

order
required
integer >= 1

Position du sous-menu dans le menu.

object

Le sous-menu Mes comptes de paiement.

enable
required
boolean
Default: false

Détermine l'affichage du sous-menu. La valeur par défaut est false.

object

Sous-menu Gestion des abonnements.

enable
required
boolean
Default: false

Détermine l'affichage du sous-menu. La valeur par défaut est false.

order
required
integer >= 1

Position du sous-menu dans le menu.

Responses
201

La commande et le jeton de paiement ont été créés avec succès.

401

L'authentification de base n'a pas été passée ou est incorrecte. Vérifiez que vous avez utilisé l'authentification de base ou des informations d'identification correctes.

422

Erreur de validation du corps de la requête et de la création du panier.

  • Panier non valide, créé à partir d'objets passés. Vérifiez que le panier n'est pas vide et que tous les objets qu'il contient ne sont pas gratuits.
  • Corps de la requête non valide.
Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "order_id": 12345,
  • "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb"
}