Accepter un paiement Afterpay ou Clearpay
Mise en garde
Stripe propose automatiquement à vos clients des options de moyens de paiement selon leur devise, les restrictions sur les moyens de paiement et d’autres paramètres. Nous vous recommandons de configurer vos moyens de paiement à partir du Dashboard Stripe en suivant les instructions indiquées dans Accepter un paiement.
Si vous souhaitez continuer à configurer manuellement les moyens de paiement proposés à vos clients avec Checkout, utilisez ce guide (par exemple, pour accepter des paiements en mode abonnement). Sinon, migrez vers le Dashboard.
Afterpay 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’Afterpay, sur lequel ils sont invités à accepter les conditions d’un plan de 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 Afterpay au fil du temps.
Note
Before you start the integration, make sure your account is eligible for Afterpay by navigating to your Payment methods settings.
Déterminer la compatibilité
Une session Checkout doit remplir toutes les conditions suivantes pour prendre en charge les paiements Afterpay :
- Vous ne pouvez utiliser que des postes ponctuels (les postes récurrents dans le cadre de plans d’abonnement ne sont pas pris en charge).
- Les tarifs doivent être exprimés dans la devise locale.
- Les adresses de livraison doivent être renseignées.
Accepter un paiement
Note
This guide builds on the foundational accept a payment Checkout integration.
Suivez ce guide pour savoir comment activer Afterpay et découvrir les différences entre l’acceptation d’un paiement par carte bancaire et l’utilisation d’Afterpay.
Activer le moyen de paiement Afterpay
Lorsque vous créez une nouvelle session Checkout, vous devez effectuer ce qui suit :
- Ajouter
afterpay_clearpay
à la listepayment_method_types
- Veiller à ce que tous vos
line_items
utilisent votre devise locale. - Collecter les adresses de livraison en ajoutant votre pays à
shipping_address_collection[allowed_countries]
. Si vous ne collectez pas les adresses de livraison avec Checkout, spécifiez l’adresse de livraison à l’aide depayment_intent_data[shipping]
.
Stripe::Checkout::Session.create({ mode: 'payment', payment_method_types: ['card'], payment_method_types: ['card', 'afterpay_clearpay'], line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, # Make sure the total amount fits within Afterpay transaction amount limits: # https://stripe.com/docs/payments/afterpay-clearpay#collection-schedule unit_amount: 2000, }, quantity: 1, }], shipping_address_collection: { # Specify which shipping countries Checkout should provide as options for shipping locations allowed_countries: ['AU', 'CA', 'GB', 'NZ', 'US'], }, # If you already have the shipping address, provide it in payment_intent_data: # payment_intent_data: { # shipping: { # name: 'Jenny Rosen', # address: { # line1: '1234 Main Street', # city: 'San Francisco', # state: 'CA', # country: 'US', # postal_code: '94111', # }, # }, # }, success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', })
Traiter vos commandes
Utilisez un moyen tel que des webhooks pour gérer le traitement des commandes plutôt que d’espérer que votre client retourne sur la page d’é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 de votre 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_payment_method . | Contactez votre client par e-mail et demandez-lui de passer une nouvelle commande. |
Découvrez-en davantage sur le traitement des commandes.
Tester votre intégration
Lors du test de votre intégration Checkout, sélectionnez le moyen de paiement Afterpay, puis cliquez sur le bouton Payer.
Testez votre intégration Afterpay 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 passera alors de l’état requires_action
à 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, cliquez sur Échec du paiement test. Votre PaymentIntent bascule alors de l’état requires_action
à requires_payment_method
.
Pour les PaymentIntents à capture manuelle en mode test, le PaymentIntent non capturé expirera automatiquement 10 minutes après l’aboutissement de l’autorisation.
Paiements qui ont échoué
Afterpay prend en compte de nombreux facteurs pour accepter ou décliner une transaction (par exemple, la durée d’utilisation d’Afterpay par le client, le montant restant que le client doit rembourser, ou encore la valeur de la commande actuelle).
Vous devez toujours présenter des options de paiement supplémentaires telles que card
dans votre tunnel de paiement, car les paiements Afterpay ont un taux de déclin 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_payment_method
.
Pour un PaymentIntent Afterpay portant l’état requires_action
, les clients doivent effectuer le paiement dans les 3 heures suivant leur redirection vers le site d’Afterpay. Si aucune action n’est prise dans le délai imparti, le PaymentMethod est détaché et l’état de l’objet PaymentIntent bascule automatiquement sur requires_payment_method
.
Dans ces 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 |
---|---|
invalid_amount_too_small | Saisissez un montant compris dans les limites de transaction par défaut d’Afterpay pour chaque pays. |
invalid_amount_too_large | Saisissez un montant compris dans les limites de transaction par défaut d’Afterpay pour chaque pays. |
payment_intent_invalid_currency | Choisissez la devise appropriée. Afterpay ne prend en charge que les transactions nationales. |
missing_required_parameter | Consultez le message d’erreur pour en savoir plus sur le paramètre requis. |
nonexistent_country | Dans les informations de livraison et de facturation, entrez un code pays ISO à deux lettres valide pour la propriété country . |
payment_intent_redirect_confirmation_without_return_url | Spécifiez une URL de retour return_url lors de la confirmation d’un PaymentIntent avec Afterpay. |