PS PrestaShop Intermédiaire

Express Checkout — Apple Pay, Google Pay & Amazon Pay via Stripe — Guide complet

Installer, connecter à Stripe (manuel ou automatique) et configurer le paiement express Apple Pay, Google Pay et Amazon Pay sur la fiche produit, le panier et le checkout pour PrestaShop 8 et 9.

Mis à jour Version du module 1.1.0

Présentation

DataFirefly Express Checkout ajoute le paiement par portefeuille — Apple Pay, Google Pay et Amazon Pay — à votre boutique PrestaShop 8 ou 9, via Stripe. Le module s’appuie sur l’Express Checkout Element de Stripe : un composant unique qui détecte automatiquement les portefeuilles disponibles sur l’appareil du client et affiche les boutons correspondants.

Les boutons peuvent apparaître à trois emplacements, activables indépendamment : sur la fiche produit (achat express), dans le panier et sur la page de paiement. Après paiement, la commande est créée et validée par un webhook Stripe à signature vérifiée, avec une logique idempotente qui empêche toute commande en double. Le module est compatible mono et multi-boutique, et fourni en cinq langues (FR, EN, ES, DE, IT).

Prérequis

  • PrestaShop 8.0 à 9.x, PHP 7.4 ou supérieur.
  • L’extension PHP cURL activée (vérifiée à l’installation).
  • Un compte Stripe actif.
  • Une boutique servie en HTTPS (obligatoire pour Apple Pay et Google Pay).

Installation

  1. Depuis le back-office, ouvrez Modules > Gestionnaire de modules.
  2. Cliquez sur Installer un module et déposez l’archive ZIP du module.
  3. Une fois l’installation terminée, cliquez sur Configurer.

À l’installation, le module crée une table de suivi des transactions et un état de commande dédié « Paiement autorisé (en attente de capture) » utilisé par le mode de capture manuelle.

Connexion à Stripe

Le module propose deux modes de connexion, réglés par le champ Mode de connexion.

Mode manuel (clés API)

Renseignez vos clés depuis le Dashboard Stripe (Développeurs > Clés API) :

  • Clé publique et Clé secrète, en version Test puis Live.
  • Secret du webhook (voir la section Webhook ci-dessous).

Basculez le champ Mode sur Test pendant l’intégration, puis sur Live en production. Chaque mode possède son propre jeu de clés.

Mode automatique (Stripe Connect / OAuth)

Ce mode connecte votre compte Stripe en un clic. Cliquez sur Se connecter avec Stripe, autorisez l’accès, et le module récupère automatiquement les clés publique et secrète, crée le webhook (et son secret de signature) et tente d’enregistrer le domaine wallet pour Apple Pay / Google Pay. Le bouton Déconnecter révoque l’accès et purge les clés.

Le mode automatique nécessite une application Stripe Connect. Deux possibilités :

  • Votre propre application Connect : renseignez le client_id et le secret de plateforme (Test et Live).
  • Courtier DataFirefly : renseignez l’URL du courtier, qui détient le secret de plateforme et réalise l’échange OAuth. Si cette URL est renseignée, elle est prioritaire.

Déclarez l’URL de redirection affichée dans le panneau de connexion au niveau des Redirect URIs de votre application Stripe Connect, sinon l’autorisation OAuth sera refusée.

Configuration Stripe (Dashboard)

Webhook

En mode manuel, créez le point de terminaison dans Développeurs > Webhooks > Ajouter un endpoint :

  • URL : celle affichée en haut de la page de configuration du module (.../module/dfexpresscheckout/webhook).
  • Événements : payment_intent.succeeded et payment_intent.payment_failed.
  • Copiez le secret de signature (whsec_…) dans la configuration du module.

En mode automatique, le webhook et son secret sont créés automatiquement lors de la connexion.

Sans secret de webhook configuré, le module refuse les appels entrants : c’est une mesure de sécurité, la commande n’est jamais créée sur la base d’un appel non vérifié.

Activer les portefeuilles

  • Amazon Pay : activez-le dans Paramètres > Moyens de paiement de votre Dashboard Stripe. Il apparaît ensuite automatiquement dans l’Express Checkout Element.
  • Apple Pay : votre domaine doit être vérifié dans Stripe (Paramètres > Apple Pay). En mode automatique, le module tente cet enregistrement pour vous.
  • Google Pay : actif automatiquement, aucune action requise.

Configuration du module

Emplacements d’affichage

Trois interrupteurs contrôlent l’affichage des boutons : fiche produit, panier et checkout. Activez-les indépendamment selon votre stratégie.

Mode de capture

  • Capture immédiate (par défaut) : le paiement est encaissé tout de suite et la commande passe à « Paiement accepté ».
  • Autorisation puis capture manuelle : Stripe autorise le paiement sans l’encaisser ; la commande arrive dans l’état « Paiement autorisé (en attente de capture) ».

Intitulé et thème

Personnalisez l’intitulé affiché au-dessus des boutons et le thème des boutons (noir, blanc, blanc contour) pour l’accorder à votre design.

Côté client

Selon l’emplacement, le client voit un ou plusieurs boutons wallet. Il confirme le paiement en une authentification (Face ID, empreinte, mot de passe Amazon), sans créer de compte : l’e-mail ainsi que les adresses de livraison et de facturation sont récupérés depuis le portefeuille. Lorsque des frais de port s’appliquent, le module propose les transporteurs actifs et recalcule le total à chaque changement d’adresse. Les produits dématérialisés fonctionnent sans étape de livraison.

Depuis la fiche produit, l’achat express porte sur le produit affiché (et la quantité choisie) via un panier dédié, sans modifier le panier courant du client.

Capture manuelle : encaisser ou annuler

En mode de capture manuelle, le pilotage se fait par le statut de commande :

  • Pour capturer le paiement, passez la commande au statut « Paiement accepté ».
  • Pour libérer l’autorisation, passez la commande au statut « Annulé ».

Une autorisation Stripe a une durée de vie limitée (généralement 7 jours). Pensez à capturer avant expiration, sinon l’autorisation est libérée automatiquement.

Commandes, webhook et idempotence

La commande est créée et validée à la réception de l’événement payment_intent.succeeded (webhook signé). Un contrôleur de retour sert de filet de sécurité lorsque le client revient sur la boutique. Une table de transactions relie chaque PaymentIntent à sa commande : une même transaction ne génère donc jamais deux commandes, quel que soit l’ordre d’arrivée du retour navigateur et du webhook. Le client invité et ses adresses sont reconstitués à partir des informations renvoyées par le portefeuille.

Multilingue et multi-boutique

Le module est fourni avec des fichiers de traduction FR, EN, ES, DE, IT et fonctionne en contexte multi-boutique. Les clés Stripe, le mode de connexion et le mode de capture sont des réglages de configuration standard.

Dépannage

Les boutons ne s’affichent pas

Vérifiez que la boutique est en HTTPS, que les clés Stripe sont renseignées pour le mode actif (Test/Live), et que l’emplacement concerné est activé. Apple Pay n’apparaît que sur Safari/iOS avec un domaine vérifié ; Google Pay sur Chrome/Android.

Le paiement réussit mais aucune commande n’est créée

Contrôlez le webhook : URL correcte, événements payment_intent.succeeded et payment_intent.payment_failed, et secret de signature identique à celui du module. Consultez les journaux Stripe (tentatives de livraison du webhook) et les logs PrestaShop.

Amazon Pay est absent

Il doit être activé dans Paramètres > Moyens de paiement du Dashboard Stripe. Il apparaît ensuite automatiquement.

La connexion automatique échoue

Vérifiez que le client_id Connect est renseigné pour le mode actif et que l’URL de redirection du module est bien déclarée dans votre application Connect. Un jeton d’état invalide indique une session expirée : relancez la connexion depuis le back-office.

Désinstallation

La désinstallation retire la configuration du module. La table de suivi des transactions est conservée par défaut pour la traçabilité des commandes passées.

FAQ

Amazon Pay fonctionne-t-il vraiment via Stripe ?

Oui. Stripe prend en charge Amazon Pay au sein de l’Express Checkout Element ; il suffit de l’activer dans le Dashboard Stripe.

Faut-il installer des dépendances (Composer) ?

Non. Le module embarque un client Stripe interne en cURL. Il suffit d’installer le module et de renseigner (ou connecter) vos clés.

Le module est-il compatible PrestaShop 9 ?

Oui, il est compatible PrestaShop 8.0 à 9.x et testé sur PHP 8.1 à 8.3.

Puis-je passer du mode manuel au mode automatique ?

Oui, à tout moment depuis la configuration. En mode automatique, les clés sont renseignées par la connexion OAuth ; en mode manuel, vous les saisissez vous-même.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support