¿No quieres migrar? Puedes seguir usando tu integración actual, pero no se admiten nuevas funcionalidades. Todos los planes o precios recurrentes nuevos que crees se podrán utilizar en el parámetro plan de tus actuales llamadas a la API.
Resumen de productos y precios
Los precios son una nueva entidad básica dentro de Stripe que funciona con suscripciones, facturas y en Checkout. Cada precio está vinculado a un solo producto, y cada producto puede tener varios precios. Los diferentes bienes físicos o niveles de servicio deben representarse mediante productos. El valor de cada producto debe representarse mediante precios.
Los precios definen el precio de base, la moneda y el ciclo de facturación, en caso de productos recurrentes. Esto te permite cambiar y agregar precios sin necesidad de cambiar los datos de lo que ofreces. Por ejemplo, puedes tener un solo producto “estrella” a un precio de USD 10/mes, USD 100/año, EUR 9/mes y EUR 90/año. O puedes tener una camiseta azul a USD 20 y a EUR 15.
Con la nueva integración, se pueden usar planes y SKU (solo cliente) siempre que se acepten precios. Puedes crear un producto y un precio a través de la API o a través del Dashboard.
Pagos puntuales
La integración de cliente y servidor presenta los siguientes cambios para los pagos puntuales:
Instead of ad-hoc line items (that is, setting the name, amount, and currency), creating a Checkout Session requires creating a product and, usually, a price.
El código del lado del cliente sigue siendo el mismo.
Tabla de asignaciones
En lugar de definir cada campo en line_items, Checkout utiliza los objetos Product y Price de base para determinar el nombre, la descripción, el importe, la moneda y las imágenes. Puedes crear productos y precios con la API o en el Dashboard.
Sin precios
Con precios
line_items.name
product.name
line_items.description
product.description
line_items.amount
price.unit_amount
price_data.unit_amount (si se define al crear la sesión de Checkout)
line_items.currency
price.currency
price_data.currency (si se define al crear la sesión de Checkout)
line_items.images
product.images (muestra la primera imagen suministrada)
Código del lado del servidor para ítems alineados
Antes, solo podías crear ítems puntuales alineados. Con precios, puedes seguir configurando ítems alineados, pero también puedes definir precios en forma dinámica con price_data al crear la sesión de Checkout.
Cuando creas la sesión de Checkout con price_data, debes hacer referencia al ID de un producto existente con price_data.product o definir los datos del producto dinámicamente usando price_data.product_data. El siguiente ejemplo muestra el flujo para crear un ítem puntual.
Código del lado del servidor para precios puntuales
Con esta nueva integración, puedes crear un producto y un catálogo de precios de antemano en lugar de tener que definir el importe, la moneda y el nombre cada vez que crees una sesión de Checkout.
Puedes crear un producto y un precio con la API Prices o a través del Dashboard. Necesitarás el ID del precio para crear la sesión de Checkout. El siguiente ejemplo muestra cómo crear un producto y un precio a través de la API:
La integración de cliente y servidor presenta los siguientes cambios para los pagos recurrentes:
Todos los ítems se especifican en una solo campo line_items en lugar de subscription_data.items.
Ahora, es necesario el modo. Define mode=subscription si la sesión incluye ítems recurrentes.
El código del lado del cliente sigue siendo el mismo. Los planes existentes se pueden utilizar toda vez que se acepten precios recurrentes.
Código del lado del servidor con planes
Veamos un ejemplo de lo que se ve antes y después de crear una sesión de Checkout mediante una prueba y usando un plan existente, que también se puede usar con un precio. El plan ahora se especifica en line_items en lugar de subscription_data.items.
Código del lado del servidor para precio recurrente con costo de instalación
Si tienes planes recurrentes con un costo de instalación único, crea el producto y el precio que representen el costo único antes de crear la sesión de Checkout. Consulta la tabla de asignaciones para ver cómo se asignan los campos line_items anteriores a la nueva integración. Puedes crear un producto y un precio a través de la API Prices o a través del Dashboard de Stripe. También puedes crear el ítem puntual alineado. El siguiente ejemplo utiliza un ID de precio existente:
En lugar de enumerar items con display_items, el objeto Checkout Session utiliza line_items. El campo line_items no se renderiza en forma predeterminada como lo hacía display_items, pero puedes incluirlo utilizando expandir al crear la sesión de Checkout:
Debido a que se puede incluir line_items, la respuesta de webhookcheckout.session.completed ya no menciona los ítems en forma predeterminada. El objeto Response más pequeño te permite recibir los webhooks de Checkout más rápido. Puedes recuperar ítems con el nuevo punto de conexión de line_items:
Welcome to the Stripe Shell!
Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your
Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe
resources in test mode.
- View supported Stripe commands:
- Find webhook events:
- Listen for webhook events:
- Call Stripe APIs: stripe [api resource] [operation] (e.g., )
Stripe Shell funciona mejor en una computadora de escritorio.