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
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
Gestion des versions
Journal des modifications
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Outils de développement
SDK
API
Tests
Workbench
Destinations d'événements
Workflows
CLI Stripe
Shell Stripe
Dashboard des développeurs
Boîte à outils des agents
Intégrer des LLMStripe pour Visual Studio CodeAlertes d'intégrité de StripeChargements de fichiers
Sécurité et confidentialité
Sécurité
Confidentialité
Extensions Stripe
Stripe Apps
Connecteurs Stripe
    Présentation
    Intégrer un connecteur
    Commercetools
    Adobe Commerce
      Payments et Tax Connector for Adobe Commerce
      Connecteur indépendant Tax Connector for Adobe Commerce
      Recettes
        Ajouter des métadonnées aux paiements
        Masquer les conditions affichées dans le formulaire PaymentElement
        Passer une commande avant l'encaissement d'un paiement 3D Secure
        Définir le style du formulaire de paiement
        Effectuer des test pour comprendre pourquoi un moyen de paiement n'apparaît pas
        Intégrer des frais personnalisés au calcul de la taxe
        Activer la capture manuelle
        Activer la multicapture
        Activer la surcapture
        Ajouter des moyens de paiement externes au formulaire de paiement
        Désactiver un mode de livraison dans une fenêtre modale Express Checkout
        Ajout d'événements personnalisés aux webhooks Stripe
    Mirakl
    NetSuite
    Oracle Opera
    Cegid
    PrestaShop
    Salesforce
    SAP
    Shopware 6
    Stripe Tax for WooCommerce
    Stripe Tax pour BigCommerce
    Connecteurs de partenaires
    Créer votre propre connecteur
Partenaires
Partner ecosystem
Certification des partenaires
AccueilOutils de développementStripe ConnectorsAdobe CommerceCookbooks

Comment passer une commande avant d'encaisser un paiement 3D Secure

Modifiez le comportement par défaut du module Stripe lorsque l'authentification 3DS est requise.

Copier la page

Ce guide décrit comment personnaliser le comportement par défaut du module Stripe lorsque l’authentification 3DS est requise. Dans la conception par défaut, lorsque 3DS est requis, le paiement est encaissé à la réussite de l’authentification 3DS et avant que la commande ne soit passée.

Avec cet personnalisation, la commande reçoit d’abord l’état Pending Payment, puis la fenêtre 3DS s’ouvre. Si l’authentification réussit, le client est redirigé vers la page de réussite du paiement. Stripe envoie ensuite de manière asynchrone l’événement de webhook charge.succeeded à votre site Web, ce qui fait passer la commande à l’état Processing ou Complete.

Si le client échoue à l’authentification 3DS ou abandonne le processus de paiement, la commande est automatiquement annulée par cron après 2 à 3 heures. Pendant ce temps, l’inventaire reste réservé. Si vous avez besoin d’annuler la commande plus tôt, vous pouvez le configurer avec le paramètre pending payment order lifetime (durée de vie des commandes de paiement en attente) dans la zone d’administration.

Créer un module

Créez un nouveau module avec la structure de répertoire suivante. Remplacez Vendor par le nom de votre fournisseur préféré.

app/code/Vendor/StripeCustomizations/ ├── etc/ │ ├── module.xml │ └── config.xml ├── registration.php

Dans registration.php, enregistrez votre module auprès de Magento.

<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_StripeCustomizations', __DIR__ );

Dans le fichier etc/module.xml, définissez le module et configurez les dépendances pour vous assurer qu’il se charge après le module Stripe.

<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_StripeCustomizations" setup_version="1.0.0"> <sequence> <module name="StripeIntegration_Payments"/> </sequence> </module> </config>

Dans etc/config.xml, remplacez les paramètres suivants du module Stripe :

<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd"> <default> <stripe_settings> <manual_authentication> <rest_api>x</rest_api> <!-- Removing "card" and "link" will achieve the desired behavior --> </manual_authentication> </stripe_settings> </default> </config>

Remarque

La valeur x pour <rest_api> est un caractère substituable qui oblige Magento à respecter le remplacement. Si vous laissez la valeur vide, Magento l’ignore et ne la remplacera pas.

Activez le module :

php bin/magento module:enable Vendor_StripeCustomizations php bin/magento setup:upgrade php bin/magento cache:clean php bin/magento cache:flush

Considérations sur GraphQL

L’API REST est utilisée par la majorité des thèmes Magento basés sur le thème principal Luma. Si vous utilisez une vitrine personnalisée qui utilise GraphQL au lieu de l’API REST, ce comportement est celui par défaut et vous n’avez pas besoin d’effectuer la modification décrite ci-dessus.

Si toutefois vous préférez que votre vitrine GraphQL passe la commande après confirmation de la réussite du paiement, vous pouvez utiliser la même approche de personnalisation avec la configuration suivante dans etc/config.xml :

<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd"> <default> <stripe_settings> <manual_authentication> <graphql_api>card,link</graphql_api> </manual_authentication> </stripe_settings> </default> </config>
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