Incrémenter une autorisation
Augmentez une autorisation existante sur un PaymentIntent confirmé avant de le capturer.
Les autorisations complémentaires vous permettent d’augmenter le montant autorisé d’un PaymentIntent confirmé avant de le capturer. Avant la capture, chaque autorisation complémentaire apparaît sur le relevé de carte bancaire comme une entrée en attente supplémentaire (par exemple, une autorisation de 10 USD augmentée à 15 USD apparaît sous la forme d’écritures en attente distinctes de 10 USD et de 5 USD). Après la capture, les autorisations en attente sont supprimées et le montant total capturé apparaît sous la forme d’une écriture finale.
Disponibilité
Lorsque vous utilisez des autorisations complémentaires, veuillez prêter attention aux restrictions suivantes :
- Cette fonctionnalité n’est disponible que pour les cartes Visa, Mastercard et Discover.
- Certaines marques de cartes bancaires imposent des restrictions sur des catégories de marchand (voir ci-dessous).
- mode est défini sur
payment
et capture_method est défini surmanual
pour la CheckoutSession.
Pour en savoir plus sur les autorisations complémentaires et les paiements par TPE effectués à l’aide de Terminal, consultez Autorisations complémentaires.
Fonctionnalité IC+
Nous proposons des autorisations complémentaires aux utilisateurs utilisant la tarification IC+. Si vous bénéficiez d’une tarification Stripe standard et souhaitez accéder à cette fonctionnalité, vous pouvez en savoir plus sur la page support.stripe.com.
Disponibilité par réseau de cartes et catégorie de marchand
Utilisez les autorisations complémentaires sur les paiements qui répondent aux critères ci-dessous. Vous trouverez votre catégorie d’utilisateur dans le Dashboard.
Toute tentative d’autorisation complémentaire sur un paiement qui ne remplit pas les critères ci-dessous génère une erreur.
Marque de la carte | Pays du marchand | Type de paiement | Catégorie de marchand |
---|---|---|---|
Visa | International | Tous les types de paiement par carte bancaire | Toutes les catégories d’utilisateurs |
Mastercard | International* | Tous les types de paiement par carte bancaire | Toutes les catégories d’utilisateurs |
Discover | International | Tous les types de paiement par carte bancaire | Location de voitures, hôtels, transport local/suburbain, transport de passagers, y compris les ferrys, lignes ferroviaires de passagers, lignes d’autocar, cars touristiques, compagnies de bateaux à vapeur/de croisières, services de location et de crédit-bail de bateaux, magasins d’alimentation et supermarchés, chargement de véhicules électriques, lieux de restauration et restaurants, lieux servant des boissons (alcoolisées), hôtels, motels, complexes touristiques, parcs pour caravanes et campings, services de location et de crédit-bail d’équipements, d’outils, de meubles et d’appareils électroménagers, agence de location de voitures, location de camions et de remorques utilitaires, location de camping-cars, parkings, parcmètres et garages, parcs d’attractions, cirques, voyance et cartomancie, services de loisirs (non classés) |
Discover | International | Carte non présente | Taxis et limousines |
Réseaux avec prise en charge limitée (bêta)
Autorisations complémentaires avec authentification forte du client (SCA)
Si vous et le titulaire de la carte vous trouvez dans un pays soumis aux exigences de la réglementation SCA, des éléments essentiels sont à prendre en compte certains lors de l’utilisation de l’autorisation complémentaire.
Lorsque vous demandez la fonctionnalité d’autorisation complémentaire lors de l’autorisation initiale, Stripe configure automatiquement le moyen de paiement pour une utilisation ultérieure hors session. Bien que l’autorisation initiale nécessite l’authentification 3D Secure (3DS), les autorisations complémentaires ultérieures sur ce paiement sont considérées comme initiées par les marchands, ce qui peut exempter toute SCA supplémentaire. Indiquez clairement à votre client, lors de la transaction initiale, que son paiement sera enregistré pour une utilisation ultérieure hors session avec les autorisations complémentaires.
Avec certaines transactions 3DS, la responsabilité des contestations de paiement frauduleuses (cartes volées ou contrefaites) est transférée à l’émetteur de la carte. Vous ne bénéficiez pas d’un transfert de responsabilité lorsque vous soumettez des transactions initiées par les marchands.
Conformité
Lorsque vous enregistrez les informations de paiement d’un client, vous êtes responsable du respect de l’ensemble des lois, réglementations et règles du réseau en vigueur. C’est notamment le cas si vous souhaitez enregistrer le moyen de paiement d’un client en vue d’une utilisation ultérieure, par exemple pour le débiter à un moment où il n’utilise pas activement votre site Web ou votre application. Ajoutez des conditions d’utilisation à votre site Web ou à votre application pour indiquer comment vous prévoyez d’enregistrer des informations relatives aux moyens de paiement et qui permettent aux clients d’y adhérer.
Si vous prévoyez de débiter votre client lorsqu’il est hors ligne, veillez à inclure à vos conditions les éléments suivants :
- Le consentement du client vous autorisant à déclencher un paiement ou une série de paiements en son nom pour les transactions spécifiées.
- Le calendrier et la fréquence prévus des paiements (par exemple, si les paiements se font par versements échelonnés, par recharges non programmées, ou s’il s’agit d’abonnements).
- La façon dont vous déterminez le montant à payer.
- Vos conditions de résiliation, si le moyen de paiement est utilisé dans le cadre d’un abonnement.
Veillez à conserver une trace écrite de l’acceptation de ces conditions par votre client.
Bonnes pratiques
Lorsque vous avez recours à une autorisation complémentaire, informez votre client final en amont en lui fournissant les détails relatifs à toute autorisation correspondant à un montant estimé, laquelle est susceptible d’être suivie d’autorisations complémentaires qui augmenteraient ces montants. Voici quelques bonnes pratiques à cet égard :
- Indiquez que l’autorisation porte sur un montant estimé et que des demandes d’autorisation ultérieures pourraient survenir au moment du paiement, avant l’achat.
- Calculez les montants estimés sur la base d’une estimation réelle du montant total de la transaction.
Vous pouvez utiliser le champ custom_text lorsque vous créez une nouvelle CheckoutSession pour afficher du texte supplémentaire sur la page de paiement afin de respecter les exigences de conformité.
Conformité
Lorsque vous utilisez l’autorisation complémentaire, vous êtes responsable du respect de l’ensemble des lois, réglementations et règles de réseau en vigueur. Consultez les règles de réseau des réseaux de cartes avec lesquels vous prévoyez d’utiliser cette fonctionnalité pour vous assurer que vos ventes sont conformes aux règles applicables, qui varient d’un réseau à l’autre. Par exemple, la plupart des réseaux de cartes imposent des restrictions sur la manière de calculer les montants estimés inclus dans l’autorisation initiale et interdisent le recours aux autorisations complémentaires pour les transactions dont le montant doit être connu au moment de l’autorisation (par exemple, pour les paiements d’abonnements récurrents).
Les informations fournies sur cette page traitant de votre conformité à ces exigences le sont uniquement à titre indicatif, et ne constituent en rien des conseils juridiques, fiscaux, comptables ou autres. Si vous ne savez pas quelles obligations vous devez respecter, consultez un professionnel.
Créer une session Checkout
Ajoutez sur votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Une session Checkout est la représentation programmatique de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide d’options telles que :
- Les postes à facturer
- Les devises à utiliser
Vous devez indiquer dans success_
l’URL d’une page de votre site Web sur laquelle Checkout renvoie votre client une fois son paiement réalisé. Vous pouvez également indiquer dans cancel_
l’URL de la page de votre site Web vers laquelle Checkout renvoie votre client s’il met fin au processus de paiement avant de finaliser l’achat.
Remarque
Par défaut, les sessions Checkout expirent 24 heures après leur création.
Après avoir créé une session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.
Enfin, définissez request_incremental_authorization sur if_
pour activer la fonctionnalité d’autorisation complémentaire.
Une fois que le client a terminé son paiement, le champ payment_method_details de l’objet latest_charge du PaymentIntent contient available
ou unavailable
en fonction du moyen de paiement du client et des critères de disponibilité mentionnés ci-dessus, qui détermine si un PaymentIntent est admissible pour une autorisation complémentaire. (Si vous n’avez pas demandé d’autorisation complémentaire lors de la création de la session CheckoutSession, celle-ci sera définie sur unavailable
.)
{ "id": "pi_ANipwO3zNfjeWODtRPIg", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, "amount_received": 0, ... // if latest_charge is expanded { "latest_charge": { "amount": 1000, "payment_method_details": { "card": { "incremental_authorization": { "status": "available" // or "unavailable" } } } ... } } }
Monter Checkout
Checkout s’affiche dans un iframe qui envoie de manière sécurisée les informations de paiement à Stripe via une connexion HTTPS.
Erreur fréquente
Évitez de placer Checkout dans un autre iframe, car certains moyens de paiement nécessitent une redirection vers une autre page pour la confirmation du paiement.
Personnaliser l’apparence
Personnalisez Checkout pour qu’il corresponde au design de votre site en définissant la couleur d’arrière-plan, la couleur des boutons, le rayon de la bordure et les polices dans les paramètres de marque de votre compte.
Par défaut, Checkout s’affiche sans espacement externe ni marge. Nous vous recommandons d’utiliser un élément de conteneur tel qu’un espace div pour appliquer la marge souhaitée (par exemple, 16 px sur tous les côtés).
Afficher une page de retour
Une fois que votre client a effectué une tentative de paiement, Stripe le redirige vers une page de retour que vous hébergez sur votre site. Lors de la création de la session Checkout, vous avez renseigné l’URL de la page de retour dans le paramètre return_url. En savoir plus sur les autres options de personnalisation du comportement de redirection.
Lors de l’affichage de votre page de retour, récupérez l’état de la session Checkout à l’aide de l’ID de session Checkout dans l’URL. Traitez le résultat en fonction de l’état de la session comme suit :
complete
: Le paiement a abouti. Utilisez les informations de la session Checkout pour afficher une page de confirmation.open
: Le paiement a échoué ou a été annulé. Montez à nouveau Checkout pour que votre client puisse effectuer une nouvelle tentative.
const session = await fetch(`/session_status?session_id=${session_id}`) if (session.status == 'open') { // Remount embedded Checkout } else if (session.status == 'complete') { // Show success page // Optionally use session.payment_status or session.customer_email // to customize the success page }
Moyens de paiement avec redirection
Lors du paiement, certains moyens de paiement redirigent le client vers une page intermédiaire, comme la page d’autorisation de sa banque. Une fois qu’il a renseigné cette page, Stripe le redirige vers votre page de retour.
En savoir plus sur les moyens de paiement avec redirection et le comportement de redirection.
Exécuter une autorisation complémentaire
Pour augmenter le montant autorisé sur un PaymentIntent, utilisez l’endpoint increment_authorization et fournissez le total mis à jour du montant d’autorisation à ajouter. Ce montant doit être supérieur au montant initialement autorisé. Vous tentez ainsi d’autoriser un montant plus élevé sur la carte de votre client. Un même PaymentIntent peut appeler cet endpoint plusieurs fois pour augmenter à nouveau le montant autorisé.
Vous disposez au maximum de 10 tentatives d’autorisation complémentaire par PaymentIntent.
curl https://api.stripe.com/v1/payment_intents/{{PAYMENT_INTENT_ID}}/increment_authorization \ -u
: \ -d "amount"=1500sk_test_BQokikJOvBiI2HlWgH4olfQ2
Si l’autorisation complémentaire aboutit, elle renvoie l’objet PaymentIntent avec le montant mis à jour. Si l’autorisation échoue, une erreur card_declined est alors renvoyée. L’objet PaymentIntent peut toujours être capturé pour le montant précédemment autorisé. Toute modification éventuelle d’autres champs du PaymentIntent (par exemple, application_fee_amount, transfer_data, metadata, description et statement_descriptor) ne sera pas enregistrée en cas d’échec de l’autorisation complémentaire.
L’autorisation complémentaire est plafonnée à 500 USD (ou la somme équivalente dans la devise locale) au-dessus ou à 500 % du montant précédemment autorisé (selon le montant le plus élevé) pour chaque complément.
Capturer le PaymentIntent
Vous devez capturer les fonds avant que l’autorisation initiale n’expire, que vous augmentiez ou non le montant autorisé d’un PaymentIntent avec une autorisation complémentaire. Les autorisations complémentaires ne prolongent pas la période de validité. Pour capturer le montant autorisé sur un PaymentIntent avec des autorisations complémentaires antérieures, utilisez l’endpoint capture de la manière habituelle.
curl https://api.stripe.com/v1/payment_intents/{{PAYMENT_INTENT_ID}}/capture \ -u
:sk_test_BQokikJOvBiI2HlWgH4olfQ2
Si l’autorisation complémentaire aboutit, elle renvoie l’objet PaymentIntent capturé avec le montant mis à jour. Si l’autorisation échoue, une erreur card_declined est alors renvoyée. Le PaymentIntent n’est pas capturé, mais il peut toujours être capturé pour le montant précédemment autorisé. Toute modification éventuelle d’autres champs du PaymentIntent (par exemple, application_fee_amount, transfer_data, metadata, description et statement_descriptor) ne sera pas enregistrée en cas d’échec de l’autorisation complémentaire.
Tester votre intégration
Utilisez la carte de test d’autorisation complémentaire avec n’importe quel CVC, code postal et date d’expiration postérieure à la date du jour pour déclencher des autorisations complémentaires pendant le test :
- Commencez par créer la CheckoutSession à l’aide de la carte de test utilisée à l’étape Créer une CheckoutSession ci-dessus.
- Exécutez l’autorisation complémentaire avec les paramètres spécifiés dans l’étape Exécuter l’autorisation complémentaire, puis utilisez la carte de test pour déclencher l’autorisation complémentaire.
Numéro | Moyen de paiement | Description |
---|---|---|
pm_ | Cela augmente le montant de l’autorisation pour atteindre le montant indiqué dans la requête. |