PS PrestaShop Intermedio

Express Checkout — Apple Pay, Google Pay y Amazon Pay con Stripe — Guía completa

Instala, conecta con Stripe (manual o automático) y configura el pago exprés con Apple Pay, Google Pay y Amazon Pay en la ficha de producto, el carrito y el pago para PrestaShop 8 y 9.

Actualizado Versión del módulo 1.1.0

Presentación

DataFirefly Express Checkout añade el pago con monederos — Apple Pay, Google Pay y Amazon Pay — a tu tienda PrestaShop 8 o 9, mediante Stripe. El módulo se basa en el Express Checkout Element de Stripe: un componente único que detecta automáticamente los monederos disponibles en el dispositivo del cliente y muestra los botones correspondientes.

Los botones pueden aparecer en tres ubicaciones, activables de forma independiente: en la ficha de producto (compra exprés), en el carrito y en la página de pago. Tras el pago, el pedido se crea y valida mediante un webhook de Stripe con firma verificada, con una lógica idempotente que evita cualquier pedido duplicado. El módulo es compatible con tienda única y multitienda, y se entrega en cinco idiomas (FR, EN, ES, DE, IT).

Requisitos

  • PrestaShop 8.0 a 9.x, PHP 7.4 o superior.
  • La extensión PHP cURL activada (comprobada en la instalación).
  • Una cuenta de Stripe activa.
  • Una tienda servida por HTTPS (obligatorio para Apple Pay y Google Pay).

Instalación

  1. Desde el back office, abre Módulos > Gestor de módulos.
  2. Haz clic en Subir un módulo y suelta el archivo ZIP del módulo.
  3. Una vez completada la instalación, haz clic en Configurar.

En la instalación, el módulo crea una tabla de seguimiento de transacciones y un estado de pedido dedicado «Pago autorizado (pendiente de captura)» utilizado por el modo de captura manual.

Conexión con Stripe

El módulo ofrece dos modos de conexión, definidos por el campo Modo de conexión.

Modo manual (claves API)

Introduce tus claves desde el Dashboard de Stripe (Desarrolladores > Claves API):

  • Clave pública y clave secreta, en versión Test y luego Live.
  • Secreto del webhook (consulta la sección Webhook más abajo).

Cambia el campo Modo a Test durante la integración y luego a Live en producción. Cada modo tiene su propio juego de claves.

Modo automático (Stripe Connect / OAuth)

Este modo conecta tu cuenta de Stripe en un clic. Haz clic en Conectar con Stripe, autoriza el acceso, y el módulo recupera automáticamente las claves pública y secreta, crea el webhook (y su secreto de firma) e intenta registrar el dominio de wallet para Apple Pay / Google Pay. El botón Desconectar revoca el acceso y elimina las claves.

El modo automático requiere una aplicación Stripe Connect. Dos opciones:

  • Tu propia aplicación Connect: introduce el client_id y el secreto de plataforma (Test y Live).
  • Intermediario DataFirefly: introduce la URL del intermediario, que posee el secreto de plataforma y realiza el intercambio OAuth. Si se indica esta URL, tiene prioridad.

Declara la URL de redirección mostrada en el panel de conexión en los Redirect URIs de tu aplicación Stripe Connect, de lo contrario se rechazará la autorización OAuth.

Configuración de Stripe (Dashboard)

Webhook

En modo manual, crea el endpoint en Desarrolladores > Webhooks > Añadir un endpoint:

  • URL: la que se muestra en la parte superior de la página de configuración del módulo (.../module/dfexpresscheckout/webhook).
  • Eventos: payment_intent.succeeded y payment_intent.payment_failed.
  • Copia el secreto de firma (whsec_…) en la configuración del módulo.

En modo automático, el webhook y su secreto se crean automáticamente al conectar.

Sin un secreto de webhook configurado, el módulo rechaza las llamadas entrantes: es una medida de seguridad, nunca se crea un pedido a partir de una llamada no verificada.

Activar los monederos

  • Amazon Pay: actívalo en Ajustes > Métodos de pago de tu Dashboard de Stripe. Después aparece automáticamente en el Express Checkout Element.
  • Apple Pay: tu dominio debe estar verificado en Stripe (Ajustes > Apple Pay). En modo automático, el módulo intenta este registro por ti.
  • Google Pay: activo automáticamente, no requiere ninguna acción.

Configuración del módulo

Ubicaciones de visualización

Tres interruptores controlan la visualización de los botones: ficha de producto, carrito y pago. Actívalos de forma independiente según tu estrategia.

Modo de captura

  • Captura inmediata (por defecto): el pago se cobra de inmediato y el pedido pasa a «Pago aceptado».
  • Autorización y captura manual: Stripe autoriza el pago sin cobrarlo; el pedido llega al estado «Pago autorizado (pendiente de captura)».

Título y tema

Personaliza el título mostrado encima de los botones y el tema de los botones (negro, blanco, blanco con contorno) para adaptarlo a tu diseño.

Lado del cliente

Según la ubicación, el cliente ve uno o varios botones de wallet. Confirma el pago con una sola autenticación (Face ID, huella, contraseña de Amazon), sin crear una cuenta: el correo y las direcciones de envío y facturación se obtienen del monedero. Cuando se aplican gastos de envío, el módulo ofrece los transportistas activos y recalcula el total en cada cambio de dirección. Los productos digitales funcionan sin paso de envío.

Desde la ficha de producto, la compra exprés cubre el producto mostrado (y la cantidad elegida) mediante un carrito dedicado, sin modificar el carrito actual del cliente.

Captura manual: cobrar o cancelar

En modo de captura manual, el control se realiza mediante el estado del pedido:

  • Para capturar el pago, pasa el pedido al estado «Pago aceptado».
  • Para liberar la autorización, pasa el pedido al estado «Cancelado».

Una autorización de Stripe tiene una vida útil limitada (normalmente 7 días). Recuerda capturar antes de que expire, de lo contrario la autorización se libera automáticamente.

Pedidos, webhook e idempotencia

El pedido se crea y valida al recibir el evento payment_intent.succeeded (webhook firmado). Un controlador de retorno actúa como red de seguridad cuando el cliente vuelve a la tienda. Una tabla de transacciones vincula cada PaymentIntent con su pedido: una misma transacción nunca genera dos pedidos, sea cual sea el orden de llegada del retorno del navegador y del webhook. El cliente invitado y sus direcciones se reconstruyen a partir de la información devuelta por el monedero.

Multiidioma y multitienda

El módulo incluye archivos de traducción para FR, EN, ES, DE, IT y funciona en contexto multitienda. Las claves de Stripe, el modo de conexión y el modo de captura son ajustes de configuración estándar.

Resolución de problemas

Los botones no aparecen

Comprueba que la tienda esté en HTTPS, que las claves de Stripe estén configuradas para el modo activo (Test/Live) y que la ubicación correspondiente esté activada. Apple Pay solo aparece en Safari/iOS con un dominio verificado; Google Pay en Chrome/Android.

El pago se realiza pero no se crea ningún pedido

Comprueba el webhook: URL correcta, eventos payment_intent.succeeded y payment_intent.payment_failed, y un secreto de firma idéntico al del módulo. Revisa los registros de Stripe (intentos de entrega del webhook) y los registros de PrestaShop.

Falta Amazon Pay

Debe estar activado en Ajustes > Métodos de pago del Dashboard de Stripe. Después aparece automáticamente.

La conexión automática falla

Comprueba que el client_id de Connect esté configurado para el modo activo y que la URL de redirección del módulo esté correctamente declarada en tu aplicación Connect. Un token de estado no válido indica una sesión caducada: reinicia la conexión desde el back office.

Desinstalación

La desinstalación elimina la configuración del módulo. La tabla de seguimiento de transacciones se conserva por defecto para la trazabilidad de los pedidos pasados.

Preguntas frecuentes

¿Amazon Pay funciona realmente con Stripe?

Sí. Stripe admite Amazon Pay dentro del Express Checkout Element; solo hay que activarlo en el Dashboard de Stripe.

¿Hay que instalar dependencias (Composer)?

No. El módulo incluye un cliente Stripe interno en cURL. Solo tienes que instalar el módulo e introducir (o conectar) tus claves.

¿Es compatible con PrestaShop 9?

Sí, es compatible con PrestaShop 8.0 a 9.x y probado en PHP 8.1 a 8.3.

¿Puedo cambiar del modo manual al automático?

Sí, en cualquier momento desde la configuración. En modo automático, las claves las rellena la conexión OAuth; en modo manual, las introduces tú mismo.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte