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
    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 page

Guía de migración de Checkout

Aprende a migrar a las últimas integraciones de Stripe.

Copiar página

La versión heredada de Checkout presentaba a los clientes un cuadro de diálogo para recopilar los datos de tarjeta y devolvía un token o una fuente a tu sitio web. En cambio, Payment Links y la nueva versión de Checkout son páginas de pagos inteligentes alojadas por Stripe que crean pagos o suscripciones. Ambas integraciones admiten Apple Pay, Google Pay, 3D Secure dinámico, Connect, la reutilización de clientes existentes y muchas otras funcionalidades. También puedes comparar otras integraciones de pago si Payment Links o Checkout no se ajustan a tu caso de uso.

Antes de comenzar

Si usas las SDK de Stripe, actualiza a la última versión.

Elige tu modelo de negocio

Para migrar de la versión heredada de Checkout, sigue la guía que se ajuste mejor a tu modelo de negocio. Cada guía recomienda una ruta de integración junto con un código de ejemplo.

  • Catálogo de productos y precios dinámicos

    Por ejemplo, tienes un gran catálogo de productos o necesitas compatibilidad para ítems de factura generados en forma dinámica (como donaciones o impuestos).

  • Suscripciones dinámicas

    Si eres proveedor de SaaS que factura a sus usuarios y necesita compatibilidad para funciones avanzadas.

  • Plataformas y marketplaces Connect

    Si operas un marketplace que conecta a proveedores de servicios con clientes.

  • Cómo guardar métodos de pago para uso futuro

    Si operas una empresa que les cobra a los clientes recién después de la prestación de los servicios.

  • Catálogo simple de productos con precios fijos

    Si vendes algunos productos con precios predeterminados.

  • Suscripciones simples

    Si eres un proveedor de SaaS con un plan de suscripción mensual.

Al seguir la guía de migración correspondiente, también puedes consultar la tabla de conversión para establecer las correspondencias de los parámetros y las opciones de configuración específicos.

Catálogo de productos y precios dinámicos

Si vendes productos en los que el importe o las partidas se determinan de forma dinámica (por ejemplo, un gran catálogo de productos o donaciones), consulta aceptar pagos únicos.

Es posible que hayas utilizado la versión heredada de Checkout para crear un token o una fuente en el cliente, y que lo hayas pasado a tu servidor para crear un cargo. La versión actual de Checkout revierte este flujo: crea una sesión en su servidor, redirige a su cliente a Checkout, quien luego es redirigido a su aplicación después del pago.

Antes

Con la versión heredada de Checkout, mostrabas el importe y la descripción dinámicos y recopilabas los datos de la tarjeta del cliente.

client.html
<form action="/purchase" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
data-name="Custom t-shirt" data-description="Your custom designed t-shirt" data-amount="{{ORDER_AMOUNT}}" data-currency="usd"> </script> </form>

A continuación, enviabas el token o la fuente resultante a tu servidor y efectuabas el cargo.

Command Line
curl
curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "email"="customer@example.com" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "description"="Custom t-shirt" \ -d "amount"="{{ORDER_AMOUNT}}" \ -d "currency"="usd"

Después

Agrega un botón de confirmación de compra a tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.

checkout.html
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>

Una sesión de Checkout es la representación mediante programación de lo que ve tu cliente cuando es redirigido al formulario de pago. Puedes configurarla con opciones como estas:

  • Partidas a cobrar
  • Monedas a utilizar

Incluye una success_url con la URL de una página de tu sitio web a la que se redirige al cliente después de que efectiviza el pago.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"="Custom t-shirt" \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

Después de crear una sesión de Checkout, redirige a tu cliente a la url devuelta en la respuesta. Si necesitas completar los productos comprados después del pago, consulta Completar los pagos de Checkout y Payment Link payments.

Suscripciones dinámicas

Si prestas servicios de suscripción que se determinan en forma dinámica o necesitan compatibilidad con otras funcionalidades avanzadas, consulta cómo configurar una suscripción.

Es posible que hayas utilizado la versión heredada de Checkout para crear un token o una fuente en el cliente, y que lo hayas pasado a tu servidor para crear un cliente y una suscripción. La versión actual de Checkout revierte este flujo: primero creas una sesión en tu servidor, rediriges a tu cliente a Checkout, quien luego es redirigido de nuevo a tu aplicación cuando tiene éxito.

Antes

Con la versión heredada de Checkout, mostrabas los datos de la suscripción y recopilabas los datos de la tarjeta del cliente.

client.html
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
data-name="Gold Tier" data-description="Monthly subscription with 30 days trial" data-amount="2000" data-label="Subscribe"> </script> </form>

A continuación, enviabas el token o la fuente resultante a tu servidor para crear un cliente y una suscripción.

Command Line
curl
curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "email"="customer@example.com" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/subscriptions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{PRICE_ID}" \ -d "trial_period_days"=30

Después

Agrega un botón de confirmación de compra a tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.

checkout.html
<html> <head> <title>Subscribe to cool new service</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Subscribe</button> </form> </body> </html>

Una sesión de Checkout es la representación mediante programación de lo que ve tu cliente cuando es redirigido al formulario de pago. Puedes configurarla con opciones como estas:

  • Partidas a cobrar
  • Monedas a utilizar

Incluye una success_url con la URL de una página de tu sitio web a la que se redirige al cliente después de que efectiviza el pago.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "subscription_data[trial_period_days]"=30 \ -d mode=subscription \ --data-urlencode success_url="https://example.com/success"

Después de crear una sesión de Checkout, redirige a tu cliente a la url devuelta en la respuesta. El cliente es redirigido a la success_url después de haber creado el cliente y la suscripción. Si necesitas cumplir con los servicios adquiridos después del pago, consulta Completar los pagos de Checkout y Payment Link payments.

Plataformas y marketplaces Connect

Si operas una plataforma o marketplace Connect y creas pagos que involucran cuentas conectadas, piensa en usar la versión actual de Checkout.

En el siguiente ejemplo se muestra el uso de la API Checkout Sessions para procesar un cargo Direct. También puedes usar Checkout y Conectar con cargos a un destino y cargos y envíos de fondos separados.

Antes

Con la versión heredada de Checkout, recopilarás los datos de la tarjeta de tu cliente del lado del cliente.

client.html
<form action="/purchase" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
data-name="Food Marketplace" data-description="10 cucumbers from Roger's Farm" data-amount="2000"> </script> </form>

A continuación, enviabas el token o la fuente resultante a tu servidor y efectuabas el cargo en nombre de la cuenta conectada.

Command Line
curl
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{TOKEN_ID}}" \ -d "description"="10 cucumbers from Roger\"s Farm" \ -d "amount"=2000 \ -d "currency"="usd" \ -d "application_fee_amount"=200 \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"

Después

Agrega un botón de confirmación de compra a tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.

checkout.html
<html> <head> <title>Roger's Farm</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>

Una sesión de Checkout es la representación mediante programación de lo que ve tu cliente cuando es redirigido al formulario de pago. Puedes configurarla con opciones como estas:

  • Partidas a cobrar
  • Monedas a utilizar

Incluye una success_url con la URL de una página de tu sitio web a la que se redirige al cliente después de que efectiviza el pago.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d "line_items[0][price_data][currency]"=usd \ --data-urlencode "line_items[0][price_data][product_data][name]"="Cucumbers from Roger's Farm" \ -d "line_items[0][price_data][unit_amount]"=200 \ -d "line_items[0][quantity]"=10 \ -d "payment_intent_data[application_fee_amount]"=200 \ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

Después de crear una sesión de Checkout, redirige a tu cliente a la url devuelta en la respuesta. Si necesitas cumplir con los bienes o servicios comprados después del pago, consulta Cumplir con los pagos de Checkout y Payment Link.

Cómo guardar métodos de pago para uso futuro

Si prestas servicios que no cobras de inmediato a tus clientes, consulta cómo configurar pagos futuros.

Es posible que hayas utilizado la versión heredada de Checkout para crear un token o una fuente en el cliente, y que lo hayas pasado a tu servidor para guardarlo para su uso posterior. La versión actual de Checkout revierte este flujo: primero creas una sesión en tu servidor, rediriges a tu cliente a Checkout, quien luego es redirigido de nuevo a tu aplicación cuando tiene éxito.

Antes

Con la versión heredada de Checkout, mostrabas los datos del cargo y recopilabas los datos de la tarjeta del cliente.

client.html
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
data-name="Cleaning Service" data-description="Charged after your home is spotless" data-amount="2000"> </script> </form>

A continuación, enviarás el token o la fuente resultante a tu servidor para, en última instancia, crear un cargo.

Command Line
curl
curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "email"="customer@example.com" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "description"="Cleaning service" \ -d "amount"="{{ORDER_AMOUNT}}" \ -d "currency"="usd"

Después

Agrega un botón de confirmación de compra a tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.

checkout.html
<html> <head> <title>Cleaning service</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Subscribe</button> </form> </body> </html>

Una sesión de Checkout es la representación mediante programación de lo que ve tu cliente cuando es redirigido al formulario de pago. Puedes configurarla con opciones como estas:

  • Partidas a cobrar
  • Monedas a utilizar

Incluye una success_url con la URL de una página de tu sitio web a la que se redirige al cliente después de que complete la configuración del pago.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=setup \ --data-urlencode success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}"

Después de crear una sesión de Checkout, redirige a tu cliente a la URL que se devuelve en la respuesta para recopilar los datos del método de pago. Se redirigirá al cliente a la success_url una vez completado el flujo. Cuando tengas todo listo para cobrar un pago, recupera el SetupIntent de la sesión de Checkout y úsalo para preparar la transacción.

Catálogo simple de productos con precios fijos

Si vendes productos con precios fijos (como camisetas o libros electrónicos), consulta la guía sobre enlaces de pago. Es posible que hayas utilizado la versión heredada de Checkout para crear un token o una fuente en el cliente, y que lo hayas pasado a tu servidor para crear un cargo.

Antes

Con la versión heredada de Checkout, mostrabas el importe y la descripción y recopilabas los datos de la tarjeta de tu cliente.

client.html
<form action="/pay" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
data-name="T-shirt" data-description="Comfortable cotton t-shirt" data-amount="500" data-currency="usd"> </script> </form>

A continuación, enviabas el token o la fuente resultante a tu servidor para crear un cliente y un cargo.

Command Line
Curl
curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "email"="{{STRIPE_EMAIL}}" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "description"="T-shirt" \ -d "amount"=500 \ -d "currency"="usd"

Después

Crea un producto y un precio que representen el artículo. El siguiente ejemplo crea el producto en línea. También puedes crear estos objetos en el Dashboard.

Command Line
cURL
curl https://api.stripe.com/v1/prices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d unit_amount=500 \ -d "product_data[name]"=T-shirt

Crea un enlace de pago en el Dashboard con el Producto y el Precio. Después de crear el enlace, haz clic en el botón Comprar para configurar el diseño y generar el código que puedes copiar y pegar en tu sitio web.

index.html
HTML
<body> <h1>Purchase your new kit</h1> <!-- Paste your embed code script here. --> <script async src="https://js.stripe.com/v3/buy-button.js"> </script> <stripe-buy-button buy-button-id=
'{{BUY_BUTTON_ID}}'
publishable-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
> </stripe-buy-button> </body>

Suscripciones simples

Si ofreces un servicio de suscripción sencillo (como el acceso mensual al software), consulta la guía en enlaces de pago. Es posible que hayas utilizado la versión heredada de Checkout para crear un token o una fuente en el cliente, y que lo hayas pasado a tu servidor para crear un cliente y una suscripción.

Antes

Con la versión heredada de Checkout, mostrabas los datos de la suscripción y recopilabas los datos de la tarjeta del cliente.

client.html
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
data-name="Gold Tier" data-description="Monthly subscription" data-amount="2000" data-currency="usd" data-label="Subscribe"> </script> </form>

A continuación, enviabas el token o la fuente resultante a tu servidor para crear un cliente y una suscripción.

Command Line
Curl
curl https://api.stripe.com/v1/customers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "email"="{{STRIPE_EMAIL}}" \ -d "source"="{{STRIPE_TOKEN}}" curl https://api.stripe.com/v1/subscriptions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "items[][price]"="{PRICE_ID}" \ -d "items[][quantity]"=1

Después

Crea un producto y un precio que representen la suscripción. El siguiente ejemplo crea el producto en línea. También puedes crear estos objetos en el Dashboard.

Command Line
cURL
curl https://api.stripe.com/v1/prices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d unit_amount=2000 \ -d "recurring[interval]"=month \ -d "product_data[name]"="Gold Tier"

Crea un enlace de pago en el Dashboard con el Producto y el Precio. Después de crear el enlace, haz clic en el botón Comprar para configurar el diseño y generar el código que puedes copiar y pegar en tu sitio web.

index.html
HTML
<body> <h1>Purchase your new kit</h1> <!-- Paste your embed code script here. --> <script async src="https://js.stripe.com/v3/buy-button.js"> </script> <stripe-buy-button buy-button-id=
'{{BUY_BUTTON_ID}}'
publishable-key=
"pk_test_TYooMQauvdEDq54NiTphI7jx"
> </stripe-buy-button> </body>

Conversión de parámetros

La versión actual de Checkout admite la mayoría de las funcionalidades de la versión heredada. Sin embargo, no comparten la misma API. En la tabla siguiente se establece las correspondencias de los parámetros y las opciones de configuración entre la versión heredada y la versión actual. Para obtener una lista completa de las opciones de configuración, consulta Checkout Sessiones.

Versión heredadaVersión actualConsejos de integración
allowRememberMeNo compatibleReutiliza clientes existentes especificando el parámetro customer al crear una sesión de Checkout. También puedes habilitar Link para permitir que tus clientes guarden y reutilicen de forma segura su información de pago.
amountSe calcula automáticamente como la suma de los importes de todos los line_itemsEl importe total corresponde a la suma de los ítems de factura especificados en Checkout.
billingAddressSession.billing_address_collectionCheckout recopila automáticamente la dirección de facturación cuando es obligatorio a efectos de la prevención del fraude o conforme a la normativa. Establece este parámetro en required para recopilar siempre la dirección de facturación.
closedcancel_urlCuando un cliente quiere cerrar Checkout, debe cerrar la pestaña del navegador o ir a cancel_url.
currencySession.currency
descriptionSession.line_items.description o product.descriptionSi especificas un precio, Checkout muestra una descripción generada automáticamente sobre la frecuencia con que se producen los pagos. Si especificas Session.line_items, Checkout muestra el name de cada ítem de factura.
emailSession.customer_emailSi ya conoces el correo electrónico de tu cliente, puedes completarlo previamente con customer_email al crear la sesión de Checkout.

image

Imagen de marca de la empresa: sube el logotipo o el ícono de tu empresa en el Dashboard.

** Imágenes del producto **: Especifica imágenes para cada partida con product.images.

Checkout usa imágenes específicas para la imagen de marca de tu empresa y para los productos que vendes. Checkout muestra el logotipo de tu empresa por defecto y recurre al ícono de empresa junto al nombre de tu empresa.

keyParámetro que ya no se especifica en Checkout
localeSession.localePuedes especificar una configuración regional admitida al crear una sesión de Checkout.
nameproduct.name para precios especificados en Session.line_itemsSi especificas un precio, Checkout le muestra al cliente el nombre del producto al que pertenece el precio. Si especificas Session.line_items, Checkout muestra el name de cada ítem de factura.
panelLabelsubmit_typeCheckout personaliza automáticamente el texto del botón en función de los productos que vendes. Para los pagos únicos, usa submit_type para personalizar el texto del botón.
shippingAddresssession.shipping_address_collectionRecopila los datos de la dirección de envío especificando una matriz de allowed_countries a los que quieres hacer envíos.
token o sourcesuccess_urlYa no hay una devolución de llamada en JavaScript al completarse el pago. Como tu cliente paga en otra página, establece la success_url a la que redirigirás al cliente después de que haya completado el pago.
zipCodeRecopilado automáticamente por CheckoutCheckout recopila automáticamente el código postal cuando es obligatorio a efectos de la prevención del fraude o conforme a la normativa.

Consulta también

  • Agregar más métodos de pago
  • Recopilar direcciones y números de teléfono
¿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