Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
    Présentation
    Capturer un paiement en plusieurs fois
    Capturer un montant supérieur au montant autorisé d'un paiement
    Bloquer une somme sur une carte de paiement en ligne pour une période prolongée
    Ajouter une autorisation
    Autoriser un paiement partiel
    Migrer depuis la version bêta
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
AccueilPaiementsFlexible acquiring

Bloquer une somme sur une carte de paiement en ligne pour une période prolongée

Comment utiliser les autorisations prolongées pour capturer les paiements par carte en ligne jusqu'à 30 jours après l'autorisation.

Les autorisations prolongées ont une période de validité plus longue, ce qui vous permet de bloquer les fonds du client plus longtemps que les délais de validité d’autorisation standard. Pour la plupart des réseaux de cartes, la période de validité de l’autorisation par défaut est de 7 jours pour les paiements en ligne et de 2 jours pour les paiements par TPE via le Terminal, tandis que les périodes de validité prolongées peuvent aller jusqu’à 30 jours en fonction du réseau de cartes. Pour plus d’informations sur les délais de validité de l’autorisation, consultez cette page.

Disponibilité

Lorsque vous utilisez des autorisations étendues, il n’y a pas de restrictions régionales. Cependant, gardez à l’esprit les limitations suivantes :

  • Elles ne sont disponibles que sur Visa, Mastercard, American Express et Discover.
  • Certaines marques de cartes bancaires appliquent des restrictions quant aux catégories de marchands qu’elles acceptent. Reportez-vous au tableau de disponibilité des réseaux ci-dessous.
  • Cette page décrit le fonctionnement des autorisations prolongées pour les paiements par carte en ligne. Pour les paiements par carte effectués à partir d’un TPE avec des autorisations prolongées, consultez la documentation relative à Terminal.
  • mode est défini sur payment et capture_method est défini sur manual pour la CheckoutSession.

Fonctionnalité IC+

Nous proposons des autorisations prolongées aux utilisateurs utilisant la tarification IC+. Si vous bénéficiez de la tarification Stripe mixte et souhaitez accéder à cette fonctionnalité, contactez-nous à l’adresse support.stripe.com.

Disponibilité par réseau de cartes et catégorie de marchand

Chaque réseau de cartes applique des règles différentes concernant l’admissibilité des paiements aux autorisations prolongées ainsi que la durée de validité de ces dernières. Le tableau suivant précise ces durées de validité ainsi que les types de transactions pour lesquels ces autorisations sont disponibles pour les réseaux Visa, Mastercard, American Express et Discover. En tout état de cause, dans la mesure où ces règles peuvent changer sans préavis, nous vous recommandons de toujours utiliser le champ capture_before pour confirmer la période de validité applicable pour un paiement donné.

Marque de la carte bancaireCatégorie de marchandDurée de validité de l’autorisation prolongée

Visa

Hôtel, hébergement, location de véhicule et croisiériste

Toutes les autres catégories de marchand*

30 jours**

Mastercard (à l’exclusion des cartes Maestro et Cirrus)Toutes les catégories de marchandsRéduction de 30 jours
American ExpressHébergement et location de véhicules30 jours***
DiscoverCompagnies aériennes, affrètement d’autocars/transport en autobus, location de voiture, croisiériste, navetteurs locaux/de banlieue, transport de passagers, y compris les ferries, hôtellerie, hébergement et train de passagersRéduction de 30 jours

  • Pour les autres catégories de marchands, Stripe facture des frais supplémentaires de 0,08 % par transaction. La fenêtre d’autorisation prolongée ne s’applique qu’aux transactions initiées par le client et ne concerne pas les transactions avec des entreprises japonaises ni les transactions liées aux soins de santé, au paiement de factures ou au remboursement de dettes. ** La fenêtre exacte d’autorisation prolongée de Visa est de 29 jours et 18 heures, afin de laisser suffisamment de temps pour le processus de compensation.*** Bien que le délai de validité soit prolongé à 30 jours, vous devez capturer les fonds autorisés au plus tard à la fin du séjour ou de la location de votre client.
  • Réseaux avec prise en charge limitée (bêta)

    Modifications récentes de la disponibilité

    Bonnes pratiques

    Lorsque vous utilisez des autorisations prolongées, les fonds de vos clients sont bloqués plus longtemps. Utilisez des libellés de relevé bancaire clairs pour éviter une augmentation des litiges due à des paiements non reconnus.

    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 prolongée, vous êtes responsable du respect de l’ensemble des lois, réglementations et règles de réseau en vigueur. Consultez les spécifications des réseaux de cartes par l’intermédiaire desquels vous prévoyez d’accepter cette fonctionnalité, afin de vous assurer que vos ventes sont conformes aux réglementations applicables, qui varient selon les réseaux. Par exemple, pour de nombreux réseaux, les périodes de validité prolongée sont réservées aux cas où vous ne connaissez pas le montant final que vous capturerez au moment de l’autorisation.

    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

    Sur votre serveur, créez une session Checkout et attribuez la valeur embedded au paramètre ui_mode. Vous pouvez configurer la session Checkout pour qu’elle inclue les postes de facture et d’autres options, par exemple la devise.

    Pour rediriger vos clients vers une page personnalisée hébergée sur votre site Web, spécifiez l’URL de cette page dans le paramètre return_url. Incluez la variable de modèle {CHECKOUT_SESSION_ID} dans l’URL pour récupérer l’état de la session sur la page de retour. Checkout remplace automatiquement la variable par l’ID de session Checkout avant la redirection.

    En savoir plus sur la configuration de la page de retour et d’autres options pour personnaliser le comportement de redirection.

    Après avoir créé la session Checkout, utilisez la client_secret renvoyée dans la réponse pour monter Checkout.

    Pour activer la fonctionnalité d’autorisation prolongée, définissez request_extended_authorization sur if_available.

    Ruby
    # This example sets up an endpoint using the Sinatra framework. # To learn more about Sinatra, watch this video: https://youtu.be/8aA9Enb8NVc. require 'json' require 'sinatra' require 'stripe' # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
    'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
    post '/create-checkout-session' do session = Stripe::Checkout::Session.create({ line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], mode: 'payment', ui_mode: 'embedded', payment_method_options: { card: { request_extended_authorization: 'if_available', }, }, return_url: 'https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}' }) {clientSecret: session.client_secret}.to_json end

    Utilisez le champ capture_before pour confirmer la période de validité d’un paiement donné. La période de validité ne change pas une fois la session Checkout terminée. Pour déterminer si l’autorisation est prolongée une fois la session Checkout terminée, examinez le champ extended_authorization.status sur le paiement associé.

    { "id": "pi_xxx", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, "amount_received": 0, "status": "requires_capture", ... // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "payment_method_details": { "card": { "amount_authorized": 1000, "capture_before": 1696524701, "extended_authorization": { "status": "enabled", // or "disabled" } } } ... } ... }

    Monter Checkout

    Checkout est disponible dans Stripe.js. Intégrez le script Stripe.js à votre page en l’ajoutant à l’en-tête de votre fichier HTML. Ensuite, créez un nœud DOM vide (conteneur) à utiliser pour le montage.

    index.html
    <head> <script src="https://js.stripe.com/basil/stripe.js"></script> </head> <body> <div id="checkout"> <!-- Checkout will insert the payment form here --> </div> </body>

    Initialisez Stripe.js avec votre clé API publique.

    Créez une fonction fetchClientSecret asynchrone qui demande à votre serveur de créer la session Checkout et de récupérer la clé secrète du client. Transmettez cette fonction dans la propriété options lorsque vous créez l’instance Checkout :

    index.js
    // Initialize Stripe.js const stripe = Stripe(
    'pk_test_TYooMQauvdEDq54NiTphI7jx'
    ); initialize(); // Fetch Checkout Session and retrieve the client secret async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Initialize Checkout const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, }); // Mount Checkout checkout.mount('#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.
    Ruby
    get '/session-status' do session = Stripe::Checkout::Session.retrieve(params[:session_id]) {status: session.status, customer_email: session.customer_details.email}.to_json end
    client.js
    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.

    Tester votre intégration

    Utilisez les cartes de test Stripe ci-dessous avec n’importe quel CVC et une date d’expiration postérieure à la date du jour test pour demander des autorisations prolongées pendant le test. Si les autorisations prolongées sont disponibles pour les paiements d’un réseau donné pendant les tests, elles sont également disponibles pour les paiements réels.

    Marque de la carteNuméroMoyen de paiement
    Visapm_card_visa
    Mastercardpm_card_mastercard
    Amexpm_card_amex
    Discoverpm_card_discover

    Voir aussi

    • Bloquer des fonds sur un moyen de paiement
    Cette page vous a-t-elle été utile ?
    OuiNon
    • Besoin d'aide ? Contactez le service Support.
    • Rejoignez notre programme d'accès anticipé.
    • Consultez notre log des modifications.
    • Des questions ? Contactez l'équipe commerciale.
    • LLM ? Lire llms.txt.
    • Propulsé par Markdoc