PrestaShop Checkout: el proceso, el módulo ps_checkout y las alternativas
Que es el PrestaShop Checkout?
Si alguna vez has buscado "prestashop checkout", probablemente hayas notado que el termino tiene dos significados muy diferentes dependiendo del contexto. Puede referirse al proceso de checkout integrado en cada tienda PrestaShop — el flujo multi-paso que los clientes siguen para completar una compra — o puede referirse al modulo PrestaShop Checkout (ps_checkout), una solucion de pago especifica desarrollada por PrestaShop SA en colaboracion con PayPal.
Este articulo cubre ambos aspectos. Te guiaremos a traves del funcionamiento del proceso de checkout predeterminado de PrestaShop, explicaremos que hace realmente el modulo ps_checkout (y que no hace), examinaremos las opciones de personalizacion, compararemos las alternativas mas comunes y discutiremos la seguridad del checkout en PrestaShop, el cumplimiento de PCI y como medir el rendimiento del checkout — para que puedas tomar una decision informada para tu tienda.
Como funciona el proceso de checkout en PrestaShop
El flujo multi-paso predeterminado
Cada tienda PrestaShop viene con un flujo de checkout integrado. Es un proceso multi-paso distribuido en cargas de pagina separadas. El cliente pasa por cinco etapas distintas:
- Revision del carrito — el cliente revisa productos, cantidades y totales antes de continuar
- Informacion personal — inicio de sesion, creacion de cuenta o checkout como invitado
- Direccion — introduccion o seleccion de la direccion de entrega y facturacion
- Envio — seleccion del transportista basada en la direccion de entrega y peso/dimensiones del carrito
- Pago — seleccion del metodo de pago y confirmacion del pedido
Despues del pago, el cliente llega a una pagina de confirmacion. Esta es la experiencia de checkout fundamental que cada tema debe implementar, y es la base sobre la que se construyen todos los modulos de pago, modulos de envio y personalizaciones del checkout.
PrestaShop 1.7 Checkout vs. PrestaShop 8/9 Checkout
Aunque el flujo general del checkout se ha mantenido consistente entre versiones, hay diferencias significativas entre la version 1.7 y las versiones modernas 8.x/9.x:
- Arquitectura del tema — PrestaShop 1.7 introdujo el tema Classic con un checkout fuertemente basado en JavaScript que usa AJAX para validar cada paso. PrestaShop 8 y 9 continuan este patron pero con la opcion del tema Hummingbird, que reemplaza jQuery con un stack frontend mas moderno.
- Cambios en los hooks de pago — En la 1.7, el hook
paymentOptionsreemplazo los antiguos hooksdisplayPaymentydisplayPaymentEUde la 1.6. PrestaShop 8 y 9 imponen esto — los hooks de pago legacy ya no funcionan, por lo que cualquier modulo que aun usedisplayPaymentno aparecera en el checkout. - Migracion a Symfony — PrestaShop 8 movio mas componentes del back office a Symfony, y la version 9 continua esta migracion. El controlador front-office del checkout (
OrderController) aun funciona sobre el framework legacy, pero las paginas de gestion de pedidos en el back office ahora estan basadas en Symfony. - Cabeceras de seguridad — PrestaShop 8+ viene con cabeceras Content Security Policy predeterminadas mas estrictas, que pueden bloquear el JavaScript externo de los proveedores de pago. Esta es una causa comun de problemas de "formulario de pago en blanco" despues de actualizar.
- Requisitos de version PHP — PrestaShop 9 requiere PHP 8.1+, lo que significa que los modulos de pago que usan funcionalidades PHP obsoletas pueden dejar de funcionar durante la actualizacion.
El controlador del checkout: OrderController
Bajo el capo, el checkout esta gestionado por la clase OrderController (ubicada en controllers/front/OrderController.php). Este controlador orquesta todo el flujo — carga el carrito, valida cada paso, dispara hooks y renderiza la plantilla del checkout.
Metodos clave que debes conocer si estas depurando o desarrollando:
initContent()— configura el proceso de checkout, carga el resumen del carrito y determina que paso mostrarcheckoutProcess— un objetoCheckoutProcessque contiene la cadena de pasos del checkout (informacion personal, direccion, entrega, pago)getCheckoutSession()— devuelve los datos de sesion que rastrean que pasos se han completado
Cada paso esta implementado como una clase separada (por ejemplo, CheckoutAddressesStep, CheckoutDeliveryStep, CheckoutPaymentStep) que hereda de AbstractCheckoutStep. Esta arquitectura modular significa que los modulos pueden sobrescribir o extender pasos individuales sin reemplazar todo el flujo de checkout.
Que sucede en cada paso
Detras de cada paso, PrestaShop ejecuta logica de validacion y dispara hooks que los modulos pueden usar para extender el proceso:
- Validacion de direccion — PrestaShop verifica los campos obligatorios, valida la combinacion pais/region y verifica que la direccion cumpla con el formato configurado. Las reglas fiscales se recalculan segun el pais de entrega.
- Seleccion de transportista — los transportistas disponibles se filtran por la zona de la direccion de entrega, peso del carrito, dimensiones del producto y cualquier restriccion de transportista configurada. Los costes de envio se calculan en tiempo real. El hook
actionCarrierProcesspermite a los modulos intervenir aqui. - Renderizado del pago — cada modulo de pago activo se registra a traves del hook
paymentOptions. PrestaShop renderiza los metodos de pago disponibles en el orden configurado en el back office. - Validacion del pedido — cuando el cliente confirma, PrestaShop valida todo el pedido a traves de
actionValidateOrder, procesa el pago, decrementa el stock, envia correos de confirmacion y crea el registro del pedido.
Esta arquitectura basada en hooks es lo que hace al checkout tan extensible — pero tambien significa que modulos mal programados pueden interferir entre si, causando el tipo de errores que los comerciantes a menudo luchan por diagnosticar.
Rendimiento del PrestaShop Checkout: que lo hace lento
Un checkout lento impacta directamente en las conversiones. Cada segundo adicional de tiempo de carga aumenta la probabilidad de que un cliente abandone su carrito. Los cuellos de botella de rendimiento mas comunes incluyen:
- Demasiados modulos enganchados al checkout — cada modulo registrado en los hooks del checkout (displayPayment, displayBeforeCarrier, actionCarrierProcess, etc.) agrega tiempo de ejecucion. Hemos visto tiendas con mas de 15 modulos activandose durante el checkout, agregando 2-3 segundos de procesamiento.
- Llamadas API externas — calculos de tarifas de envio en tiempo real (APIs de UPS, FedEx, DHL), servicios de calculo de impuestos (TaxJar, Avalara) y APIs de verificacion de direcciones agregan latencia de red. Si cualquiera de estos servicios es lento o inaccesible, todo tu checkout se congela.
- Calculos de transportistas no optimizados — tiendas con decenas de transportistas y reglas complejas de zonas/pesos fuerzan a PrestaShop a ejecutar extensas consultas a la base de datos en el paso de entrega. Consolidar transportistas y simplificar las configuraciones de zonas puede reducir significativamente el tiempo de carga de este paso.
- Evaluacion de reglas del carrito — si tienes cientos de reglas del carrito activas, PrestaShop debe evaluar cada una contra el carrito actual en cada paso del checkout. Limpiar periodicamente las reglas del carrito expiradas o no utilizadas ayuda.
- Indices de base de datos faltantes — las tablas
ps_cart_rule,ps_cart_rule_combinationyps_specific_pricepueden crecer mucho en tiendas activas. Asegurar que existan indices apropiados en estas tablas previene consultas lentas durante el checkout. - Sin OPcache ni caching de objetos — PHP OPcache siempre debe estar habilitado en produccion. Redis o Memcached para caching de sesiones y objetos reduce aun mas los tiempos de respuesta del checkout.
Para diagnosticar problemas de velocidad del checkout, habilita el profiler de depuracion de PrestaShop (_PS_DEBUG_PROFILING_ en config/defines.inc.php) y mira que hooks y modulos consumen mas tiempo durante la carga de la pagina del checkout.
Errores comunes del PrestaShop Checkout y como solucionarlos
Estos son los errores del checkout PrestaShop que los comerciantes encuentran con mas frecuencia:
"No hay metodo de pago disponible" — Este es el error mas buscado en Google. Significa que ningun modulo de pago devolvio opciones a traves del hook paymentOptions. Causas comunes:
- El modulo de pago no esta configurado para la moneda o pais del cliente
- Las restricciones del modulo de pago en Pago > Preferencias excluyen el transportista, pais o grupo de clientes actual
- El modulo de pago tiene un error PHP y falla silenciosamente — revisa los logs de PrestaShop en
var/logs/ - En PrestaShop 8+, una cabecera Content Security Policy esta bloqueando el JavaScript del modulo, impidiendo su renderizado
"Se produjo un error al procesar tu pedido" — Este mensaje generico puede tener docenas de causas. Empieza verificando:
- Los logs de errores de PrestaShop y el log de errores PHP para la excepcion real
- Si la pasarela de pago devolvio un codigo de error especifico (revisa los logs de transacciones del modulo de pago)
- Disponibilidad de stock — si un producto se agoto entre el carrito y el pago, la creacion del pedido falla
- Conflictos en reglas del carrito — un codigo de descuento invalido o expirado en el carrito puede causar que la validacion falle en el paso final
Carrito vaciandose en el checkout — Los clientes reportan que su carrito se vacia cuando llegan a la pagina de checkout. Esto es casi siempre un problema de cookies o sesion:
- Configuracion SSL incorrecta — el carrito esta almacenado en una cookie de sesion que no se transfiere entre HTTP y HTTPS
- Desajuste de dominio — si la URL de tu tienda y el dominio SSL no coinciden exactamente, las cookies no se comparten
- Almacenamiento de sesiones lleno — si las sesiones se almacenan en disco y la particion esta llena, no se pueden crear nuevas sesiones
- Un modulo que llama a
Context::getContext()->cart = new Cart()durante un hook del checkout, reseteando accidentalmente el carrito
Errores de validacion de direccion — Los clientes no pueden avanzar mas alla del paso de direccion. Verifica:
- Campos de direccion obligatorios en Internacional > Ubicaciones > Paises — algunos paises requieren una region/provincia que el cliente no selecciono
- La cadena de formato de direccion para el pais de entrega — un formato malformado puede hacer que la validacion rechace direcciones validas
- Regex de validacion de codigo postal — PrestaShop valida los codigos postales contra patrones especificos de cada pais, y estos pueden ser incorrectos o demasiado estrictos para ciertas regiones
Problemas de redireccion 3DS — Despues de la autenticacion 3D Secure, el cliente no regresa a la tienda, o llega a una pagina de error. Esto sucede cuando:
- La URL de retorno configurada en el modulo de pago usa HTTP en lugar de HTTPS
- La sesion expiro durante la verificacion 3DS (el cliente tardo demasiado)
- La URL del webhook/callback del modulo de pago es inalcanzable desde los servidores del proveedor de pago (firewall, URL incorrecta)
- Configuraciones multi-dominio donde la URL de retorno 3DS apunta a un dominio diferente al que el cliente esta comprando
Las reglas del carrito y la capa de descuentos
Una de las partes mas complejas de cualquier checkout PrestaShop es como se aplican los descuentos. Las reglas del carrito (vales, codigos promocionales, descuentos automaticos) y los precios especificos a nivel de catalogo interactuan durante el checkout, y los resultados pueden ser confusos.
- Las reglas del carrito se evaluan en orden de prioridad. Algunas se aplican a todo el carrito, otras a productos o categorias especificos. Pueden ofrecer descuentos porcentuales, cantidades fijas o envio gratuito.
- Los precios especificos (establecidos por producto en el catalogo) se aplican antes de las reglas del carrito, lo que significa que un producto ya en oferta puede no calificar para ciertas promociones.
- Restricciones de combinacion — PrestaShop permite marcar reglas del carrito como no combinables, pero la logica de cual regla "gana" no siempre es intuitiva, especialmente en tiendas multi-moneda.
Reglas del carrito con envio gratuito e interaccion con transportistas
Las reglas del carrito con envio gratuito son una de las funciones del checkout mas malinterpretadas. Una regla del carrito con "envio gratuito" no significa que todos los transportistas se vuelvan gratuitos. Asi es como realmente funciona:
- Si la regla del carrito no esta restringida a transportistas especificos, el envio gratuito se aplica a cualquier transportista que el cliente seleccione
- Si la regla del carrito esta restringida a transportistas especificos, solo esos transportistas aparecen como gratuitos — los demas transportistas siguen mostrando su precio normal
- Las restricciones de pais y zona de la regla del carrito tambien se aplican — una regla de "envio gratuito en Alemania" no hara que el envio sea gratuito para una direccion de entrega en Francia
- Cuando multiples reglas del carrito ofrecen envio gratuito, se aplica la primera valida (por prioridad). Las demas se consideran "usadas" desde la perspectiva del cliente pero no acumulan beneficios adicionales.
El problema de prioridad y combinacion
La prioridad de las reglas del carrito determina el orden de evaluacion, y es mas importante de lo que la mayoria de los comerciantes se da cuenta. Consideremos este ejemplo:
- Regla A (prioridad 1): 20% de descuento en todo el carrito, no combinable
- Regla B (prioridad 2): Envio gratuito para pedidos superiores a 50 EUR
Dado que la Regla A es no combinable y tiene mayor prioridad, la Regla B no se aplicara — aunque el envio gratuito parezca un beneficio separado. El cliente obtiene el 20% de descuento pero paga el envio. Para solucionar esto, necesitarias hacer la Regla A combinable o incorporar el envio gratuito en la propia Regla A.
Otro escenario comun: un cliente introduce un vale de 10 EUR, pero el carrito tambien tiene un descuento automatico del 15%. Si el descuento automatico es no combinable y tiene mayor prioridad, el vale se rechaza — y el cliente ve un mensaje confuso "este vale no es valido" sin explicacion de por que.
Por que las reglas del carrito con "importe minimo" confunden a los comerciantes
El campo "importe minimo" en las reglas del carrito comprueba el total del carrito antes o despues de otros descuentos dependiendo de la configuracion — y aqui es donde surge la confusion. Si estableces un minimo de 100 EUR y el cliente tiene un carrito de 110 EUR pero una regla del carrito anterior ya lo ha descontado a 95 EUR, la comprobacion del minimo puede fallar. Ademas, el "importe minimo" puede configurarse para incluir o excluir impuestos y envio, lo que lleva a umbrales diferentes segun la ubicacion del cliente y el transportista elegido. Siempre prueba tus reglas de importe minimo con escenarios de carrito reales en diferentes paises antes de implementarlas.
Checkout como invitado vs. creacion de cuenta
PrestaShop soporta el checkout como invitado de forma nativa, permitiendo a los clientes realizar pedidos sin crear una cuenta completa. Esto reduce significativamente la friccion — los estudios muestran consistentemente que la creacion forzada de cuenta es una de las principales razones de abandono del carrito. Puedes habilitar o deshabilitar el checkout como invitado en Parametros de la tienda > Configuracion de clientes. Cubrimos este tema en profundidad en nuestra guia de checkout como invitado, incluyendo los compromisos entre tasa de conversion y recopilacion de datos de clientes.
El modulo PrestaShop Checkout (ps_checkout)
Que es ps_checkout?
El modulo PrestaShop Checkout — tecnicamente llamado ps_checkout — es un modulo de pago gratuito desarrollado conjuntamente por PrestaShop SA y PayPal. Viene pre-instalado en las nuevas instalaciones de PrestaShop a partir de la version 1.7.5.
Aqui esta la distincion clave que confunde a muchos comerciantes: ps_checkout es un modulo de pago, no el flujo de checkout en si. No cambia los pasos del checkout, el diseno de la pagina ni el orden en que se recopila la informacion. Solo maneja el paso del pago — dando a tus clientes mas formas de pagar. El proceso de checkout subyacente descrito anteriormente sigue siendo exactamente el mismo.
Que ofrece
Sobre el papel, ps_checkout proporciona un solido conjunto de funciones de pago:
- Pagos con tarjeta — Visa, Mastercard y American Express a traves de campos de pago hosted de PayPal integrados en tu checkout
- Monedero PayPal — los clientes pagan con su saldo PayPal o cuenta bancaria vinculada
- Apple Pay y Google Pay — soporte de monederos moviles (donde este disponible)
- Metodos de pago locales — iDEAL, Bancontact, BLIK y otros dependiendo del mercado
- Paga despues / Paga en 3-4 cuotas — opciones de compra ahora, paga despues impulsadas por PayPal
- 3D Secure 2 — autenticacion reforzada del cliente obligatoria para transacciones en la UE
- 20+ monedas — soporte multi-moneda a traves de la red PayPal
Para un modulo gratuito, es una lista de funciones generosa. Puedes revisar la documentacion completa en el repositorio GitHub de ps_checkout.
Desglose de comisiones por transaccion
Aunque ps_checkout en si es gratuito, pagas las comisiones estandar de PayPal en cada transaccion. A fecha de 2026, esto es lo que puedes esperar:
| Metodo de pago | Comision (UE domestica) | Comision (transfronteriza) |
|---|---|---|
| Pagos con tarjeta (Visa, Mastercard) | 1,2% + 0,35 EUR | 1,29% + 0,35 EUR + comision transfronteriza |
| Monedero PayPal | 2,49% + 0,35 EUR | 2,99% + 0,35 EUR |
| Paga despues / Paga en 3-4 cuotas | 2,49% + 0,35 EUR | N/D (solo domestico) |
| Metodos locales (iDEAL, Bancontact) | Varia segun metodo (0,29-1,49%) | N/D |
| Apple Pay / Google Pay | 1,2% + 0,35 EUR | Igual que pagos con tarjeta |
Ten en cuenta que estas tarifas pueden variar segun el nivel de tu cuenta PayPal y el volumen mensual. Los comerciantes de alto volumen pueden ser elegibles para tarifas con descuento a traves del programa de tarifas para comerciantes de PayPal.
ps_checkout vs. Stripe vs. Mollie: comparacion de PrestaShop Checkout
Para ayudarte a evaluar tus opciones, aqui tienes una comparacion lado a lado de las tres soluciones de pago mas populares:
| Funcionalidad | ps_checkout | Stripe | Mollie |
|---|---|---|---|
| Coste del modulo | Gratuito | Gratuito o de pago (varia) | Gratuito (oficial) |
| Comision tarjeta UE | 1,2% + 0,35 EUR | 1,5% + 0,25 EUR | 1,8% + 0,25 EUR |
| Relacion de pago | Intermediario (PrestaShop SA) | Directo | Directo |
| Metodos de pago | 20+ | 40+ | 25+ |
| Apple Pay / Google Pay | Si | Si | Si |
| Compra ahora, paga despues | PayPal BNPL | Klarna, Afterpay | Klarna, in3 |
| Versiones PS soportadas | 1.7.5+, 8.x, 9.x | 1.7+, 8.x, 9.x | 1.7+, 8.x, 9.x |
| Ideal para | Tiendas nuevas/pequenas | Internacionales, tech-savvy | Enfocados en la UE (NL, BE, DE) |
Como instalar y configurar ps_checkout
Configuracion de ps_checkout: instala el modulo (pre-instalado en tiendas nuevas, de lo contrario descargalo de Addons), vincula tu cuenta de PrestaShop Addons, conecta tu cuenta PayPal Business a traves del asistente de configuracion (las cuentas personales no estan soportadas), configura que metodos de pago ofrecer, asegurate de que las configuraciones de redondeo/moneda coincidan con las expectativas de PayPal, y prueba en modo sandbox antes de ir a produccion.
Como desinstalar ps_checkout
Para eliminar ps_checkout: ve a Modulos > Gestor de modulos, busca "ps_checkout" y selecciona Deshabilitar primero (seguro — lo detiene de aparecer sin eliminar datos). Para eliminarlo completamente, selecciona Desinstalar, y luego opcionalmente elimina modules/ps_checkout/. Importante: asegurate de que otro modulo de pago este configurado primero, de lo contrario el checkout mostrara "No hay metodo de pago disponible."
La arquitectura intermediaria de PayPal
Aqui es donde las cosas se vuelven mas matizadas. A diferencia de una integracion directa con Stripe o Adyen donde los pagos fluyen directamente a tu cuenta de comerciante, ps_checkout enruta las transacciones a traves de la cuenta comercial intermediaria de PayPal de la plataforma PrestaShop SA. PrestaShop SA actua como facilitador.
Lo que esto significa en la practica:
- Necesitas vincular tu cuenta PayPal business a traves del flujo de incorporacion de PrestaShop — no directamente con PayPal
- Los plazos de liquidacion y la disponibilidad de fondos dependen tanto de las politicas de PayPal como de la configuracion de la plataforma PrestaShop SA
- La gestion de chargebacks pasa por una capa adicional, haciendo las disputas mas lentas de resolver
- Tienes menos visibilidad sobre los datos brutos de las transacciones en comparacion con una integracion directa con la pasarela
Esta arquitectura no es inherentemente mala — asi es como funcionan muchos modelos de facilitadores de pago (Shopify Payments opera de manera similar). Pero vale la pena entenderla antes de comprometerse, especialmente si tu tienda procesa grandes volumenes u opera en industrias reguladas.
Limitaciones conocidas
Basandonos en el feedback de la comunidad, las issues de GitHub y nuestras propias pruebas, estos son los problemas mas comunmente reportados con ps_checkout:
- Compatibilidad con temas — el modulo funciona mejor con el tema Classic. Los temas no estandar, especialmente los fuertemente personalizados, experimentan frecuentemente problemas de renderizado con los campos de pago hosted.
- Spinner infinito — un problema bien conocido donde el formulario de pago nunca termina de cargar, tipicamente causado por conflictos de JavaScript con otros modulos o cabeceras Content Security Policy que bloquean los scripts de PayPal.
- Mensajes de error 3DS genericos — cuando la autenticacion 3D Secure falla, el mensaje de error mostrado a los clientes a menudo no es util, llevando a compras abandonadas que podrian haberse recuperado con mensajes mas claros.
- Sin soporte dedicado — el soporte se maneja a traves de foros de la comunidad e issues de GitHub en lugar de un canal de soporte directo, lo que puede ser frustrante para comerciantes que experimentan fallos de pago.
- Riesgos de actualizacion — las actualizaciones de versiones mayores han introducido historicamente cambios disruptivos. El modulo evoluciona rapido, lo cual es positivo para funcionalidades pero arriesgado para la estabilidad.
Ninguna de estas es un factor decisivo por si sola, pero juntas significan que debes probar exhaustivamente antes de ir a produccion — y siempre prueba las actualizaciones del modulo primero en un entorno de staging.
Cuando ps_checkout tiene sentido
A pesar de las limitaciones, ps_checkout es una opcion solida para ciertos escenarios:
- Tiendas nuevas — estas empezando y necesitas aceptar pagos rapidamente sin costes iniciales
- Tiendas de un solo mercado — vendes principalmente en un pais y no necesitas liquidaciones multi-moneda complejas
- Comerciantes con presupuesto limitado — coste del modulo cero, sin cuotas mensuales y precio por transaccion a traves de PayPal
- Catalogos simples — productos estandar sin suscripciones, preventas o flujos de pago complejos
Personalizar el PrestaShop Checkout
Que puedes cambiar sin modulos?
Antes de instalar modulos de terceros, hay varias formas de personalizar el checkout utilizando herramientas integradas:
- Plantillas del tema — edita las plantillas Smarty del checkout en tu tema para cambiar el diseno, el orden de los campos o agregar contenido personalizado entre pasos
- Estilos CSS — ajusta colores, espaciado, tamanos de botones y tipografia para que coincidan con tu marca sin tocar la funcionalidad
- Configuracion de transportistas — reestructura como se presentan las opciones de envio ajustando nombres de transportistas, descripciones, tiempos estimados de entrega y orden de visualizacion
- Orden de modulos de pago — reorganiza que metodo de pago aparece primero en el back office en Pago > Preferencias
- Campos obligatorios — ajusta que campos del cliente y de la direccion son obligatorios en la configuracion de Clientes > Direcciones
Estos cambios son personalizaciones seguras a nivel de tema que sobreviven a las actualizaciones de PrestaShop siempre que uses un child theme. Para profundizar en la optimizacion del checkout sin agregar complejidad, consulta nuestra guia de optimizacion del checkout.
Campos personalizados en el checkout
Muchos comerciantes necesitan informacion adicional durante el checkout PrestaShop que la instalacion predeterminada no recopila. Ejemplos comunes incluyen: numero de telefono movil para notificaciones SMS de entrega, nombre de empresa y numero de IVA para flujos B2B, instrucciones de entrega (codigos de puerta, "dejar con el vecino") y referencias de pedido personalizadas (numeros de orden de compra).
PrestaShop soporta agregar campos personalizados al formulario de direccion a traves del back office (Clientes > Direcciones), pero las opciones son limitadas. Para requisitos mas complejos, puedes modificar directamente las plantillas del checkout y procesar los datos a traves de un modulo personalizado enganchado a actionValidateOrder, o usar un modulo de campos de checkout de terceros del marketplace Addons.
Traduccion y localizacion del checkout
Si vendes internacionalmente, traducir el checkout PrestaShop es esencial. Las etiquetas y mensajes de error sin traducir causan directamente abandonos — un cliente que no puede entender el paso de pago no completara el pedido.
Tareas clave de localizacion:
- Etiquetas de los pasos del checkout — traducidas a traves de Internacional > Traducciones. Selecciona "Traducciones del front office" y tu tema para encontrar las cadenas relacionadas con el checkout.
- Texto del modulo de pago — cada modulo de pago tiene sus propios archivos de traduccion, separados de las traducciones del core.
- Mensajes de error — los errores de validacion como "Por favor introduce una direccion valida" a menudo se pasan por alto durante la traduccion.
- Terminos y condiciones — la casilla "Acepto los terminos y condiciones" enlaza a una pagina CMS que debe ser traducida por idioma.
- Etiquetas del formulario de direccion — PrestaShop usa formatos de direccion especificos por pais. Asegurate de que las etiquetas coincidan con la localizacion del cliente.
Error comun: instalar un paquete de idioma no traduce las cadenas especificas de los modulos. Si el checkout muestra nombres de metodos de pago en ingles en una tienda en espanol, traduce el modulo de pago por separado.
One Page Checkout
La personalizacion de checkout mas popular es consolidar todos los pasos en una sola pagina. En lugar de navegar por cinco pantallas separadas, el cliente ve los campos de direccion, envio y pago todos a la vez — rellenandolos y completando la compra sin recargas de pagina.
Los datos son claros: el one page checkout reduce las tasas de abandono al eliminar la friccion de multiples pasos. Menos clics, menos oportunidades para que el cliente se vaya. Los benchmarks de la industria muestran que las implementaciones de one page checkout tipicamente mejoran las tasas de conversion entre un 10-20% en comparacion con los flujos multi-paso. Las mayores ganancias provienen de los usuarios moviles, donde cada carga de pagina en una conexion lenta arriesga perder al cliente. Desglosamos los numeros y el enfoque en nuestro articulo sobre one page checkout.
Desde una perspectiva UX, el one page checkout significa: todos los campos del formulario visibles inmediatamente, actualizaciones instantaneas de costes de envio via AJAX, validacion inline (los errores aparecen mientras el cliente escribe), sin necesidad de indicador de progreso y el resumen del pedido permanece visible en todo momento. Estos cambios colectivamente reducen la carga cognitiva y mantienen a los clientes enfocados en completar la compra.
Actualmente, PrestaShop no incluye un one page checkout nativo — el flujo multi-paso es todo lo que obtienes de serie. Eso cambia con PrestaShop 9.2, que introducira un OPC nativo opcional para tiendas que ejecuten el tema Hummingbird v2. Hasta entonces, los modulos de terceros son la unica forma de obtener esta funcionalidad.
Express Checkout
El express checkout lleva el concepto mas alla: en lugar de optimizar la pagina de checkout, permite a los clientes saltarsela por completo. Botones de compra impulsados por Apple Pay, Google Pay o PayPal aparecen directamente en las paginas de producto y en el carrito. El cliente se autentica con su monedero, que proporciona la direccion de envio y los detalles de pago en un toque — sin formularios, sin pasos.
Esto es particularmente efectivo en movil, donde escribir direcciones en pantallas pequenas es un serio asesino de conversiones. Exploramos los patrones de express checkout y la implementacion en nuestro articulo en profundidad sobre express checkout.
Checkout embedded y modal
Un patron menos comun pero en crecimiento es el checkout embedded — donde el formulario de pago aparece en una superposicion modal o inline en la pagina actual sin navegar a una URL de checkout separada. Esto mantiene al cliente en el contexto de compra mientras se recopilan los detalles de pago, reduciendo la distancia psicologica entre "quiero esto" y "lo compre". Stripe Payment Element y la experiencia in-context de PayPal soportan este enfoque.
Alternativas al PrestaShop Checkout
Si ps_checkout no satisface tus necesidades, existen varias alternativas maduras para manejar pagos en tu flujo de checkout PrestaShop.
Stripe
Stripe Payment Element es una de las integraciones de pago mas amigables para desarrolladores disponibles. Puntos fuertes clave:
- Cuenta de comerciante directa — los pagos se liquidan en tu cuenta Stripe sin intermediarios
- 135+ monedas con conversion automatica
- Apple Pay, Google Pay, Link (el monedero de tarjeta guardada de Stripe) y 40+ metodos de pago locales
- API completa con documentacion excelente
- Proteccion contra fraude integrada a traves de Stripe Radar
Ideal para: tiendas internacionales, comerciantes tecnicamente capaces, tiendas que quieren control total sobre los datos de pago y la experiencia del cliente.
Mollie
Mollie es el proveedor de pagos dominante para el e-commerce europeo, con una adopcion particularmente fuerte en Paises Bajos, Belgica, Alemania y Francia. Puntos destacados:
- Precios transparentes por transaccion sin cuotas mensuales
- Soporte nativo para iDEAL, Bancontact, SOFORT, EPS, Giropay y KBC/CBC
- Modulo PrestaShop solido mantenido directamente por Mollie
- Incorporacion facil con aprobacion rapida de cuenta
Ideal para: tiendas enfocadas en la UE, particularmente las que venden en regiones Benelux o DACH donde los metodos de pago locales dominan.
Adyen
Adyen es la opcion de nivel enterprise para tiendas de alto volumen. Utilizado por empresas como Booking.com y eBay, ofrece 250+ metodos de pago con enrutamiento inteligente, deteccion de fraude avanzada (RevenueProtect) y acquiring directo — Adyen es tanto procesador como acquirer, reduciendo intermediarios.
La contrapartida es la complejidad y el coste. Adyen requiere una integracion personalizada, tiene volumenes minimos de procesamiento y cobra cuotas mensuales de plataforma. No es practico para tiendas pequenas, pero para comerciantes que procesan mas de 50.000 EUR al mes, las tasas de autorizacion mejoradas a menudo justifican la inversion.
Amazon Pay
Amazon Pay permite a los clientes completar el checkout usando su cuenta Amazon existente — direccion, metodo de pago y todo lo demas. Checkout con un clic usando los datos guardados de Amazon, fuerte confianza en la marca y proteccion al comprador A-to-Z Guarantee lo convierten en una opcion de pago secundaria efectiva junto a tarjetas y PayPal. Un modulo PrestaShop esta disponible en el marketplace Addons.
Modulo PayPal independiente
Si quieres pagos con PayPal sin la capa intermediaria de PrestaShop SA, puedes usar un modulo PayPal independiente que se conecta directamente a tu cuenta PayPal business. Esto te da:
- Control directo sobre tu cuenta PayPal, liquidaciones y gestion de disputas
- La misma experiencia de monedero PayPal que los clientes esperan
- Opciones de Paga despues configuradas a traves de tu propio panel PayPal
Ideal para: comerciantes que quieren PayPal como opcion de pago pero prefieren una relacion directa con PayPal sobre el modelo facilitado de ps_checkout.
Checkout Revolution (de mypresta.rocks)
Total transparencia: es nuestro modulo. Checkout Revolution combina one page checkout y express checkout en una unica solucion basada en Stripe. Coloca botones de compra en las paginas de producto, el carrito y el checkout — soportando Apple Pay, Google Pay, PayPal, Link, tarjetas y 30+ metodos de pago adicionales a traves de Stripe Payment Element. Los pagos van directamente a tu cuenta Stripe sin intermediarios.
Lo construimos porque veiamos comerciantes instalando tres o cuatro modulos separados para obtener funcionalidades que deberian funcionar juntas sin problemas. No es la solucion ideal para cada tienda, pero si quieres express checkout y un stack de pagos moderno en un solo paquete, merece la pena echarle un vistazo.
Alternativas al PrestaShop Checkout: comparacion rapida
| Proveedor | Precios | Directo/Intermediario | Metodos | Version PS |
|---|---|---|---|---|
| ps_checkout | Gratuito + comisiones PayPal | Intermediario | 20+ | 1.7.5+, 8, 9 |
| Stripe | Gratuito/de pago + comisiones Stripe | Directo | 40+ | 1.7+, 8, 9 |
| Mollie | Gratuito + comisiones Mollie | Directo | 25+ | 1.7+, 8, 9 |
| Adyen | Cuota plataforma + por transaccion | Directo | 250+ | 1.7+, 8 |
| Amazon Pay | Gratuito + comisiones Amazon | Directo | Monedero Amazon | 1.7+, 8 |
| PayPal independiente | Gratuito/de pago + comisiones PayPal | Directo | PayPal | 1.6+, 1.7+, 8 |
| Checkout Revolution | De pago + comisiones Stripe | Directo | 30+ | 1.7+, 8, 9 |
Seguridad del checkout y cumplimiento PCI
La seguridad no es opcional para ningun checkout online — es un requisito legal y comercial. Los clientes confian en tu tienda sus datos de pago, y cualquier brecha puede resultar en penalizaciones financieras, acciones legales y dano irreparable a la marca.
Que significa PCI DSS para los comerciantes PrestaShop
PCI DSS (Payment Card Industry Data Security Standard) es un conjunto de estandares de seguridad que se aplican a cualquier negocio que acepte, procese, almacene o transmita informacion de tarjetas de credito. Como propietario de una tienda PrestaShop, tu nivel de cumplimiento PCI depende de como tu checkout maneja los datos de tarjeta:
- SAQ A (carga minima) — si usas campos de pago hosted o redirecciones donde los datos de tarjeta nunca tocan tu servidor, calificas para el cuestionario de autoevaluacion mas simple. Este es el caso con ps_checkout, Stripe Payment Element y el checkout hosted de Mollie.
- SAQ A-EP — si tu pagina de checkout carga JavaScript del proveedor de pago que captura datos de tarjeta en tu pagina (aunque se envian directamente al proveedor), caes bajo esta categoria ligeramente mas exigente.
- SAQ D (carga maxima) — si los datos de tarjeta pasan por tu servidor en algun momento (por ejemplo, un formulario de pago personalizado mal construido que hace POST de numeros de tarjeta a tu servidor antes de reenviarlos), enfrentas la evaluacion PCI DSS completa. Esto es extremadamente costoso y complejo — evitalo.
La conclusion practica: siempre usa modulos de pago que ofrezcan campos de pago hosted o paginas de checkout hosted. Esto asegura que los datos de tarjeta nunca toquen tu servidor y te mantiene en la categoria SAQ A.
Por que los campos de pago hosted importan
Los campos de pago hosted son iframes servidos por el proveedor de pago integrados en tu pagina de checkout. Los campos de numero de tarjeta, fecha de expiracion y CVV parecen parte de tu formulario pero se ejecutan en el dominio del proveedor — los datos de tarjeta nunca tocan tu servidor. Todos los principales proveedores (ps_checkout, Stripe, Mollie, Adyen) soportan este enfoque. Si un modulo de pago te pide crear inputs HTML crudos para tarjetas, evitalo — es una senal de alerta de cumplimiento PCI.
SCA, 3DS2 y requisitos SSL
La regulacion Strong Customer Authentication (SCA) de la UE requiere 3D Secure 2 (3DS2) para la mayoria de los pagos con tarjeta online. Tu modulo de pago debe soportar 3DS2 — los modulos antiguos que solo soportan 3DS1 veran un numero creciente de fallos. El 3DS2 anade un paso de autenticacion bancaria al checkout PrestaShop, lo que puede aumentar el abandono, asi que elige un proveedor con altas tasas de exito en 3DS2. Un 3DS fallido no siempre significa fraude — muestra un mensaje claro de "intenta de nuevo" en lugar de un error generico.
Cada pagina de checkout debe funcionar sobre HTTPS. Sin un certificado SSL valido, los navegadores muestran advertencias "No seguro", los proveedores de pago se niegan a cargar los campos hosted y Google penaliza tu posicionamiento. Los certificados gratuitos de Let's Encrypt son suficientes. Despues de instalar SSL, verifica que todo el trafico HTTP se redirija a HTTPS — el contenido mixto hara que los modulos de pago funcionen mal.
Medir el rendimiento del PrestaShop Checkout
No puedes mejorar lo que no mides. Comprender el rendimiento de tu checkout requiere hacer seguimiento de las metricas correctas y saber como es "bueno".
Metricas clave
- Tasa de completacion del checkout — (pedidos completados / sesiones de checkout) x 100. Tu metrica mas importante del checkout PrestaShop.
- Tasa de abandono del checkout — el porcentaje de clientes que inician el checkout pero no lo completan. Esto aisla los problemas del checkout de los visitantes que solo navegan.
- Tasa de abandono por paso — que paso pierde mas clientes? Si el 40% abandona en el envio, las opciones de transportistas podrian ser el problema.
- Tiempo de completacion — tiempos mas largos correlacionan directamente con mayor abandono.
- Tasa de fallos de pago — tasas altas indican problemas de configuracion 3DS o reglas antifraude demasiado agresivas.
Seguimiento con Google Analytics 4
El seguimiento de e-commerce mejorado de GA4 es la forma estandar de medir el embudo del checkout PrestaShop. Instala un modulo GA4 que dispare eventos para begin_checkout, add_shipping_info, add_payment_info y purchase. Luego configura un informe de embudo en GA4 > Explorar > Exploracion de embudo con pasos que coincidan con las etapas de tu checkout para visualizar donde abandonan los clientes.
Considera el seguimiento del lado del servidor para datos mas precisos — el seguimiento JavaScript del lado del cliente es bloqueado por los bloqueadores de anuncios para el 25-40% de los visitantes. Una implementacion del GA4 Measurement Protocol del lado del servidor (activada por hooks de PrestaShop en la creacion del pedido) captura cada pedido independientemente de los bloqueos del lado del cliente.
Como se ve una "buena" tasa de completacion
Benchmarks de la industria: promedio es 45-55%, bueno es 55-65%, y excelente es 65%+ (tipicamente alcanzado con one page checkout y opciones de express payment). Si tu tasa esta por debajo del 40%, verifica la creacion forzada de cuenta, costes de envio inesperados, opciones de pago limitadas o errores tecnicos. Estos benchmarks varian por industria — las compras de alto valor naturalmente tienen tasas mas bajas que la moda o los bienes de consumo.
Lo que viene: PrestaShop 9.2 y One Page Checkout nativo
PrestaShop ha anunciado que la version 9.2 incluira una opcion de one page checkout nativo. Este es un cambio significativo — por primera vez, los comerciantes podran ofrecer un flujo de checkout en una sola pagina sin modulos de terceros.
Advertencias importantes:
- Solo funcionara con el tema Hummingbird v2 — las tiendas en Classic u otros temas no tendran acceso
- Sera opcional, no predeterminado — el flujo multi-paso seguira disponible
- Los autores de modulos necesitaran adaptar sus modulos de pago y envio para funcionar dentro del nuevo flujo
- No hay fecha de lanzamiento confirmada aun, y las versiones de PrestaShop historicamente se han retrasado respecto a las lineas de tiempo iniciales
Deberias esperar? Depende de tu calendario. Si estas lanzando una nueva tienda hoy, esperar meses (o mas) por una funcionalidad que puede requerir una migracion completa de tema es impractico. Si ya estas en Hummingbird y planeas una futura actualizacion, vale la pena hacer seguimiento. Cubrimos esta decision en detalle en nuestro articulo sobre los planes de OPC nativo de PrestaShop.
Elegir el checkout adecuado para tu tienda
No existe una unica "mejor" configuracion de PrestaShop checkout — depende de tu mercado, presupuesto, comodidad tecnica y planes de crecimiento. Aqui tienes un marco practico:
- Estas empezando, bajo presupuesto — usa el checkout multi-paso predeterminado con ps_checkout. Es gratuito, funciona, y puedes actualizarlo mas tarde.
- Tienda consolidada, alta tasa de abandono — invierte en un modulo one page checkout. El incremento en conversiones tipicamente se paga solo en semanas.
- Trafico predominantemente movil — prioriza el express checkout con pagos de monedero (Apple Pay, Google Pay). Los clientes moviles abandonan formularios a tasas mucho mas altas que los de escritorio.
- Vendiendo en toda Europa — considera Mollie para metodos de pago locales, o Stripe para una cobertura internacional mas amplia.
- Tienda de alto volumen — migra a una integracion de pago directa (Stripe, Adyen) donde tengas control total sobre liquidaciones, reportes y gestion de disputas. El modelo intermediario de ps_checkout agrega complejidad a escala.
- Enterprise con necesidades omnichannel — evalua Adyen para pagos online y en tienda unificados a traves de una sola plataforma.
- Quieres todo en un solo modulo — busca soluciones que combinen la optimizacion del flujo de checkout con el procesamiento de pagos, en lugar de superponer multiples modulos que pueden entrar en conflicto.
Elijas lo que elijas, prueba tu checkout PrestaShop regularmente. Realiza pedidos de prueba en diferentes dispositivos, prueba diferentes metodos de pago, aplica codigos de descuento y verifica como el flujo maneja los errores. Tu checkout es donde se genera el ingreso — merece mas atencion de la que la mayoria de los comerciantes le dedican.
Comentarios
Aún no hay comentarios. ¡Sea el primero!
Dejar un comentario