Accepter un paiement Affirm
Comment accepter les paiements Affirm, un moyen de paiement qui permet aux clients d'acheter tout de suite et de payer plus tard.
Remarques
Ce guide vous aide à intégrer Affirm à votre processus de paiement en ligne. Pour les paiements en personne avec Stripe Terminal, consultez la page Autres modes de paiement.
Avertissement
Stripe propose automatiquement à vos clients des options de modes de paiement selon leur devise, les restrictions sur les modes de paiement et d’autres paramètres. Nous vous recommandons de configurer vos modes de paiement à partir du Dashboard Stripe en suivant les instructions indiquées dans la section Accepter un paiement.
Si vous souhaitez continuer à configurer manuellement les modes de paiement proposés à vos clients avec Checkout, utilisez ce guide. Sinon, mettez à jour votre intégration pour configurer les modes de paiement dans le Dashboard.
Affirm est un moyen de paiement à usage unique et à notification immédiate avec lequel le client doit authentifier son paiement. Les clients sont redirigés vers le site d’Affirm, ils acceptent alors les conditions d’un plan de paiement à versements échelonnés. Une fois que le client a accepté les conditions, les fonds sont garantis et transférés vers votre compte Stripe. Le client rembourse directement Affirm au fil du temps.
Remarques
Avant de démarrer l’intégration, assurez-vous que votre compte est admissible à Affirm en vous rendant sur vos paramètres des moyens de paiement.
Déterminer la compatibilité
Une session Checkout doit remplir toutes les conditions suivantes pour prendre en charge les paiements Affirm :
- Vous ne pouvez utiliser que les postes ponctuels. Affirm ne prend pas en charge les plans d’abonnement récurrents.
- Les tarifs doivent être exprimés dans la devise locale.
Accepter un paiement
Remarques
Ce guide s’appuie sur l’intégration de base de Checkout permettant d’accepter un paiement.
Suivez ce guide pour savoir comment activer Affirm et découvrir les différences entre l’acceptation d’un paiement par carte et l’utilisation d’Affirm.
Activer le moyen de paiement Affirm
Lors de la création d’une nouvelle session Checkout, vous devez :
- Ajoutez
affirm
à la listepayment_
.method_ types - Veillez à ce que tous vos
line_
utilisent votre devise locale.items - Nous vous recommandons de collecter les adresses de livraison en ajoutant votre pays au paramètre
shipping_
. Si vous ne souhaitez pas collecter l’adresse de livraison avec Checkout, vous pouvez également la fournir à l’aide deaddress_ collection[allowed_ countries] payment_
. Ces informations sont utiles pour le calcul des taux d’approbation de prêt.intent_ data[shipping]
Traiter vos commandes
Utilisez une méthode telle que les webhooks pour gérer le traitement de la commande plutôt que d’attendre que votre client revienne sur la page de l’état du paiement.
Les événements suivants sont envoyés lorsque l’état du paiement change :
Nom de l’événement | Description | Étapes suivantes |
---|---|---|
checkout.session.completed | Le client a autorisé le paiement en envoyant le formulaire Checkout. | Attendez que le paiement aboutisse ou échoue. |
payment_intent.succeeded | Le paiement du client a abouti. Le PaymentIntent bascule à l’état succeeded . | Traitez la commande de biens ou de services du client. |
payment_intent.payment_failed | Le paiement du client a été refusé, ou le paiement a échoué pour un autre motif. Le PaymentIntent revient à l’état requires_ . | Contactez votre client par courriel et demandez-lui de passer une nouvelle commande. |
En savoir plus sur le traitement des commandes.
Tester votre intégration
Lors du test de votre intégration Checkout, sélectionnez le moyen de paiement Affirm, puis cliquez sur le bouton Payer.
Testez votre intégration Affirm en affichant la page de redirection à l’aide de vos clés API de test. Vous pouvez tester la réussite de paiement en l’authentifiant sur la page de redirection. Le PaymentIntent passe alors de l’état requires_
à succeeded
.
Pour tester un échec d’authentification de l’utilisateur, utilisez vos clés API de test et accédez à la page de redirection. Sur cette page, fermez la fenêtre modale Affirm et vérifiez que le paiement n’a pas fonctionné. Votre PaymentIntent passe donc de l’état requires_
à requires_
.
Lors de la redirection vers le bac à sable Affirm, Affirm peut demander les quatre derniers chiffres de votre numéro de sécurité sociale. Affirm suggère d’utiliser '0000'
ou '5678'
.
Pour les PaymentIntents à capture manuelle en mode test, le PaymentIntent non capturé expire automatiquement 10 minutes après l’aboutissement de l’autorisation.
Échecs de paiement
Affirm prend en compte de nombreux facteurs pour accepter ou refuser une transaction (par exemple, la durée d’utilisation d’Affirm par le client, le montant restant que le client doit rembourser et la valeur de la commande actuelle).
Présentez toujours des options de paiement supplémentaires telles que card
dans votre flux de paiement, car les paiements Affirm ont un taux de refus supérieur aux autres moyens de paiement. Dans ces cas, le PaymentMethod est détaché et l’état de l’objet PaymentIntent passe automatiquement à requires_
.
Hormis le refus d’un paiement, pour un PaymentIntent d’Affirm avec un état requires_
, les clients doivent effectuer le paiement sous 12 heures une fois que vous les avez redirigés vers le site d’Affirm. Si aucune action n’est prise par le client sous 12 heures, le PaymentMethod est détaché et l’état de l’objet PaymentIntent passe automatiquement à requires_
.
Dans ce cas, informez votre client pour réessayer avec une option de paiement différente présentée dans votre tunnel de paiement.
Codes d’erreur
Voici les codes d’erreur courants et les actions recommandées correspondantes :
Code d’erreur | Action recommandée |
---|---|
payment_ | Un échec générique qui indique l’échec du paiement Affirm. Des informations supplémentaires peuvent être disponibles dans le motif du résultat du paiement. |
payment_ | Affirm a refusé le paiement du client. Ensuite, le client doit contacter Affirm pour obtenir plus d’informations. |
payment_ | Le client n’a jamais effectué le paiement sur la page de paiement d’Affirm et la session de paiement a expiré. Stripe fait automatiquement expirer les PaymentIntents qui n’ont pas été autorisés 12 heures après la création du paiement initial. |
payment_ | Affirm a rencontré une erreur liée au service et n’est pas en mesure de répondre à la requête. Réessayez plus tard. |
amount_ | Saisissez un montant compris dans les limites de transactions par défaut d’Affirm. |
amount_ | Saisissez un montant compris dans les limites de transactions par défaut d’Affirm. |
Pour certaines erreurs, des informations supplémentaires peuvent être incluses dans le motif du résultat de paiement :
Motif du résultat | Ce que cela signifie |
---|---|
generic_ | Motif du résultat par défaut d’une erreur de paiement. Cela indique généralement que le partenaire a refusé le paiement (par exemple, en raison de fonds insuffisants), que l’institution financière émettrice de la carte a refusé le paiement, que la transaction comportait un achat à haut risque ou pour un motif similaire. Dans ce cas, Stripe ne reçoit pas toujours un motif de refus. |
affirm_ | Soit le client a explicitement annulé le paiement Affirm, soit Affirm a rejeté son admissibilité au prêt. Stripe ne peut pas faire la différence entre ces deux types d’événements. |