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 pago que utiliza un formulario integrado, puedes personalizar cómo redirige Stripe a tus clientes (y si lo hace) después de que completen el pago. Puedes hacer que Stripe siempre redirija a los clientes, que solo redirija para algunos métodos de pago o que deshabilite completamente los redireccionamientos.
Para configurar los redireccionamientos, especifica la página de retorno en el parámetro return_
.
Como alternativa, puedes:
- Redirigir 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 el débito).
- No utilizar una página de retorno y deshabilitar los métodos de pago basados en el redireccionamiento.
Redirige a los clientes a una página de retorno
Cuando creas la Checkout Session, especificas la URL de la página de retorno en el parámetro return_
. Incluye la variable de plantilla {CHECKOUT_
en la URL. Cuando Checkout redirija a un cliente, reemplaza la variable con el ID real de la Checkout Session. Cuando muestres tu página de retorno, recupera el estado de la Checkout Session utilizando el ID de la Checkout Session 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 }); });
Gestiona el resultado de acuerdo con el estado de la sesión de la siguiente manera:
complete
: El pago se ha realizado correctamente. Usa la información de la Checkout Session para mostrar una página de pago efectuado correctamente.open
: El pago ha fallado o se ha cancelado. Vuelve a montar el proceso de pago 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 el redireccionamiento
Durante el 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.
Redirecciona solo en los métodos de pago basados en el redireccionamiento
Si no quieres redireccionar clientes después de pagos que no requieren un redireccionamiento, establece redirect_on_completion como if_
. Eso solo redirige a los clientes que finalizan su compra con métodos de pago basados en el redireccionamiento.
En los pagos con tarjeta, Checkout muestra un estado predeterminado de pago efectuado correctamente en lugar de redirigir. Para usar tu propio estado de pago efectuado correctamente, pasa una devolución de llamada onComplete que destruya la instancia de Checkout y muestre tu estado personalizado de pago efectuado correctamente.
Se llama a onComplete
cuando la Checkout Session se completa correctamente o cuando se envía el evento de webhook checkout.session.completed.
Deshabilita los métodos de pago basados en el redireccionamiento
Si no quieres crear una página de retorno, crea tu Checkout Session con redirect_on_completion establecido en never
.
De este modo se deshabilitan los métodos de pago basados en redireccionamientos:
- Si utilizas métodos de pago dinámicos, puedes seguir gestionando los métodos de pago desde el Dashboard, pero los métodos de pago que requieran redireccionamientos no cumplen los requisitos.
- Si especificas manualmente métodos de pago con payment_method_types, no puedes incluir ningún método de pago basado en el redireccionamiento.
Al configurar redirect_
se elimina el requisito de return_
. Para estas sesiones, Checkout muestra un estado predeterminado de pago efectuado correctamente en lugar de redirigir. Puedes usar tu propio estado de pago efectuado correctamente pasando una devolución de llamada onComplete que destruye la instancia de Checkout y muestra tu estado personalizado de pago efectuado correctamente.
Se llama a onComplete
cuando la Checkout Session se completa correctamente o cuando se envía el evento de webhook checkout.session.completed.