Lorsqu'un paiement est annulé, Xsolla envoie les informations de la transaction
annulée dans un webhook de type refund à l'URL du webhook.
Le mécanisme de réessai du webhook dépend de la personne qui a initié le remboursement :
5xx est
renvoyé en réponse au webhook, Xsolla renvoie ce webhook à des intervalles
croissants. Le nombre maximal de tentatives est de 12 dans les 48 heures
suivant la première tentative.Pour obtenir des informations détaillées sur la procédure de remboursement, référez-vous aux instructions instructions.
Remarque
Le paiement sera quand même remboursé à l'utilisateur si toutes les conditions suivantes sont réunies :
4xx est renvoyé, ou aucune réponse n'est reçue après toutes les tentatives, ou un code d'état 5xx est renvoyé.Lorsque vous enregistrez l'URL du webhook dans le Compte éditeur, vous pouvez également configurer la réception d'informations supplémentaires dans les webhooks.
Note
Si vous avez créé un Compte éditeur le 22 janvier 2025 ou avant, les bascules se trouvent dans le projet, sous la section Settings > Webhooks > Testing > Payments > Advanced settings.
| Bascule | Description |
|---|---|
| Afficher infos sur transactions effectuées via modes de paiement enregistrés | Les informations sont passées dans les paramètres personnalisés suivants du webhook :
|
Codes de remboursement :
| Code | Motif | Description |
|---|---|---|
| 1 | Cancellation by the user request / the game request | Annulation initiée dans le Compte éditeur. |
| 2 | Chargeback | Chargeback pour une transaction demandé. |
| 3 | Integration error | Problèmes d'intégration entre Xsolla et le jeu. Recommandation : n'ajoutez pas l'utilisateur à la liste noire. |
| 4 | Potential fraud | Fraude soupçonnée. Recommandation : ajoutez l'utilisateur à la liste noire. |
| 5 | Test payment | Transaction test suivie d'une annulation. Recommandation : n'ajoutez pas l'utilisateur à la liste de noire. |
| 6 | User invoice expired | Facture en retard (utilisée pour le modèle de paiement différé). |
| 7 | Fraud notification from PS | Paiement refusé par le système de paiement en raison d'une fraude potentielle. Recommandation : ajoutez l'utilisateur à la liste noire. |
| 8 | Cancellation by the PS request | Annulation demandée par le système de paiement. Recommandation : n'ajoutez pas l'utilisateur à la liste noire. |
| 9 | Cancellation by the user request | Utilisateur non satisfait du jeu ou de l'achat pour quelque raison que ce soit. Recommandation : n'ajoutez pas l'utilisateur à la liste noire. |
| 10 | Cancellation by the game request | Annulation demandée par le jeu. Recommandation : n'ajoutez pas l'utilisateur à la liste noire. |
| 11 | Account holder called to report fraud | Le titulaire de compte déclare qu'il n'a pas effectué la transaction. |
| 12 | Friendly fraud | Fraude de type « Friendly fraud » signalée. |
| 13 | Duplicate | Transaction dupliquée pour la même facture. |
| notification_type required | string Type de notification. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Détails de la transaction (objet). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Informations sur le paiement (objet). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| custom_parameters | object Vos paramètres personnalisés. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Informations sur l'achat (objet). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Détails du remboursement (objet). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Paramètres personnalisés de projet (objet). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Informations sur l'utilisateur (objet). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Renvoyez pour indiquer un traitement réussi.
Renvoyez en cas d'erreur dans les informations fournies (par exemple, un paramètre requis manquant, une autorisation échouée, etc.).
Renvoyez pour indiquer des erreurs temporaires liées à vos serveurs.
curl -v 'https://your.hostname/your/uri' \ -X POST \ -d '{ "notification_type": "refund", "settings": { "project_id": 18404, "merchant_id": 2340 }, "purchase": { "subscription": { "plan_id": "b5dac9c8", "subscription_id": "10", "date_create": "2014-09-22T19:25:25+04:00", "currency": "USD", "amount": 9.99 }, "checkout": { "currency": "USD", "amount": 50 }, "total":{ "currency": "USD", "amount": 200 } }, "user": { "ip": "127.0.0.1", "phone": "18777976552", "email": "email@example.com", "id": "1234567", "name": "John Smith", "country": "US" }, "transaction": { "id": 1, "external_id": 1, "dry_run": 1, "agreement": 1 }, "refund_details": { "code": 4, "reason": "Potential fraud" }, "payment_details": { "sales_tax": { "currency": "USD", "amount": 0 }, "direct_wht": { "currency": "USD", "amount": 0.70 }, "xsolla_fee": { "currency": "USD", "amount": "10" }, "payout": { "currency": "USD", "amount": "200" }, "payment_method_fee": { "currency": "USD", "amount": "20" }, "payment": { "currency": "USD", "amount": "230" }, "repatriation_commission": { "currency": "USD", "amount": 10 } } } }'
{- "error": {
- "code": "INCORRECT_AMOUNT",
- "message": "Incorrect amount"
}
}