# Paiement de commande réussi (sans données de paiement et de transaction)

Xsolla envoie le webhook order_paid à l'URL spécifiée lorsque les 
conditions suivantes sont remplies :
1. L'utilisateur a procédé au paiement de la commande avec succès.
2. Xsolla a reçu une réponse de traitement réussi du webhook 
   Paiement.

Le webhook order_paid contient des informations sur les objets 
achetés et les détails de la transaction.

Le webhook order_paid n'est pas envoyé si :
* Le paiement n'a pas été effectué, par exemple :
  * le formulaire de paiement a été ouvert, mais l'utilisateur n'a pas procédé au 
    paiement de la commande ;
  * le formulaire de paiement a été ouvert, mais des erreurs se sont produites lors 
    du paiement.
* Aucune réponse de traitement réussi du webhook 
  Paiement n'a été reçue.

Il est recommandé de veiller à ce que la temps de traitement du webhook 
order_paid soit inférieur à 3 secondes.

Les réponses attendues sont décrites dans la section Réponses. Vous 
pouvez utiliser d'autres codes de réponse. En fonction du code de réponse et de 
la connexion à la fonctionnalité de remboursement automatique de paiement, la 
logique de traitement du webhook côté Xsolla est la suivante :


    
    
        Code de réponse
        Remboursement automatique de paiement désactivé (par défaut)
        Remboursement automatique de paiement activé
    
    
    
    
        400, 401, 402, 403, 404, 409, 422, 415
        Aucune action
        Remboursement automatique à l'utilisateur
    
    
        200, 201, 204
        Aucune action
        Aucune action
    
    
        Code différent ou absence de réponse au webhook
        Plusieurs webhooks sont envoyés à des intervalles de temps spécifiques : 2 tentatives à intervalles de 5 minutes, 7 tentatives à intervalles de 15 minutes, 10 tentatives à intervalles de 60 minutes.
        Plusieurs webhooks sont envoyés à des intervalles de temps spécifiques : 2 tentatives à intervalles de 5 minutes, 7 tentatives à intervalles de 15 minutes, 10 tentatives à intervalle de 60 minutes. Si tous les webhooks sont envoyés mais qu'aucune réponse n'est reçue, l'utilisateur est automatiquement remboursé.
    
    


Pour connecter la fonctionnalité de remboursement automatique, contactez vos 
responsables de réussite client ou envoyez un e-mail à csm@xsolla.com.

Endpoint: POST successful-order-payment-separate
Version: 1.0

## Request fields (application/json):

  - `custom_parameters` (object)
    Informations supplémentaires.

  - `items` (array, required)
    Liste des objets achetés par l'utilisateur.

The set of parameters included in the array depends on the webhook version. 
Version 2 includes additional parameters: is_free, is_bonus, and 
is_bundle_content. To switch the version, pass its number in the version 
parameter in the [Update webhook version](/fr/api/catalog/common-webhooks/update-webhook-version/) API call.

  - `notification_type` (string, required)
    Type de notification.

  - `order` (object, required)
    Informations sur commande.

  - `order.amount` (string, required)
    Coût total du panier en fonction de la devise sélectionnée.

  - `order.comment` (string,null, required)
    Commentaire de l'utilisateur sur la commande.

  - `order.coupons` (array)
    Coupons appliqués. Si aucun coupon n'a été appliqué, le tableau n'est pas renvoyé.

  - `order.coupons.code` (string)
    Code du coupon appliqué.

  - `order.coupons.external_id` (string)
    External ID.

  - `order.currency` (string, required)
    Devise de commande. L'UGS est utilisée pour la monnaie virtuelle et un code à trois lettres selon la norme [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) pour les devises réelles.

  - `order.currency_type` (string, required)
    Type de devise de paiement. Pour une commande gratuite, la valeur unknown est spécifiée.
    Enum: "real", "virtual", "unknown", "loyalty_point"

  - `order.id` (integer, required)
    Identifiant unique de la commande de l'utilisateur côté Xsolla.

  - `order.invoice_id` (string,null, required)
    ID de facture pour les paiements en devises réelles. Les paiements en monnaie virtuelle ou les biens gratuits ont une valeur null.

  - `order.mode` (string, required)
    Mode de paiement. La valeur default est utilisée pour les paiements réels et sandbox pour les paiements test.
    Enum: "default", "sandbox"

  - `order.platform` (string,null, required)
    Plateforme de paiement. La valeur xsolla est utilisée pour les paiements via Xsolla. Pour les autres paiements, la valeur correspondant au nom de la plateforme de publication de jeux est utilisée.
    Enum: "xsolla", "playstation_network", "xbox_live", "pc_standalone", "nintendo_shop", "google_play", "app_store_ios", "android_standalone", "ios_standalone", "android_other", "ios_other", "pc_other"

  - `order.promocodes` (array)
    Codes promo appliqués. Si aucun code promo n'a été appliqué, le tableau n'est pas renvoyé.

  - `order.promocodes.code` (string)
    Code promo appliqué.

  - `order.promocodes.external_id` (string)
    External ID.

  - `order.promotions` (array, required)
    Promotions s'appliquant à l'ensemble de la commande.
Le tableau est renvoyé dans les cas suivants :
 - Une promotion affecte le montant total de l'achat, par exemple un code promo avec le paramètre Discount on purchase ;
 - Aucune remise n'est appliquée à l'achat, mais des objets bonus sont ajoutés à la commande. Dans ce cas, les valeurs du coût avec remise ([amount_with_discount](/fr/webhooks/#operation/order-cancellation!path=order/promotions/amount_with_discount&t=request)) et sans remise ([amount_without_discount](/fr/webhooks/#operation/order-cancellation!path=order/promotions/amount_without_discount&t=request)) sont renvoyées et sont identiques, puisqu'aucune remise n'est appliquée.

Si aucune promotion n'est appliquée à l'ensemble de la commande, un tableau vide est renvoyé.

  - `order.promotions.amount_with_discount` (string)
    Coût total des objets bénéficiant d'une remise.

  - `order.promotions.amount_without_discount` (string)
    Coût total des objets sans remise.

  - `order.promotions.sequence` (integer)
    Ordre d'application de promotions.

  - `order.status` (string, required)
    Statut de la commande.

  - `user` (object, required)
    Informations sur l'utilisateur.

  - `user.country` (string)
    Pays de l'utilisateur. Code pays à deux lettres majuscules selon la norme [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

  - `user.email` (string, required)
    Adresse e-mail de l'utilisateur.

  - `user.external_id` (string, required)
    ID utilisateur.


## Response 200 fields

## Response 400 fields
