Octroyer les achats à l’utilisateur

Implémentez l’octroi des achats à l’utilisateur dans votre application en utilisant les informations fournies par les webhooks de Xsolla concernant les détails de la transaction et les objets achetés.

Note

Côté Xsolla, deux modes d’envoi des webhooks pour l’achat d’objets et pour les remboursements sont offerts : les données de paiement et de transaction ainsi que les informations sur les objets achetés peuvent être envoyées soit dans des webhooks distincts, soit dans un webhook combiné. Par défaut, tous les nouveaux projets reçoivent un webhook combiné regroupant ces informations.

Pour adopter la nouvelle option de réception de webhooks combinés, contactez un responsable de la réussite client ou écrivez à csm@xsolla.com.

Plus d'informations sur les options de réception des webhooks

Réception des informations dans des webhooks combinés :

Si vous avez enregistré votre Compte éditeur après le 22 janvier 2025, vous recevez toutes les informations dans les webhooks Paiement de commande réussi (order_paid) et Annulation de commande (order_canceled). Dans ce cas, vous n'avez pas besoin de traiter les webhooks Paiement (payment) et Remboursement (refund).

Réception des informations dans des webhooks distincts :

Si vous avez enregistré votre Compte éditeur le 22 janvier 2025 ou avant, vous recevez les webhooks suivants :

Vous devez traiter tous les webhooks entrants.

Pour le bon fonctionnement du magasin en jeu et la gestion des paiements, implémentez le traitement des principaux webhooks suivants :

Nom du webhookDescription
Validation utilisateur > Validation utilisateur (user_validation)Est envoyé à différentes étapes du processus de paiement pour s'assurer que l'utilisateur est enregistré dans le jeu.
Game services > Combined webhooks > Paiement de commande réussi (order_paid)Contient des données de paiement, des détails de transaction et des informations sur les objets achetés. Utilisez les données du webhook pour attribuer des objets à l'utilisateur.
Game services > Combined webhooks > Annulation de commande (order_canceled)Contient des données de paiement annulé, des détails de transaction et des informations sur les objets achetés. Utilisez les données du webhook pour retirer les objets achetés.

Le schéma ci-dessous montre le processus d’achat et de retour d’objets en utilisant des webhooks combinés.

Note
Les remboursements et chargebacks peuvent être initiés non seulement par l’utilisateur, mais aussi par Xsolla ou un prestataire de service de paiement.

Si la personnalisation du catalogue des objets est implémentée du côté de votre application, configurez le traitement de la Personnalisation du catalogue côté partenaire.

Note

Pour recevoir des paiements réels, signez le contrat de licence et implémentez le traitement des webhooks :

Configurer les webhooks dans le Compte éditeur

Pour activer la réception des webhooks :

  1. Dans le projet dans le Compte éditeur, accédez à la section Project settings > Webhooks.
  2. Dans le champ Webhook server, spécifiez l’URL du serveur où vous souhaitez recevoir les webhooks au format https://example.com. Vous pouvez également utiliser une URL fournie par un outil de test de webhooks.
Avis
Pour transférer des données, le protocole HTTPS est requis ; l’utilisation du protocole HTTP n’est pas prise en charge.
Note
Pour tester les webhooks, vous pouvez sélectionner n’importe quel site web dédié, tel que webhook.site, ou une plateforme, telle que ngrok.
  1. Générez une clé secrète :
    1. Dans la section Secret keys, appuyez sur Add key.
    2. Dans la fenêtre modale qui s'affiche, entrez le nom de la clé qui vous permettra de l'identifier dans la liste générale.
    3. Appuyez sur Create key.
    4. Appuyez sur Copy secret et enregistrez la clé créée de votre côté.
    5. Appuyez sur Done.
    6. Confirmez que vous avez enregistré la clé et appuyez sur Ok, close.
Avis

Recommandations sur les clés :

  • Enregistrez la clé secrète générée de votre côté. La clé s’affiche dans le Compte éditeur uniquement une seule fois lors de sa création.
  • Ne communiquez votre clé secrète à personne.
  • Stockez la clé sur votre serveur, jamais dans des binaires ou sur le front-end.
  1. Appuyez sur Enable webhooks.
Rotation de la clé secrète

Créez jusqu'à 5 clés secrètes dans votre projet afin de permettre leur rotation.

Une seule clé secrète peut être active par projet. Pour la modifier, appuyez sur Set as active sur la ligne d'une autre clé, puis confirmez l'action. Une fois la migration vers une nouvelle clé effectuée, nous vous recommandons de supprimer les clés désactivées.

Tester les webhooks dans le Compte éditeur

Après l’activation des webhooks dans le projet, une section permettant de les tester s’affiche dans le Compte éditeur, sous les paramètres avancés.

Vous pouvez tester les webhooks suivants :

Nom de l’onglet pour le test du webhookNom et type de webhook
Payments and StoreValidation utilisateur > Validation utilisateur (user_validation)
Game services > Combined webhooks > Paiement de commande réussi (order_paid)
Game services > Combined webhooks > Annulation de commande (order_canceled)
SubscriptionsValidation utilisateur > Validation utilisateur (user_validation)
Payments > Paiement (payment)
LitigeAnti-fraud > Contestation (dispute)
Note
Vous trouverez ci-dessous les instructions pour tester le scénario avec des webhooks combinés.

En l’absence de valeurs réelles, saisissez des valeurs arbitraires.

Vous pouvez également tester les webhooks lorsque vous effectuez des achats en mode bac à sable ou en mode de production. Le test du webhook Refund n’est possible qu’en mode de production.

Envoi de réponses au webhook

Pour confirmer la réception du webhook, votre serveur doit renvoyer :

  • Un code HTTP 200, 201 ou 204 en cas de réponse positive ;
  • Un code HTTP 400 avec description du problème au cas où l’utilisateur spécifié n’a pas été trouvé ou une signature non valide a été passée.

Votre gestionnaire de webhooks peut également renvoyer un code 5xx en cas de problèmes temporaires sur votre serveur.

Note
La liste complète et le mécanisme des webhooks, ainsi que des exemples détaillés de leur traitement, sont décrits dans la documentation webhooks.

Étapes suivantes

  1. Configurez la vente d'abonnements (facultatif).
  2. Configurez l'authentification utilisateur.

Configuration des informations sur les objets dans les webhooks

Vous pouvez configurer les données relatives aux objets inclus dans les webhooks Paiement de commande réussi et Annulation de commande via le tableau items.

Activation de l'inclusion de paramètres supplémentaires

Permet d’inclure des paramètres supplémentaires indiquant :

  • si l’objet est gratuit (is_free ) ;
  • si l’objet est un bonus (is_bonus) ;
  • si l’objet fait partie d’un lot (is_bundle_content).

Pour recevoir ces paramètres, vous devez mettre à jour vos webhooks vers la version 2 en utilisant l’appel API Mettre à jour les informations sur les paramètres du webhook. Dans la version 1 (par défaut), ces paramètres ne sont pas disponibles.

Exemple de tableau items avec des paramètres supplémentaires :

Copy
Full screen
Small screen
 1"items": [
 2      {
 3        "sku": "com.xsolla.item_new_1",
 4        "type": "bundle",
 5        "is_pre_order": false,
 6        "is_free": false,
 7        "is_bonus": false,
 8        "is_bundle_content": false,
 9        "quantity": 1,
10        "amount": "1000",
11        "promotions": []
12      },
13      {
14        "sku": "com.xsolla.gold_1",
15        "type": "virtual_currency",
16        "is_pre_order": false,
17        "is_free": false,
18        "is_bonus": false,
19        "is_bundle_content": true,
20        "quantity": 1500,
21        "amount": "[null]",
22        "promotions": []
23      }
24 ]

Désactivation de l'inclusion du contenu du lot

Par défaut, les webhooks incluent tous les objets du lot sous forme de liste d’objets individuels. Vous pouvez configurer le webhook pour n’inclure que le lot lui-même, sans énumérer son contenu.

Dans ce cas, les objets contenus dans le lot ne sont pas inclus dans le tableau items. Par exemple, dans le tableau ci-dessus, l’objet portant l’UGS com.xsolla.gold_1, qui fait partie du lot, est exclu.

Exemple de tableau items lorsque le contenu du lot est désactivé :

Copy
Full screen
Small screen
 1
 2"items": [
 3      {
 4        "sku": "com.xsolla.item_new_1",
 5        "type": "bundle",
 6        "is_pre_order": false,
 7        "is_free": false,
 8        "is_bonus": false,
 9        "is_bundle_content": false,
10        "quantity": 1,
11        "amount": "1000",
12        "promotions": []
13      }
14 ]

Pour désactiver l’inclusion du contenu des lots, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.

Cet article vous a été utile ?
Merci !
Que pouvons-nous améliorer ? Message
Nous sommes désolés de l'apprendre
Dites-nous pourquoi vous n'avez pas trouvé cet article utile. Message
Merci pour votre commentaire !
Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.

Liens utiles

Dernière mise à jour: 5 Juin 2026

Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entrée.

Signaler un problème
Nous améliorons continuellement notre contenu grâce à vos commentaires.
Indiquez votre adresse e-mail pour un suivi
Merci pour votre commentaire !
Impossible d'envoyer votre commentaire
Réessayez plus tard ou contactez-nous à doc_feedback@xsolla.com.