API Payment Methods
Découvrez comment fonctionne l'API qui assure le traitement de nombreux moyens de paiement internationaux.
L’API Payment Methods vous permet à elle seule d’accepter de nombreux moyens de paiement. Un objet PaymentMethod 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 :
- Avec un objet PaymentIntent pour accepter un paiement
- Avec un objet SetupIntent et un objet Customer 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.
Ce guide présente les différents moyens de paiement disponibles dans chaque région, et décrit en détail les caractéristiques de chacun d’eux et les régions géographiques dans lesquelles ils sont les plus pertinents. Vous avez la possibilité d’activer tous les moyens de paiement figurant dans le Dashboard. 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_
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.
Remarques
Pour les moyens de paiement qui nécessitent une action du client, configurez les destinations des événements pour les 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 moyens 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 moyens de paiement renvoyant immédiatement l’état du paiement, l’état de l’objet PaymentIntent passe à succeeded
ou requires_
. 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.
Remarques
Pour les moyens de paiement avec notification différée, configurez les destinations d’événements 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), 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 ou même sans accepter de paiement.
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 les destinations des événements pour suivre l’état des paiements
Configurez les destinations d’événements pour les moyens de paiement qui nécessitent une action du client ou lorsque la notification de paiement est retardée. Stripe envoie les événements suivants lorsque l’état PaymentIntent
est mis à jour :
Événement | Description | Étapes suivantes |
---|---|---|
payment_ | Le paiement du client a bien été envoyé à Stripe. Ne s’applique qu’aux moyens de paiement offrant une notification différée. | Attendez que le paiement réussisse ou échoue. |
payment_ | Le paiement a réussi. | Traitez la commande de biens ou de services. |
payment_ | 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, 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 ou le marketing et les ventes.
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. Chaque objet PaymentMethod dispose d’un attribut type (par exemple, "type": "sepa_
) 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_
). Exemple d’un objet PaymentMethod sepa_
:
{ "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", (...) }
Remarques
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.