# API Payment Methods Découvrez l’API qui vous permet d’accepter divers modes de paiement internationaux. L’API Payment Methods vous permet à elle seule d’accepter de nombreux moyens de paiement. Un objet [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) contient les informations sur les moyens de paiement qui permettent ensuite de créer des paiements. Avec l’API Payment Methods, vous pouvez combiner un objet *PaymentMethod* (PaymentMethods represent your customer's payment instruments, used with the Payment Intents or Setup Intents APIs) : - Avec un objet [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) pour accepter un paiement - Avec un objet [SetupIntent](https://docs.stripe.com/api/setup_intents.md) et un objet *Customer* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments) pour enregistrer les informations d’un paiement afin de les réutiliser par la suite ## Moyens de paiement pris en charge Pour déterminer quels moyens de paiement utiliser dans chaque région, consultez le [guide des moyens de paiement](https://stripe.com/payments/payment-methods-guide). Ce guide présente les moyens de paiement disponibles dans différentes régions et décrit en détail les caractéristiques de chacun d’eux et les [zones géographiques](https://stripe.com/payments/payment-methods-guide#payment-methods-fact-sheets) dans lesquelles ils sont les plus pertinents. Vous pouvez activer tous les moyens de paiement disponibles dans le [Dashboard](https://dashboard.stripe.com). L’activation est généralement instantanée et ne nécessite pas de contrats supplémentaires. ## Actions du client ​​Certains moyens de paiement imposent au client d’effectuer des étapes supplémentaires pour valider son achat. Le paramètre `next_action` de l’objet PaymentIntent spécifie le type de l’action du client. Actions qu’il est fréquemment demandé au client d’effectuer : - S’authentifier et approuver le paiement après avoir suivi une redirection vers le service en ligne de son institution financière - Fournir un code à usage unique que vous publiez sur l’API de Stripe (par exemple, microversements) pour confirmer qu’il est le propriétaire du compte - Envoyer les fonds (par exemple, dans le cas d’un virement bancaire) par l’intermédiaire du service en ligne de son institution financière Tous les moyens de paiement n’exigent pas d’actions supplémentaires du client. Par exemple, les paiements par carte (hors 3D Secure) ne demandent pas d’authentification supplémentaire au-delà du recueil des informations de carte. > Pour les moyens de paiement qui nécessitent une action du client, configurez [des points de terminaison de webhook](https://docs.stripe.com/payments/payment-methods.md#webhooks) pour recevoir des notifications indiquant si un paiement a réussi ou non. ## Notification immédiate ou différée de la réussite d’un paiement Certains modes de paiement renvoient immédiatement un état de paiement lors d’une tentative de transaction (par exemple, paiements par carte), tandis que d’autres diffèrent cette notification, comme les prélèvements ACH. Pour les modes de paiement renvoyant immédiatement l’état du paiement, l’état de l’objet PaymentIntent passe à `succeeded` ou `requires_payment_method`. L’état `succeeded` garantit que vous recevrez les fonds de vos clients. Les moyens de paiement offrant une notification différée ne permettent pas de garantir le paiement pendant la période précédant la notification. L’état de l’objet est `processing`, puis passe à successful ou failed. De nombreuses entreprises bloquent les commandes avec l’état *en attente* pendant cette période et ne commencent leur traitement qu’une fois le paiement réussi. > ​​Pour les moyens de paiement offrant une notification différée, configurez [des points de terminaison de webhook](https://docs.stripe.com/payments/payment-methods.md#webhooks) pour les notifications indiquant si un paiement a réussi ou non. ## Moyens de paiements à usage unique ou réutilisables Vous pouvez réutiliser certains moyens de paiement (par exemple, les cartes et les prélèvements) pour effectuer des paiements supplémentaires sans devoir de nouveau collecter et autoriser les informations. Afin de réduire les risques de refus de paiement et les complexités liées au processus de paiement (par exemple [l’authentification obligatoire](https://docs.stripe.com/strong-customer-authentication.md)), veillez toujours à définir des moyens de paiement réutilisables, qui peuvent être configurés pour une utilisation ultérieure [lors de l’acceptation d’un paiement](https://docs.stripe.com/payments/save-during-payment.md) ou même [sans accepter de paiement](https://docs.stripe.com/payments/save-and-reuse.md). Les moyens de paiement ponctuels (par exemple, certains type de virement bancaire) ne peuvent pas être associés à des clients, car ils sont supprimés après une tentative de paiement. ## Utiliser des webhooks pour suivre l’état des paiements Configurez des webhooks en créant un [point de terminaison de webhook ou un autre type de destination d’événement](https://docs.stripe.com/event-destinations.md) pour les moyens de paiement qui nécessitent une action du client ou offrent une notification de paiement différée. Stripe envoie les événements suivants lorsque l’état `PaymentIntent` est mis à jour : | Événement | Description | Étapes suivantes | | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | `payment_intent.processing` | Le paiement du client a bien été envoyé à Stripe. Ne s’applique qu’aux moyens de paiement [offrant une notification différée](https://docs.stripe.com/payments/payment-methods.md#payment-notification). | Attendez que le paiement réussisse ou échoue. | | `payment_intent.succeeded` | Le paiement a réussi. | Traitez la commande de biens ou de services. | | `payment_intent.payment_failed` | Le paiement a échoué. | Envoyez un courriel ou une notification poussée pour demander au client d’essayer un autre moyen de paiement. | ​​Vous pouvez également vous appuyer sur les options suivantes plutôt que de configurer une destination d’événement pour écouter les événements : - Suivez manuellement l’état des paiements dans le Dashboard Stripe si votre entreprise traite un petit nombre de commandes associées à des moyens de paiement offrant une notification différée. Dans le Dashboard, vous pouvez [consulter tous vos paiements Stripe](https://dashboard.stripe.com/test/payments), envoyer des reçus par courriel, gérer les virements et réessayer des paiements ayant échoué. - Utilisez l’interrogation, qui consiste à récupérer un PaymentIntent de manière répétée pour consulter son état. Toutefois, cette technique est significativement moins fiable que les webhooks et peut engendrer des problèmes si elle est utilisée à grande échelle. Stripe applique une limite de débit aux requêtes API, donc nous vous recommandons de faire preuve de prudence si vous choisissez de recourir à l’interrogation. - Intégrez une application partenaire pour gérer les événements métier courants, comme l’[automatisation](https://stripe.partners/?f_category=automation) ou le [marketing et les ventes](https://stripe.partners/?f_category=marketing-and-sales). ## L’objet PaymentMethod Un objet PaymentMethod contient des informations de paiement réutilisables permettant de créer des paiements (par exemple, la date d’expiration ou l’adresse de facturation d’une carte). En revanche, il n’inclut pas d’informations spécifiques à une transaction, comme des montants ou des devises. Un objet PaymentMethod est associé à un PaymentIntent pour représenter les [états du cycle de vie d’un paiement](https://docs.stripe.com/payments/paymentintents/lifecycle.md). Chaque objet PaymentMethod dispose d’un [attribut type](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-type) (par exemple, `"type": "sepa_debit"`) et d’un algorithme de hachage supplémentaire dont le nom est identique à cet attribut et qui contient des informations spécifiques au type de l’objet PaymentMethod (par exemple, `"sepa_debit":{}`). Exemple d’un objet PaymentMethod `sepa_debit` : ```json { "id": "pm_123456789", "object": "payment_method", "billing_details": { "address": {...}, "email": "jenny@example.com", "name": "Jenny Rosen", "phone": "+335555555555" },"sepa_debit": { "bank_code": "37040044", "branch_code": "94832", "country": "FR", "fingerprint": "ygEJfUjzWMGyWnZg", "last4": "3000" }, "type": "sepa_debit", (...) } ``` > Pour manipuler en toute sécurité des informations de paiement sensibles et gérer automatiquement les actions des clients, Stripe vous recommande de créer des moyens de paiement à l’aide de [Stripe.js](https://docs.stripe.com/js.md#stripe-create-payment-method). ## See also - [Guide des moyens de paiement](https://stripe.com/payments/payment-methods-guide) - [Documentation sur l’API Payment Methods](https://docs.stripe.com/api/payment_methods.md)