# Rembourser et annuler des paiements Découvrez comment annuler ou rembourser un paiement. Vous pouvez [annuler un paiement](https://docs.stripe.com/refunds.md#cancel-payment) sans frais avant sa finalisation. Vous pouvez également rembourser tout ou partie d’un paiement après sa réussite, ce qui peut entraîner des frais. Les frais de traitement Stripe liés à la transaction initiale ne sont pas remboursés. Consultez notre [page tarifaire](https://stripe.com/pricing/local-payment-methods) pour plus d’informations. Les remboursements sont effectués à partir de solde Stripe disponible (hors montants en attente). Si votre solde disponible est insuffisant pour couvrir le montant d’un remboursement, Stripe conserve le remboursement en attente pour les transactions par carte (les remboursements pour les autres moyens de paiement échoueront) jusqu’à ce que votre solde Stripe soit suffisant. Vous pouvez remédier à un solde Stripe négatif en collectant des paiements ou *en rechargeant* (The act of adding funds to a Stripe account, typically through a transfer from a bank external to Stripe) le solde de votre compte. Dans certaines régions, le cas échéant, Stripe peut débiter automatiquement vos comptes bancaires pour couvrir un solde Stripe négatif. ## Demandes de remboursement Nous envoyons les demandes de remboursement à la banque ou à l’*émetteur de carte* (The entity that issued a payment card to a cardholder. This could be a bank, such as with the Visa or Mastercard network, or it could be the card network itself, such as with American Express) de votre client. En fonction du réseau de cartes et de la banque émettrice, les remboursements effectués apparaissent en temps réel sur les relevés bancaires de vos clients. Les litiges et contestations de paiements ne sont pas possibles pour les paiements par carte bancaire qui ont été remboursés dans leur intégralité. Si toutes les conditions suivantes sont réunies, nous envoyons un e-mail à votre client pour l’informer du remboursement : - Le paiement d’origine a été créé sur un objet Customer dans votre compte Stripe. - Le client dispose d’une adresse e-mail enregistrée. - Vous avez activé l’option **Envoyer un e-mail aux clients en cas d’émission d’un remboursement** [Dashboard](https://dashboard.stripe.com/account/emails). Vous pouvez [consulter les paiements que vous avez remboursés dans le Dashboard](https://dashboard.stripe.com/test/payments?status%5B0%5D=refunded&status%5B1%5D=refund_pending&status%5B2%5D=partially_refunded). ## Effectuer des remboursements Vous pouvez émettre des remboursements à l’aide de l’[API Refunds](https://docs.stripe.com/api/refunds.md) ou du [Dashboard](https://dashboard.stripe.com/test/payments). Vous pouvez émettre plusieurs remboursements pour un paiement, mais le montant total du remboursement ne peut être supérieur au montant du paiement initial. #### Dashboard Pour rembourser un paiement à l’aide du Dashboard : 1. Recherchez le paiement que vous souhaitez rembourser sur la page [Payments](https://dashboard.stripe.com/payments). 1. Cliquez sur le menu déroulant (⋯) à droite du paiement, puis sélectionnez **Rembourser le paiement**. 1. Par défaut, le remboursement est total. Pour effectuer un remboursement partiel, saisissez un autre montant. 1. Sélectionnez un motif de remboursement. Si vous sélectionnez **Autre**, vous devez ajouter une note expliquant le motif du remboursement. Cliquez sur **Rembourser**. Vous pouvez aussi sélectionner un paiement précis et effectuer un remboursement directement depuis sa page d’informations. Il est possible d’envoyer des [reçus de remboursement](https://docs.stripe.com/receipts.md#refund-receipts) automatiquement ou de générer manuellement un reçu pour chaque remboursement. > #### Remboursements en masse > > Le Dashboard prend en charge le remboursement groupé de plusieurs paiements. Sélectionnez les paiements à rembourser en cochant la case située à gauche de chaque paiement, même s’ils sont répartis sur plusieurs pages. Cliquez ensuite sur **Rembourser** et sélectionnez un motif. Notez que cette façon de faire vous permet uniquement d’effectuer des remboursements totaux. Les remboursements partiels doivent être effectués individuellement. #### API Pour rembourser un paiement à l’aide de l’API, [créez un remboursement](https://docs.stripe.com/api.md#create_refund) en fournissant l’ID du paiement ou le [PaymentIntent](https://docs.stripe.com/api/payment_intents.md). Lorsque vous utilisez un PaymentIntent pour collecter un paiement, Stripe crée un objet de [paiement](https://docs.stripe.com/api/charges/object.md). Pour rembourser un paiement après la réussite de PaymentIntent, créez un remboursement à l’aide de PaymentIntent, ce qui revient à rembourser le paiement sous-jacent. Si vous utilisez les API Stripe Tax pour enregistrer les ventes, vous devez [comptabiliser les remboursements](https://docs.stripe.com/tax/custom.md#reversals). ```curl curl https://api.stripe.com/v1/refunds \ -u "<>:" \ -d payment_intent=pi_Aabcxyz01aDfoo ``` Vous pouvez également rembourser seulement une partie d’un PaymentIntent en précisant un montant. Pour ce faire, définissez un paramètre `amount` sous forme d’entier en centimes (ou dans la plus petite unité monétaire de la devise de paiement). ```curl curl https://api.stripe.com/v1/refunds \ -u "<>:" \ -d payment_intent=pi_Aabcxyz01aDfoo \ -d amount=1000 ``` Si vous souhaitez dissocier [l’autorisation et la capture](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) d’un paiement, et rembourser un PaymentIntent dont l’état est `requires_capture`, la procédure de remboursement est différente. Dans ce cas, les frais associés à PaymentIntent restent non capturés et ne peuvent pas être remboursés directement. Vous devez [annuler le PaymentIntent](https://docs.stripe.com/api/payment_intents/cancel.md). ### Remboursements par le biais d’une plateforme Connect Le comportement de remboursement dépend du [type de paiement Connect](https://docs.stripe.com/connect/charges.md#refund-creation) utilisé dans votre intégration. - Pour les remboursements dans le cadre des [paiements directs](https://docs.stripe.com/connect/direct-charges.md#issue-refunds), Stripe débite directement le compte connecté. - Stripe débite votre plateforme pour les remboursements versés à des [paiements indirects](https://docs.stripe.com/connect/destination-charges.md#issue-refunds) ou à des [paiements et transferts distincts](https://docs.stripe.com/connect/separate-charges-and-transfers.md#issue-refunds) (avec ou sans la valeur `on_behalf_of`). Annulez les transferts associés à ces types de frais pour récupérer le montant du remboursement sur vos comptes connectés. Les plateformes Connect peuvent permettre à leurs comptes connectés d’effectuer des remboursements aux clients depuis leur site en utilisant des composants intégrés Connect tels que le composant [paiements](https://docs.stripe.com/connect/supported-embedded-components/payments.md) ou le composant [informations de paiement](https://docs.stripe.com/connect/supported-embedded-components/payment-details.md). ## Destinations des remboursements Les remboursements peuvent uniquement être émis vers le moyen de paiement d’origine. Il n’est pas possible d’effectuer un remboursement vers une autre destination, sur une autre carte ou un autre compte bancaire. Les remboursements vers des cartes bancaires expirées ou annulées sont gérés par l’émetteur de la carte du client. Dans la plupart des cas, ils sont crédités sur la nouvelle carte du client. En l’absence de nouvelle carte, l’émetteur recourt habituellement à une autre méthode (par exemple un chèque ou un virement bancaire). Dans de rares cas, un remboursement vers une carte bancaire peut [échouer](https://docs.stripe.com/refunds.md#failed-refunds). Pour les autres moyens de paiement, comme ([ACH](https://docs.stripe.com/payments/ach-direct-debit.md) et [iDEAL](https://docs.stripe.com/payments/ideal.md), la gestion des remboursements varie d’une banque à l’autre. Si le client a résilié son moyen de paiement, la banque peut nous renvoyer le remboursement, qui est alors marqué comme ayant [échoué](https://docs.stripe.com/refunds.md#failed-refunds). ## Gérer les échecs de remboursement Un remboursement peut échouer si la banque ou l’émetteur de la carte du client ne peut le traiter. Par exemple, si le compte bancaire a été fermé ou que la carte présente un problème, un échec peut survenir. Le cas échéant, la banque nous renvoie alors les fonds, que nous recréditons sur le solde de votre compte Stripe. Ce processus peut prendre jusqu’à 30 jours à compter de l’émission du remboursement. Lorsque vous utilisez l’API, l’état d’un objet [Remboursement](https://docs.stripe.com/api.md#refund_object) passe à `failed` et inclut les attributs suivants : - `failure_balance_transaction` : l’ID de l’[opération sur solde](https://docs.stripe.com/api.md#balance_transaction_object) qui représente le montant recrédité sur votre solde Stripe. - `failure_reason` : la raison pour laquelle le remboursement a échoué. Ces raisons incluent : | Motif d’échec | Description | | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `charge_for_pending_refund_disputed` | Un client a contesté le paiement alors que le remboursement était en attente. Dans ce cas, nous vous recommandons d’[accepter ou de contester le litige](https://docs.stripe.com/disputes/responding.md#decide) au lieu d’effectuer un remboursement afin d’éviter de rembourser deux fois la somme au client. | | `declined` | Le remboursement a été refusé par nos partenaires financiers. | | `expired_or_canceled_card` | Le moyen de paiement a été annulé par un client ou a expiré chez le partenaire. | | `insufficient_funds` | Le remboursement est en attente en raison de fonds insuffisants et a dépassé la fenêtre d’expiration de la possibilité de remboursement. | | `lost_or_stolen_card` | Le remboursement a échoué en raison de la perte ou du vol de la carte d’origine. | | `merchant_request` | Échec du remboursement sur demande de l’entreprise. | | `unknown` | Le remboursement a échoué pour une raison inconnue. | Pour certains moyens de paiement, le code de refus de paiement fourni par nos partenaires financiers, qui indique le motif d’échec du remboursement, est disponible dans le champ `network_decline_code` du hachage `destination_details` : ``` { id: "pyr_1234", destination_details: { blik: { network_decline_code: "decline_code" }, type: 'blik', } } ``` Dans les rares cas où un remboursement échoue, nous vous en informons en utilisant l’*événement* (A tool to send events to your application via webhook or directly to your cloud infrastructure) `refund.failed` (consultez la section consacrée aux [événements de remboursement](https://docs.stripe.com/refunds.md#refund-events)). Vous devrez alors vous organiser autrement pour rembourser le client. Si votre plateforme utilise [Connect avec les paiements indirects](https://docs.stripe.com/connect/destination-charges.md#issue-refunds), les fonds provenant d’un remboursement ayant échoué sont déposés sur le solde Stripe de votre compte de plateforme. ## Annuler un remboursement Selon le type de remboursement, vous pouvez annuler un remboursement avant qu’il n’arrive sur le compte du client. Certains remboursements par carte bancaire prennent en charge l’annulation pour une courte période. Le remboursement ne doit pas avoir été traité comme une annulation de paiement. Seules les annulations depuis le Dashboard sont actuellement prises en charge pour les remboursements par carte bancaire. Pour certains [moyens de paiement](https://docs.stripe.com/payments/bank-transfers.md#refunds), Stripe contacte le client pour collecter ses coordonnées bancaires avant de traiter le remboursement. Vous pouvez annuler ces remboursements tant que les coordonnées bancaires n’ont pas été collectées. Pour ce type de remboursements, les annulations depuis l’API et le Dashboard sont prises en charge. Les remboursements annulés passent au statut `canceled`. Les annulations étant un type d’échec de remboursement, les attributs `failure_reason` et `failure_balance_transaction` sont inclus dans l’objet [Refund](https://docs.stripe.com/api.md#refund_object). Si votre plateforme utilise [Connect avec les paiements indirects](https://docs.stripe.com/connect/destination-charges.md#issue-refunds), les fonds provenant d’un remboursement annulé sont crédités sur le solde Stripe du compte de votre plateforme. To cancel a refund using the Dashboard: 1. Find the payment associated with the refund in the [Payments](https://dashboard.stripe.com/payments) page. 1. Click the overflow menu (⋯) to the right of the payment, then select **Cancel refund**. 1. If there are multiple partial refunds, select the correct refund in the dropdown. 1. Confirm the refund cancellation by selecting **Yes, cancel refund**. Alternatively, you can click a specific payment and cancel the refund from its details page. ## Remboursement et annulation Les remboursements émis peu après le paiement d’origine se présentent sous la forme d’une *annulation* (A reversal is the cancellation of a transaction. Stripe doesn't withhold any fees for payment reversals) et non d’un remboursement. Dans ce cas, le paiement d’origine disparaît tout simplement du relevé du client, et aucun crédit n’est émis. Pour les utilisateurs d’*IC+* (A pricing plan where businesses pay the variable network cost for each transaction plus the Stripe fee rather than a flat rate for all transactions. This pricing model provides more visibility into payments costs), il peut y avoir une différence de coût entre les annulations et les remboursements, car les annulations entraînent généralement des frais de réseau moins élevés. #### Dashboard Pour vérifier si un remboursement est annulé dans le Dashboard : 1. Ouvrez la page des informations de paiement du paiement associé au remboursement. 1. Dans la Chronologie, cliquez sur **Afficher les détails** dans l’entrée du remboursement. 1. S’il s’agit d’une annulation, un message correspondant s’affiche. #### API Pour vérifier si un remboursement est annulé à l’aide de l’API : 1. Utilisez l’[événement](https://docs.stripe.com/refunds.md#refund-events) `refund.updated` ou [récupérez le remboursement](https://docs.stripe.com/api/refunds/retrieve.md) via l’API. 1. S’il s’agit d’une annulation,`destination_details[card][type] = 'reversal'` sera renvoyé. ## Suivre un remboursement Après l’émission d’un remboursement, Stripe transmet la demande à la banque ou à l’émetteur de la carte du client. En fonction de sa banque, votre client reçoit le remboursement dans un délai de 5 à 10 jours ouvrés. Les clients peuvent être amenés à vous contacter lorsqu’ils ne voient pas leur remboursement, ce qui peut se produire pour plusieurs raisons : - Les remboursements émis peu après le paiement d’origine se présentent sous la forme d’une annulation et non d’un remboursement. Dans ce cas, le paiement d’origine disparaît tout simplement du relevé du client, aucun crédit n’est émis. - Un remboursement peut échouer si la banque ou l’émetteur de la carte du client n’a pas pu le traiter correctement, par exemple si le compte bancaire a été fermé ou que la carte présente un problème. La banque nous renvoie alors les fonds, que nous recréditons sur le solde de votre compte Stripe. Ce processus peut prendre jusqu’à 30 jours à compter de l’émission du remboursement. Si un client demande un remboursement, il peut être utile de lui donner le numéro de référence principal correspondant au remboursement. Pour les remboursements par carte, il peut s’agir du **numéro ARN (Acquirer Reference Number)**, du **numéro STAN (System Trace Audit Number)** ou du **numéro RRN (Retrieval Reference Number)**. Le numéro ARN, STAN ou RRN est un numéro de référence attribué à une transaction par carte tout au long du processus de paiement. Pour les remboursements de moyens de paiement locaux, il peut s’agir d’un numéro de référence généré par Stripe ou nos partenaires financiers qui est transmis aux banques ou institutions bénéficiaires. Votre client peut alors communiquer ce numéro de référence à sa banque afin d’obtenir plus d’informations sur la date à laquelle le remboursement sera disponible. Le fait d’avoir un numéro de référence peut également renforcer la confiance de votre client dans le fait que le remboursement a été initié. Les références de remboursement présentent les spécificités suivantes : - Ils sont pris en charge par certains partenaires financiers, et ils sont marqués comme non disponibles dans le cas contraire. - Jusqu’à 7 jours ouvrés sont nécessaires pour recevoir le numéro ARN des partenaires bancaires en aval une fois le remboursement émis. - Le numéro ARN n’est pas disponible dans le cas d’une annulation, puisque l’opération initiale n’est pas traitée. Pour les réseaux de cartes qui ne prennent pas en charge les numéros ARN, nous essayons de fournir d’autres références telles que le numéro STAN (System Trace Audit Number) ou RRN (Retrieval Reference Number). #### Dashboard Pour trouver la référence d’un remboursement à l’aide du Dashboard : 1. Ouvrez la page des informations de paiement du paiement associé au remboursement. 1. Dans la Chronologie, cliquez sur **Afficher les détails** dans l’entrée du remboursement. 1. Le cas échéant, Stripe affiche le numéro ARN ou STAN dans le presse-papiers. #### API Pour trouver la référence d’un remboursement à l’aide de l’API : 1. Utilisez l’[événement](https://docs.stripe.com/refunds.md#refund-events) `refund.updated` ou [récupérez le remboursement](https://docs.stripe.com/api/refunds/retrieve.md) via l’API. 1. Le cas échéant, Stripe affiche la référence du remboursement par carte bancaire dans le format de réponse API suivant : ``` { id: "re_1234", destination_details: { card: { reference: "123456", reference_status: "available", reference_type: "acquirer_reference_number", type: "refund" }, type: "card", } } ``` Ou la référence pour certains moyens de paiement locaux dans le format de réponse API suivant : ``` { id: "pyr_1234", destination_details: { eu_bank_transfer: { reference: "123456", reference_status: "available" }, type: "eu_bank_transfer", } } ``` ## Annuler un paiement Vous pouvez annuler un paiement à l’aide du Dashboard uniquement lorsqu’il est à l’état `uncaptured`. Pour annuler un paiement dans un autre état, vous devez utiliser l’API. #### Dashboard Pour annuler des paiements non capturés à l’aide du Dashboard : 1. Recherchez le paiement que vous souhaitez annuler sur la page [Payments](https://dashboard.stripe.com/payments). 1. Cliquez sur le paiement, puis sélectionnez **Annuler**. 1. Sélectionnez un motif d’annulation, puis cliquez sur **Oui**. Si vous sélectionnez **Autre**, vous devez ajouter une note expliquant l’annulation du paiement. #### API Si vous ne comptez plus encaisser un paiement, vous pouvez [annuler un PaymentIntent](https://docs.stripe.com/api/payment_intents/cancel.md). Vous pouvez très bien laisser un PaymentIntent à l’état incomplet, par exemple `requires_confirmation` ou `requires_payment_method`. En effet, les PaymentIntents incomplets sont utiles pour comprendre le taux de conversion au moment du paiement. L’exemple de code suivant illustre une demande d’annulation de PaymentIntent : ```curl curl -X POST https://api.stripe.com/v1/payment_intents/pi_32AkjQ5H4Bas2eAolX13/cancel \ -u "<>:" ``` Vous pouvez uniquement annuler les PaymentIntents à l’un des états suivants : - `requires_payment_method` - `requires_capture` - `requires_confirmation` - `requires_action` - `processing` (uniquement lorsque le moyen de paiement associé est un compte bancaire américain) Un PaymentIntent ne peut pas être annulé une fois qu’il a réussi. Lorsqu’un PaymentIntent est annulé, vous ne pouvez plus l’utiliser pour des paiements ultérieurs. Toute opération que votre application tente d’effectuer sur un PaymentIntent annulé échoue avec un message d’erreur. ## Événements liés aux remboursements Stripe déclenche des [événements](https://docs.stripe.com/api/events.md#events) à chaque création ou modification d’un remboursement. D’autres actions, comme les clôtures de vérifications, déclenchent également des événements relatifs aux remboursements. Assurez-vous que votre intégration est configurée pour [gérer les événements](https://docs.stripe.com/webhooks/handling-payment-events.md) et que vous [vérifiez les signatures des webhooks](https://docs.stripe.com/webhooks.md#verify-events) afin de confirmer que les événements entrants proviennent bien de Stripe. Vous devez également mettre en place une logique interne pour informer vos clients ou votre équipe de l’état du processus de remboursement. Au minimum, Stripe recommande d’écouter l’événement `refund.created`. Le tableau suivant décrit les événements les plus courants concernant les remboursements. | Événement | Description | | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `refund.created` | Envoyé à la création d’un remboursement. | | `refund.updated` | Envoyé lorsqu’un remboursement est mis à jour. Les mises à jour incluent l’ajout de métadonnées et le partage d’informations telles que le numéro de référence [ARN pour suivre les remboursements](https://docs.stripe.com/refunds.md#tracing-refunds). | | `refund.failed` | Envoyé à l’[échec d’un remboursement](https://docs.stripe.com/refunds.md#failed-refunds). | | `charge.dispute.funds_reinstated` | Envoyé à la restitution, [même partielle](https://docs.stripe.com/disputes/best-practices.md#partial-refund-bp), de fonds sur votre compte après clôture d’un litige. | | `charge.refunded` | Envoyé en cas de remboursement d’un paiement, même partiel. Écoutez `refund.created` pour en savoir plus sur le remboursement. | | `review.closed` | Envoyé à la clôture d’une [vérification](https://docs.stripe.com/api/events/types.md#review_object). Consultez le champ `reason` pour comprendre pourquoi la vérification a été clôturée à l’état : `approved`, `disputed`, `canceled`, `refunded`, or `refunded_as_fraud`. | | `source.refund_attributes_required` (Deprecated) | Envoyé lorsque la source réceptrice a besoin d’attributs de remboursement pour traiter un remboursement ou un paiement erroné. | | `charge.refund.updated` (Deprecated) | Envoyé lorsque le remboursement est mis à jour, uniquement pour les remboursements avec un paiement correspondant. Pour les mises à jour de tous les remboursement, écoutez plutôt `refund.updated`. | ## Optimisation des coûts Si votre entreprise traite un grand volume de remboursements peu après la date de transaction, nous vous recommandons d’utiliser l’[autorisation et la capture manuelles](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) pour réduire vos coûts de remboursement. L’autorisation et la capture manuelles permettent de mieux contrôler les coûts en annulant les paiements avant qu’ils ne soient saisis, ou en réduisant le montant saisi plutôt que de traiter un remboursement. ## See also - [Ajouter des fonds à votre solde Stripe](https://docs.stripe.com/get-started/account/add-funds.md) - [Ajouter des fonds au solde de votre plateforme](https://docs.stripe.com/connect/top-ups.md) - [Localiser les tarifs](https://docs.stripe.com/payments/currencies/localize-prices.md)