Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Automatización contable
Plataformas y marketplaces
Gestión del dinero
Herramientas para desarrolladores
Empieza ahora
Pagos
Automatización contable
Empieza ahora
Pagos
Automatización contable
Plataformas y marketplaces
Gestión del dinero
Resumen
Acerca de Stripe Payments
Actualiza tu integración
Análisis de pagos
Pagos electrónicos
ResumenEncuentra tu caso de usoPagos administrados
Usa Payment Links
Crea una página del proceso de compra
    Resumen
    Guías de inicio rápido
    Personaliza el estilo
    Recopila información adicional
    Cobrar impuestos
    Actualiza en forma dinámica el proceso de compra
    Gestiona tu catálogo de productos
    Suscripciones
    Gestiona los métodos de pago
    Permite que los clientes paguen en su moneda local
    Agrega descuentos, ventas adicionales y artículos opcionales
    Configurar pagos futuros
    Guardar los datos de pago durante el pago
    Manually approve payments on your server
    Después del pago
      Completa pedidos
      Envía recibos y facturas pagadas
      Personaliza el comportamiento de redireccionamiento
      Recuperar carritos abandonados
      Analiza el canal de conversión
    Elements con registro de cambios beta de la API Checkout Sessions
    Migrar desde un proceso de compra heredado
    Migrar Checkout para usar Prices
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Agrega métodos de pago
Gestiona los métodos de pago
Finalización de compra más rápida con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
Elements en la aplicación
Escenarios de pago
Flujos de pago personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
Otros productos de Stripe
Financial Connections
Criptomonedas
Climate
InicioPagosBuild a checkout pageAfter the payment

Personaliza el comportamiento de redireccionamiento

Muestra una página de confirmación con la información del pedido del cliente.

Copiar página

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_url 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_url parámetro. Incluye la variable de plantilla {CHECKOUT_SESSION_ID} 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.

server.js
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.
client.js
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_required. 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.

return.js
const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Example `onComplete` callback const handleComplete = async function() { // Destroy Checkout instance checkout.destroy() // Retrieve details from server (which loads Checkout Session) const details = await retrievePurchaseDetails(); // Show custom purchase summary showPurchaseSummary(details); } const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, onComplete: handleComplete }); checkout.mount('#checkout'); }

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_on_completion: never elimina el requisito return_url. 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.

return.js
const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Example `onComplete` callback const handleComplete = async function() { // Destroy Checkout instance checkout.destroy() // Retrieve details from server (which loads Checkout Session) const details = await retrievePurchaseDetails(); // Show custom purchase summary showPurchaseSummary(details); } const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, onComplete: handleComplete }); checkout.mount('#checkout'); }
¿Te fue útil esta página?
SíNo
¿Necesitas ayuda? Ponte en contacto con soporte.
Únete a nuestro programa de acceso anticipado.
Echa un vistazo a nuestro registro de cambios.
¿Tienes alguna pregunta? Contacto.
¿LLM? Lee llms.txt.
Con tecnología de Markdoc