Xsolla-logo

RemboursementWebhook POST

Lorsqu'un paiement est annulé, Xsolla envoie les détails de la transaction annulée via un webhook de type refund à l'URL du webhook. Pour en savoir plus sur le processus de remboursement, consultez ces instructions.

Si une réponse contenant un code 5xx est reçue, Xsolla renvoie un webhook avec un intervalle de temps prolongé jusqu'à ce que votre écouteur confirme la réception. Le nombre maximum de tentatives est de 12.

Remarque

Si Xsolla initie un remboursement et qu'une réponse contenant un code 5xx est reçue pour le webhook, le paiement sera quand même remboursé.

Pour autoriser la réception d'informations détaillées dans les webhooks, réglez, dans le Compte éditeur dans la section Project settings > Webhooks > Advanced settings, la bascule suivante sur On :

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 :

  • saved_payment_method:
    • 0 — le mode de paiement enregistré n'a pas été utilisé ;
    • 1 — le mode de paiement a été enregistré lors du paiement en cours ;
    • 2 — le mode de paiement précédemment enregistré est utilisé.
  • payment_type:
    • 1 — paiement unique ;
    • 2 — paiement récurrent.

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.
Request
Request Body schema: application/json
notification_type
required
string

Type de notification.

required
object

Détails de la transaction (objet).

agreement
integer

ID de contrat.

dry_run
integer

Transaction test. Le paramètre a la valeur 1 s'il s'agit d'une transaction test ou n'est pas envoyé si la transaction est réelle.

external_id
string

External ID de la transaction.

id
integer

ID de transaction.

payment_method_order_id
string

ID de paiement dans le système de paiement.

required
object

Informations sur le paiement (objet).

object

Retenue à la source directe.

amount
integer <float>

Montant.

currency
string

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

percent
integer <float>

Taux de retenue à la source directe.

object

Montant payé par l'utilisateur (objet).

amount
integer <float>

Montant.

currency
string

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

object

Frais du système de paiement.

amount
integer <float>

Montant.

currency
string

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

object

Montant débité du système de paiement.

amount
integer <float>

Montant.

currency
string

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

object

Détails de virement (objet).

amount
integer <float>

Montant.

currency
string

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

payout_currency_rate
integer <float>

Taux de change entre les devises de paiement et de virement.

object

Données sur les frais de rapatriement imposés à Xsolla par des tiers.

amount
integer <float>

Montant.

currency
string

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

object

Taxe de vente (objet ; États-Unis et Canada uniquement).

amount
integer <float>

Montant.

currency
string

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

percent
integer <float>

Taux de taxe de vente.

object

Informations sur la TVA (objet ; UE uniquement).

amount
integer <float>

Montant.

currency
string

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

percent
integer <float>

Taux de TVA.

object

Montant débité du solde Xsolla.

amount
integer <float>

Montant.

currency
string

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

object

Frais Xsolla (objet).

amount
integer <float>

Montant.

currency
string

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

custom_parameters
object

Vos paramètres personnalisés.

object

Informations sur l'achat (objet).

required
object

Prix total d'achat (objet).

amount
integer <float>

Montant total du paiement.

currency
string

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

object

Informations au moment du paiement (objet).

amount
integer <float>

Montant de l'achat.

currency
string

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

object

Informations de l'abonnement (objet).

amount
integer <float>

Prix en monnaie réelle.

currency
string

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

date_create
string

Date de création de l'abonnement. Date et heure selon la norme ISO 8601.

plan_id
string

ID de plan (externe si le plan a été créé via API).

subscription_id
integer

ID d'abonnement dans la base de données Xsolla.

tags
Array of strings

Balises du plan.

object

Détails du remboursement (objet).

author
string

Initiateur du remboursement. La valeur du champ est passée conformément au tableau :

Initiateur du remboursement Valeur du champ
Jeu (via API). API
Utilisateur du Compte éditeur (remboursement automatique). Adresse e-mail de l'utilisateur
Utilisateur du Compte éditeur (avec l'assistance du service client Xsolla). support@xsolla.com
Xsolla (avec l'assistance du service client Xsolla). support@xsolla.com
code
integer

ID de code.

reason
string

Motif de remboursement.

object

Paramètres personnalisés de projet (objet).

merchant_id
integer

ID de commerçant.

project_id
integer

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

object

Informations sur l'utilisateur (objet).

id
required
string

ID utilisateur.

country
string

Pays de l'utilisateur. Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2.

email
string

Adresse e-mail de l'utilisateur.

ip
string

IP de l'utilisateur.

name
string

Nom d'utilisateur.

phone
string

Téléphone de l'utilisateur.

zip
string

ZIP ou code postal de l'utilisateur.

Responses
204

Renvoyez pour indiquer un traitement réussi.

400

Renvoyez en cas d'erreur dans les informations fournies (par exemple, un paramètre requis manquant, une autorisation échouée, etc.).

500

Renvoyez pour indiquer des erreurs temporaires liées à vos serveurs.

Request samples
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
            }
        }
    }
}'
Response samples
application/json
{
  • "error": {
    }
}