¿Qué hacer si no se ven los botones de pago rápido de Stripe?

  • Autor Autor adruiz
  • Fecha de inicio Fecha de inicio
adruiz

adruiz

VIP
Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Comento algo que me trae de cabeza y no veo cómo solucionar.

Tengo una web con Woocommerce y el plugin oficial de Stripe, con los métodos de pago rápido activados. Pero mi checkout no es el por defecto de Woocommerce, ni de Storefront, sino uno personalizado que básicamente vendría a usar todo esto:
Insertar CODE, HTML o PHP:
get_header();
$checkout = WC()->checkout();
do_action('woocommerce_before_checkout_form', $checkout);
woocommerce_order_review();
do_action('woocommerce_checkout_before_customer_details');
do_action('woocommerce_checkout_shipping');
do_action('woocommerce_checkout_billing');
do_action('woocommerce_checkout_order_review');
do_action('woocommerce_after_checkout_form', $checkout);
get_footer();

Para entenderlo rápidamente:
  • Tengo un archivo llamado page-checkout.php con el código de arriba.
  • En WordPress creo una página y le asigno ese archivo como plantilla.

Pues bien, no se visualizan los botones de Apple Pay, Link y Google Pay (todo el componente de Express Checkout) por ningún lado. Si en cambio en el contenido de la página pongo el shortcode [woocommerce_checkout] y en page-checkout.php en lugar de poner los hooks pongo the_content(), tampoco me muestra dichos botones. La única forma que encuentro de que Stripe me ponga el Express Checkout es usando el bloque oficial con Gutenberg para el checkout:


Pero obviamente, esta solución no me vale porque es incompatible con mi carrito personalizado.

Le pregunto a ChatGPT y me da soluciones que no funcionan (incluso se inventa hooks que no existen). Googleo y no encuentro nada, mirando alternativas de plugins todas requieren reemplazar el plugin oficial de Stripe, no veo ninguno que me permita simplemente poner el Express Checkout donde y como quiera.

¿Alguien tiene alguna idea de cómo solucionar esto?
 
Comento algo que me trae de cabeza y no veo cómo solucionar.

Tengo una web con Woocommerce y el plugin oficial de Stripe, con los métodos de pago rápido activados. Pero mi checkout no es el por defecto de Woocommerce, ni de Storefront, sino uno personalizado que básicamente vendría a usar todo esto:
Insertar CODE, HTML o PHP:
get_header();
$checkout = WC()->checkout();
do_action('woocommerce_before_checkout_form', $checkout);
woocommerce_order_review();
do_action('woocommerce_checkout_before_customer_details');
do_action('woocommerce_checkout_shipping');
do_action('woocommerce_checkout_billing');
do_action('woocommerce_checkout_order_review');
do_action('woocommerce_after_checkout_form', $checkout);
get_footer();

Para entenderlo rápidamente:
  • Tengo un archivo llamado page-checkout.php con el código de arriba.
  • En WordPress creo una página y le asigno ese archivo como plantilla.

Pues bien, no se visualizan los botones de Apple Pay, Link y Google Pay (todo el componente de Express Checkout) por ningún lado. Si en cambio en el contenido de la página pongo el shortcode [woocommerce_checkout] y en page-checkout.php en lugar de poner los hooks pongo the_content(), tampoco me muestra dichos botones. La única forma que encuentro de que Stripe me ponga el Express Checkout es usando el bloque oficial con Gutenberg para el checkout:


Pero obviamente, esta solución no me vale porque es incompatible con mi carrito personalizado.

Le pregunto a ChatGPT y me da soluciones que no funcionan (incluso se inventa hooks que no existen). Googleo y no encuentro nada, mirando alternativas de plugins todas requieren reemplazar el plugin oficial de Stripe, no veo ninguno que me permita simplemente poner el Express Checkout donde y como quiera.

¿Alguien tiene alguna idea de cómo solucionar esto?

Es comprensible que estés experimentando esta dificultad, especialmente cuando estás trabajando con un sistema personalizado de checkout en WooCommerce junto con el plugin oficial de Stripe. El problema que describes suele ocurrir cuando el componente del Express Checkout de Stripe no se activa correctamente debido a la forma en que se están manejando las plantillas y los hooks en WordPress y WooCommerce. Vamos a intentar unas posibles soluciones:

### 1. Asegurarte de que los scripts necesarios están siendo cargados
El plugin de Stripe necesita ciertos scripts para poder mostrar y funcionar los métodos rápidos de pago. Asegúrate de que tu plantilla personalizada no está omitiendo accidentalmente los scripts necesarios. Puedes verificar y asegurarte de que los scripts de Stripe se carguen adecuadamente añadiendo explícitamente:

PHP:
wp_enqueue_script('stripe');

### 2. Utilizar hooks específicos para Stripe
Aunque mencionas que no encuentras los hooks necesarios, a veces puede ser útil revisar la documentación del plugin de Stripe o incluso el código fuente para encontrar cualquier acción o filtro específico que could integrar los botones de pago rápido. Típicamente, estos métodos de pago se inyectan en ciertas partes del flujo de checkout y puede que necesites insertar un hook específico en tu archivo de plantilla.

### 3. Revisar los ajustes de Stripe
Revisa los ajustes del plugin de Stripe en WooCommerce para asegurarte de que los métodos rápidos de pago están habilitados. Además, verifica cualquier configuración relacionada con la compatibilidad entre Stripe y tu tema o personalizaciones de checkout.

### 4. Modificaciones condicionales con shortcodes
Ya que el shortcode [woocommerce_checkout] funciona para visualizar el checkout pero no los botones de pago, podrías intentar implementar condiciones dentro de tu plantilla para cargar diferentes configuraciones basadas en ciertos criterios. Por ejemplo:

PHP:
if (condición para usar checkout personalizado) {
    // Tu estructura personalizada
} else {
    echo do_shortcode('[woocommerce_checkout]');
}

### 5. Contactar al soporte de Stripe o buscar en foros específicos
Puedes considerar consultar con el soporte técnico de Stripe o buscar en foros especializados como Stack Overflow o los foros oficiales de WooCommerce y WordPress. A veces, otros desarrolladores podrían haber encontrado soluciones específicas para casos como el tuyo.

### 6. Consultar a un desarrollador especializado
Si ninguna de estas soluciones resulta efectiva, podría valer la pena consultar con un desarrollador que tenga experiencia específica en WooCommerce y Stripe. A menudo, estos problemas personalizados requieren una revisión a fondo del código y del entorno de trabajo.

Espero que estas sugerencias te ayuden a avanzar con tu implementación de los métodos de pago rápido en tu checkout personalizado. ¡Suerte!
 
Atrás
Arriba