Configuration du paiement
Validation utilisateur
Qu'est-ce que l'ID utilisateur ?
L’ID utilisateur est un paramètre qui permet d’identifier un utilisateur dans un jeu. Vous pouvez stocker les ID utilisateur dans une base de données. En cas de réception d’ID utilisateur non valides, une exception est levée. Référez-vous au dépôt GitHub pour un exemple de validation utilisateur.
Quelles données dois-je renvoyer une fois la validation terminée ?
Lorsque la validation est réussie, le code HTTP 200 est renvoyé. En cas d’erreur, le code 400 (INVALID_USER).
Customisation
Puis-je customiser le thème de l'interface de paiement ?
Pour activer le thème sombre, envoyez le paramètre settings.ui.theme = default_dark dans le jeton. Le thème sombre vous permet de définir l’image d’arrière-plan ou de changer sa couleur (comme dans la démo). Pour modifier d’autres paramètres, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
Puis-je modifier l'apparence des e-mails envoyés aux utilisateurs ?
Oui. Suivez les instructions de customisation des e-mails destinés aux utilisateurs. L’ordre des éléments de l’e-mail ne peut pas être modifié, car ils font partie d’un modèle standard. Cela est requis en vertu du contrat de licence avec Xsolla, qui opère en tant que Merchant of Records.
Tests
Puis-je utiliser des cartes bancaires de test pour tester le processus de paiement ?
Oui, mais uniquement lorsque vous exécutez votre application ou la démo de Pay Station en mode bac à sable. Référez-vous à la liste générale des cartes bancaires de test de différentes marques et de différents pays d’émission.
Puis-je tester le flux de paiement PayPal en mode bac à sable ?
Oui. Référez-vous aux instructions pour des informations détaillées.
Comment puis-je tester les remboursements de paiements ?
Vous pouvez tester les remboursements via l’appel API Demander un remboursement. Référez-vous aux instructions pour plus d’informations.
À correspondent l'ID de facture côté Xsolla et l'ID de facture dans l'onglet de test du webhook dans le Compte éditeur ?
L’ ID de facture côté Xsolla est l’ID de la transaction dans les systèmes de Xsolla. Pour les tests, vous pouvez utiliser n’importe quelle valeur numérique.
L’ID de facture est un ID de transaction facultatif dans votre jeu. Pour les tests, vous pouvez entrer n’importe quelle combinaison de lettres et de chiffres.
Payments
Comment valider une requête de paiement reçue dans un webhook ?
Tout d’abord, vérifiez si l’ID utilisateur spécifié existe dans votre projet. Ensuite, renvoyez le code 200 pour valider le paiement.
Puis-je rediriger un utilisateur vers un mode de paiement particulier ?
Lorsque vous ouvrez l’interface du magasin, vous pouvez passer l’ID du mode de paiement dans le paramètre settings.payment_method. Dans ce cas, l’utilisateur est redirigé vers le formulaire de paiement du mode de paiement sélectionné. Pour trouver la liste des ID des modes de paiement, accédez au Compte éditeur sous la section Payments > Payment methods.
Puis-je rediriger automatiquement un utilisateur vers une page de paiement réussi ou échoué après le traitement d'une transaction, en fonction du résultat ?
Oui, vous pouvez configurer les conditions de redirection. Référez-vous aux instructions pour plus d’informations.
Étant donné que notre système de facturation attribue automatiquement un order_id à chaque commande, puis-je utiliser le paramètre order_id au lieu de user_id lors de l'obtention du jeton ?
Non, user_id est nécessaire pour que tout fonctionne correctement.
Vous pouvez également passer order_id dans le paramètre external_id. Pour ce faire :
- Ouvrez le projet dans le Compte éditeur et accédez à la section Project settings > Integration settings.
- Cochez la case Use external ID.
- Appuyez sur Save.
Puis-je modifier l'URL du webhook pour chaque transaction ?
Non, l’URL du webhook pour toutes les transactions est définie dans les paramètres du projet dans le Compte éditeur.
Recevrai-je les détails des transactions qui n'ont pas abouti ?
Non, Xsolla envoie des webhooks uniquement pour les transactions réussies. Si vous avez reçu une notification concernant un paiement, cela signifie que la transaction a été effectuée avec succès.
Comment ajouter la TVA au montant total du paiement ?
Par défaut, les paramètres de TVA sont configurés côté Xsolla. Si vous souhaitez modifier ces paramètres et ajouter la TVA au montant total du paiement d’un utilisateur, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.Que signifie PID ?
PID est l’identifiant du mode de paiement côté Xsolla.
Qu'est-ce que un external ID ?
L’external ID est un ID de transaction dans le jeu qui est attribué à une commande dans votre système. Côté Xsolla, l’external ID est associé à l’ID de la transaction. C’est pourquoi l’activation de l’external ID permet à Xsolla de prévenir les paiements répétés pour une même transaction.
“external_id”: “1”, vous ne pourrez pas utiliser “external_id”: “1” pour un paiement réel.- Ouvrez le projet dans le Compte éditeur et accédez à la section Project settings > Integration settings.
- Dans la section Payments, cochez les cases nécessaires :
- Utiliser l’ID externe — pour rendre obligatoire la validation de l’ID externe lors de la création d’un jeton.
- Ignorer la vérification de l’ID externe — pour désactiver la validation de l’ID externe lors de la création d’un jeton.
- Cliquez sur Save.
Lorsque le paramètre Use external ID est activé, vous ne pouvez pas effectuer de paiement test via le Compte éditeur. Pour effectuer un paiement test avec succès, désactivez temporairement ce paramètre.
Dois-je générer un nouvel external ID pour chaque transaction ?
Oui. L’external ID doit être unique pour chaque paiement.
Quelle valeur dois-je définir pour la méthode setExternalPaymentId ?
La méthode setExternalPaymentId doit avoir la même valeur que le paramètre external_id, si vous en avez un.
Qu'est-ce qu'une passerelle ?
Après la signature d’un contrat avec des systèmes de paiement, vous pouvez utiliser des passerelles pour afficher ces options de paiement dans l’interface utilisateur. Les joueurs auront toujours la liberté de choisir leurs modes de paiement préférés, et vous recevrez les paiements directement de ces fournisseurs de systèmes de paiement. Pour connecter les passerelles, ouvrez le projet dans le Compte éditeur et accédez à la section Payments > Payments settings > Gateways.
Xsolla agit en tant que fournisseur de services techniques et prend une part réduite des revenus : 1,25 % du montant de la transaction + 0,10 $. Vous aurez un accès complet à toutes les solutions Xsolla, mais vous prenez en charge les aspects suivants :
- gestion des questions liées à la fiscalité ;
- signer des accords distincts avec chaque système de paiement ;
- maintien du flux financier direct provenant des systèmes de paiement ;
- gestion des frais des systèmes de paiement, des chargebacks et des remboursements, des commissions de paiement et des coûts d’exploitation.
Par exemple, si vous travaillez avec PayPal et souhaitez l’intégrer en tant que mode de paiement direct, vous pouvez connecter une passerelle. L’interface de paiement ne changera pas, seul le processus de paiement sera affecté. Après le traitement d’un paiement, les fonds du joueur seront transférés directement sur votre compte PayPal. Dans ce modèle, Xsolla n’est pas impliqué dans le processus de paiement.
Comment puis-je migrer les données utilisateur (comptes de paiement enregistrés, abonnements, etc.) vers Xsolla ?
Contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com. Assurez-vous d’utiliser le cryptage PGP pour garantir la sécurité des données.
Paramètres de la clé PGP Xsolla :
- ID de la clé : DA1E62CB
- Type de clé : RSA
- Longueur de la clé : 4096
- Empreinte digitale : 0209 8489 757F 4451 F431 FB0C FBFC 4D97 DA1E 62CB
- ID utilisateur : admins@xsolla.com
1-----BEGIN PGP PUBLIC KEY BLOCK-----
2
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
62=naL7
63-----END PGP PUBLIC KEY BLOCK-----
Comment le pays d'un utilisateur est-il déterminé ?
Lorsque vous utilisez l’appel API côté client pour générer un jeton de paiement, Xsolla détermine le pays de l’utilisateur à partir de l’adresse IP de la requête.
Lorsque vous utilisez l’appel API côté serveur pour générer le jeton de paiement, le pays est déterminé via une vérification séquentielle de :
- la valeur du paramètre
user.country.valuedans le corps de la requête ; - l’adresse IP dans l’en-tête
X-User-Ip.
Si aucune de ces valeurs n’est passée, une erreur s’affiche. Si les deux valeurs sont passées, les informations contenues dans le corps de la requête sont utilisées.
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entrée.