¿No quieres migrar? Puedes seguir usando tu integración actual, pero las nuevas funciones no son compatibles. Los planes nuevos o los precios recurrentes que crees pueden usarse en el parámetro plan de las llamadas existentes a la API.
Resumen de productos y precios
Los precios son una nueva unidad central de Stripe que funciona con las suscripciones, las facturas y Checkout. Cada precio está vinculado a un único Product, y cada producto puede tener varios precios. Los diferentes bienes físicos o niveles de servicio deben estar representados por productos. El precio de ese producto debe estar representado por precios.
Define los precios base y, en el caso de productos recurrentes, el ciclo de facturación. Esto te permite cambiar y añadir los precios sin necesidad de cambiar los datos de lo que ofreces. Por ejemplo, puede que tengas un único producto «de oro» con precios de 10 USD al mes, 100 USD al año, 9 EUR al mes y 90 EUR al año. O quizás tengas una camiseta azul con un precio de 20 USD y 15 EUR.
Los planes y los SKU (solo del lado del cliente) pueden usarse con la nueva integración siempre que se acepten los Prices. Puedes crear un producto y un precio a través de la API o mediante el Dashboard.
Pagos puntuales
La integración del cliente y del servidor presenta los siguientes cambios para los pagos puntuales:
En lugar de partidas específicas (que definan, por ejemplo, el nombre, el importe y la divisa), la creación de una sesión de Checkout requiere un producto y, por lo general, un precio.
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 proporcionada)
Código del lado del servidor para elementos 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 mediante el Dashboard. El ID del precio será necesario para crear una sesión de Checkout. El siguiente ejemplo ilustra cómo se crea un producto o precio a través de la API:
La integración del cliente y del servidor presenta los siguientes cambios para los pagos recurrentes:
Todos los elementos pasan a un solo campo de line_items, en lugar de subscription_data.items.
Ahora se requiere el modo. Establece mode=subscription si la sesión incluye algún elemento recurrente.
El código del lado del cliente se mantiene igual. Los planes existentes pueden usarse cuando se acepten los precios recurrentes.
Código del lado del servidor con planes
Este es un ejemplo del antes y el después de crear una sesión de Checkout durante el período de prueba usando un plan existente, que puede emplearse de forma intercambiable a un precio determinado. Ahora el plan ha pasado a line_items en lugar de subscription_data.items.
Código del lado del servidor para precios recurrentes con una tasa de instalación
Si tienes planes recurrentes con una tasa de instalación única, 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 los elementos con display_items, el objeto de la sesión de Checkout utiliza line_items. El campo line_items no procesa por defecto como en el caso de display_items, pero puedes incluirlo usando la opción de ampliar al crear una sesión de Checkout:
Como puede incluirse line_items, la respuesta del webhookcheckout.session.completed ya no enumera elementos de forma predeterminada. El objeto de respuesta más pequeño te permite recibir los webhooks de Checkout más rápido. Puedes recuperar elementos con el nuevo punto de conexión 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., )
La experiencia con Stripe Shell es mejor en ordenadores de sobremesa.