# API Payment Methods Découvrez l’API qui vous permet d’accepter une gamme de moyens 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 les moyens de paiement à utiliser dans une région particulière, consultez le [guide des moyens de paiement](https://stripe.com/payments/payment-methods-guide). Ce guide comprend les différents moyens de paiement disponibles dans chaque région, une description détaillée des 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 avez la possibilité d’activer tous les moyens de paiement figurant dans le [Dashboard](https://dashboard.stripe.com). De manière générale, cette activation est 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 sa banque - Fournir un code à usage unique que vous publiez sur l’API de Stripe (par exemple, via des 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 sa banque 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. > Dans le cas des moyens de paiement exigeant une action du client, configurez des [endpoints de webhook](https://docs.stripe.com/payments/payment-methods.md#webhooks) pour recevoir des notifications indiquant si le paiement a abouti ou non. ## Notification immédiate ou différée de la réussite d’un paiement Certains moyens de paiement renvoient immédiatement l’état du paiement lorsqu’une transaction est tentée (par exemple, les paiements par carte bancaire), tandis que d’autres présentent un délai, comme les prélèvements ACH. Pour les moyens de paiement qui renvoient immédiatement l’état du paiement, l’état du PaymentIntent passe soit à `succeeded`, soit à `requires_payment_method`. Un é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. > ​​Dans le cas des moyens de paiement avec notification différée, configurez des [endpoints de webhook](https://docs.stripe.com/payments/payment-methods.md#webhooks) pour recevoir des notifications indiquant si le paiement a abouti ou non. ## Moyens de paiement à usage unique ou réutilisables Vous pouvez réutiliser certains moyens de paiement (par exemple, les cartes ou les prélèvements bancaires) pour d’autres paiements sans devoir autoriser ni recueillir à nouveau les informations de paiement. 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 types de virements bancaires) ne peuvent pas être associés à des clients, car ils sont supprimés après la tentative de paiement. ## Utiliser les webhooks pour suivre l’état des paiements Configurez des webhooks en créant un [endpoint 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 lorsque la notification de paiement est 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 abouti. | Traitez la commande de biens ou de services. | | `payment_intent.payment_failed` | Le paiement a échoué. | Envoyez un e-mail ou une notification Push pour demander au client d’essayer un autre moyen de paiement. | Vous pouvez également utiliser les options suivantes plutôt que de créer une destination d’événement permettant d’é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 e-mail, gérer les virements et réessayer des paiements ayant échoué. - Utilisez le polling (par exemple, récupérez un PaymentIntent de manière répétée pour consulter son état). Toutefois, cette technique est sensiblement 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 au polling. - Utilisez une application partenaire pour gérer les événements métier courants, comme l’[automatisation](https://stripe.partners/?f_category=automation), le [marketing ou les ventes](https://stripe.partners/?f_category=marketing-and-sales). ## 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 de l’API Payment Methods](https://docs.stripe.com/api/payment_methods.md)