# Paiement de commande réussi (avec données de paiement et de transaction) Xsolla envoie le webhook order_paid à l'URL spécifiée lorsque l'utilisateur effectue le paiement de la commande avec succès. Le webhook order_paid contient des informations sur les objets achetés, les données du paiement et les détails de la transaction. Le webhook order_paid n'est pas envoyé si le paiement n'aboutit pas, 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. Il est recommandé de veiller à ce que la temps de traitement du webhook order_paid soit inférieur à 3 secondes. Remarque L'ensemble des champs envoyés dans un webhook dépend : des paramètres configurés dans le Compte éditeur dans la section Project settings > Webhooks > Advanced settings ;des paramètres configurés côté Xsolla.Si vous avez des questions, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com. 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 Version: 1.0 ## Request fields (application/json): - `billing` (object) Données de la transaction et du paiement. - `billing.notification_type` (string, required) Type de notification. - `billing.payment_details` (object, required) Informations sur le paiement (objet). - `billing.payment_details.country_wht` (object) Retenue à la source appliquée dans certains pays pour les transactions transfrontalières (objet). - `billing.payment_details.country_wht.amount` (number) Montant. - `billing.payment_details.country_wht.currency` (string) Devise. Code de devise à trois lettres selon la norme [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). - `billing.payment_details.country_wht.percent` (number) Taux de retenue à la source du pays, en %. - `billing.payment_details.direct_wht` (object) Retenue à la source directe. - `billing.payment_details.direct_wht.percent` (number) Taux de retenue à la source directe. - `billing.payment_details.payment` (object) Montant payé par l'utilisateur (objet). - `billing.payment_details.payment_method_fee` (object) Frais du système de paiement. - `billing.payment_details.payment_method_sum` (object) Montant débité du système de paiement. - `billing.payment_details.payout` (object) Détails de virement (objet). - `billing.payment_details.payout_currency_rate` (string) Taux de change entre les devises de paiement et de virement. - `billing.payment_details.repatriation_commission` (object) Données sur les frais de rapatriement imposés à Xsolla par des tiers. - `billing.payment_details.sales_tax` (object) Taxe de vente (objet ; États-Unis et Canada uniquement). - `billing.payment_details.sales_tax.percent` (number) Taux de taxe de vente. - `billing.payment_details.user_acquisition_fee` (object) Montant total de la commission d'acquisition d'utilisateurs déduits pour les achats effectués via les réseaux d'affiliation et les influenceurs (objet). - `billing.payment_details.user_acquisition_fee.percent` (number) Taux de la commission d'acquisition de l'utilisateur, en %. - `billing.payment_details.vat` (object) Informations sur la TVA (objet ; UE uniquement). - `billing.payment_details.vat.percent` (number) Taux de TVA. - `billing.payment_details.xsolla_balance_sum` (object) Montant débité du solde Xsolla. - `billing.payment_details.xsolla_fee` (object) Frais Xsolla (objet). - `billing.purchase` (object) Informations sur l'achat (objet). - `billing.purchase.coupon` (object) Informations sur le coupon (objet ; si un coupon a été utilisé lors de la création de l'abonnement). - `billing.purchase.coupon.campaign_code` (string) Code de campagne. - `billing.purchase.coupon.coupon_code` (string) Code de coupon. - `billing.purchase.gift` (object) Informations sur le cadeau (objet). - `billing.purchase.gift.giver_id` (string) ID du donneur. - `billing.purchase.gift.hide_giver_from_receiver` (string) Détermine l'affichage de l'identité du donneur au destinataire. - `billing.purchase.gift.message` (string) Message du donneur. - `billing.purchase.gift.receiver_email` (string) Adresse e-mail du destinataire du cadeau. - `billing.purchase.gift.receiver_id` (string) ID du destinataire du cadeau. - `billing.purchase.promotions` (array) Promotions appliquées à cette transaction. - `billing.purchase.promotions.id` (integer) ID de promotion. - `billing.purchase.promotions.technical_name` (string) Nom technique de la promotion. - `billing.purchase.subscription` (object) Informations de l'abonnement (objet). - `billing.purchase.subscription.amount` (number) Prix en monnaie réelle. - `billing.purchase.subscription.date_create` (string) Date de création de l'abonnement. Date et heure selon la norme [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `billing.purchase.subscription.date_next_charge` (string) Prochaine date de facturation. Date et heure selon la norme [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `billing.purchase.subscription.plan_id` (string) ID de plan (externe si le plan a été créé via API). - `billing.purchase.subscription.product_id` (string) ID de produit (s'il est passé dans le jeton d'accès). - `billing.purchase.subscription.subscription_id` (integer) ID d'abonnement dans la base de données Xsolla. - `billing.purchase.subscription.tags` (array) Balises du plan. - `billing.purchase.total` (object, required) Prix total d'achat (objet). - `billing.purchase.total.amount` (number) Montant total du paiement. - `billing.settings` (object) Paramètres personnalisés de projet (objet). - `billing.settings.merchant_id` (integer) ID de commerçant. - `billing.settings.project_id` (integer) ID de projet. Ce paramètre se trouve dans le [Compte éditeur](https://publisher.xsolla.com/) à côté du nom du projet. - `billing.transaction` (object, required) Détails de la transaction (objet). - `billing.transaction.agreement` (integer) ID de contrat. - `billing.transaction.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. - `billing.transaction.external_id` (string) External ID de la transaction. Pour obtenir des informations détaillée, reportez-vous à la [FAQs](/fr/doc/pay-station/references/faq/#faq_payments_q_new_transaction_external_id). - `billing.transaction.id` (integer) ID de transaction. - `billing.transaction.payment_date` (string) Date de paiement. - `billing.transaction.payment_method` (integer) ID de mode de paiement. - `billing.transaction.payment_method_name` (string) Nom de mode de paiement. - `billing.transaction.payment_method_order_id` (string) ID de paiement dans le système de paiement. - `custom_parameters` (object) Informations supplémentaires. - `items` (array, required) Liste des objets achetés par l'utilisateur. L'ensemble des paramètres inclus dans le tableau dépend de la version du webhook. La version 2 comprend des paramètres supplémentaires : is_free, is_bonus et is_bundle_content. Pour changer de version, passez son numéro dans le paramètre version de l'appel API [Update information about webhook settings](/fr/api/igs/operation/update-webhook/). - `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.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