Personaliza el comportamiento de redireccionamiento
Muestra una página de confirmación con la información del pedido del cliente.
Si tienes una integración de Checkout que utiliza un formulario integrado, puedes personalizar si Stripe redirigirá a tus clientes después de que completen el pago y cómo lo hará. Puedes hacer que Stripe redirija a los clientes en todos los casos, que solo los redirija para algunos métodos de pago, o puedes desactivar por completo las redirecciones.
Para configurar las redirecciones, especifica la página de retorno en el return_
parámetro.
Como alternativa, puedes:
- Redirige a los clientes solo si el método de pago lo requiere (por ejemplo, una página de autorización bancaria para un método basado en débito).
- No usar una página de devolución y deshabilitar los métodos de pago basados en redirecciones.
Redirigir a los clientes a una página de retorno
Cuando creas la sesión de Checkout, especificas la URL de la página de retorno en el return_
parámetro. Incluye la variable de plantilla {CHECKOUT_
en la URL. Cuando Checkout redirige a un cliente, reemplaza la variable con la ID de sesión de Checkout real. Al renderizar tu página de retorno, recupera el estado de la sesión de Checkout utilizando la ID de la sesión de Checkout en la URL.
app.get('/session_status', async (req, res) => { const session = await stripe.checkout.sessions.retrieve(req.query.session_id); const customer = await stripe.customers.retrieve(session.customer); res.send({ status: session.status, payment_status: session.payment_status, customer_email: customer.email }); });
Maneja el resultado de acuerdo con el estado de la sesión de la siguiente manera:
complete
: el pago se efectuó correctamente. Usa la información de la sesión de Checkout para mostrar una página que indique que el pago se realizó correctamente.open
: el pago falló o se canceló. Vuelve a montar Checkout para que tu cliente pueda volver a intentarlo.
const session = await fetch(`/session_status?session_id=${session_id}`) if (session.status == 'open') { // Remount embedded Checkout else if (session.status == 'complete') { // Show success page // Optionally use session.payment_status or session.customer_email // to customize the success page }
Métodos de pago basados en redirecciones
Durante el proceso de pago, algunos métodos de pago redirigen al cliente a una página intermedia, como una página de autorización bancaria. Cuando completan esa página, Stripe los redirige a tu página de retorno.
Solo redirecciona los métodos de pago que requieran redireccionamiento
Si no quieres redirigir a los clientes después de haber realizado pagos que no requieren un redireccionamiento, configura redirect_on_completion como if_
. Eso redirige solo a los clientes que finalizan su compra con métodos de pago basados en redireccionamiento.
Para los pagos con tarjetas, Checkout muestra un estado de éxito predeterminado en lugar de redirigir al cliente. Para usar tu propio estado de éxito, pasa una devolución de llamada onComplete que destruya la instancia de Checkout y represente tu estado de éxito personalizado.
Se llama a onComplete
cuando la sesión de Checkout se completa correctamente o cuando se envía el evento de webhook checkout.session.completed.
Deshabilita los métodos de pago que requieran redireccionamientos
Si no quieres crear una página de retorno, crea tu sesión de Checkout con redirect_on_completion establecido en never
.
Esto deshabilita los métodos de pago que requieran redireccionamientos:
- Si usas los métodos de pago dinámicos, puedes administrar los métodos de pago desde el Dashboard, pero aquellos que requieren redireccionamiento no cumplen los requisitos.
- Si especificas manualmente los métodos de pago con payment_method_types, no puedes incluir ningún método de pago que requiera redireccionamientos.
Establecer redirect_
elimina el requisito return_
. Para estas sesiones, Checkout muestra un estado de éxito predeterminado en lugar de redirigir al cliente. Para usar tu propio estado de éxito, pasa una devolución de llamada onComplete que destruya la instancia de Checkout y represente tu estado de éxito personalizado.
Se llama a onComplete
cuando la sesión de Checkout se completa correctamente o cuando se envía el evento de webhook checkout.session.completed.