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
Empieza a usar Connect
Fundamentos de la integración
Ejemplos de integraciones
Haz el onboarding de las cuentas
Configura los Dashboards de la cuenta
Aceptar pagos
    Crear un cargo
    Definir descripciones de los cargos en el extracto bancario
    Configurar códigos de categoría de comercio
    Administrar varias monedas
    Crea enlaces de pago con Connect
    Usa Radar con Connect
    Disputas en Connect
    Crea suscripciones
    Crear facturas
    Configuraciones de varios métodos de pago
    Integra el componente de configuración del método de pago
    Saldo de la cuenta
Transfiere a cuentas
Gestiona tu plataforma Connect
Formularios fiscales para tu plataforma Connect
Trabaja con tipos de cuentas conectadas
InicioPlataformas y marketplacesAccept payments

Crear suscripciones con Stripe Billing

Con Connect, puedes crear suscripciones para tus clientes o para cuentas conectadas.

Copiar página

Más información sobre Connect

Para obtener más información sobre Connect, consulta el resumen. Basamos las transacciones de suscripciones en las tarifas de Stripe Billing.

Las empresas de marketplace y Software como Servicio (SaaS) usan Stripe Connect para gestionar los pagos entre ellas, los clientes y las cuentas conectadas. Puedes usar Connect para gestionar pagos o transferencias, y Stripe Billing para respaldar tu modelo de ingresos recurrentes.

Casos de uso

Puedes crear suscripciones para cuentas conectadas, que admiten varios métodos para cobrar pagos. Puedes crear suscripciones para los clientes de tu cuenta conectada mediante cargos directos o a un destino, para que tus clientes finales realicen transacciones directamente con tu plataforma y cobren a tus cuentas conectadas una tarifa por usar tu plataforma.

Los siguientes casos de uso detallan cómo usar Stripe Billing para crear suscripciones de clientes finales a cuentas conectadas, además de cómo facturar a cada uno.

Caso de usoDescripción
Crea suscripciones desde clientes finales hasta cuentas conectadasCrea suscripciones para clientes finales a tus cuentas conectadas, lo que admite varios métodos para cobrar pagos. En este ejemplo, los Precios residen en la cuenta conectada.
Crear suscripciones para facturar a los clientes finales de una plataformaMarketplaces puede ofrecer directamente suscripciones de membresía sin involucrar tu cuenta conectada. En este ejemplo, los Precios residen en la plataforma.
Crea suscripciones para facturar a cuentas conectadasLas plataformas pueden crear suscripciones para sus cuentas conectadas. En este ejemplo, los Precios residen en la plataforma.

Restricciones

El uso de suscripciones con Connect tiene estas restricciones:

  • Tu plataforma no puede actualizar ni cancelar una suscripción no creada por ella.
  • Tu plataforma no puede agregar una application_fee_amount a una factura no creada por ella ni tampoco a una factura que contenga ítems de factura no creados por ella.
  • Las suscripciones no se cancelan de forma automática cuando te desconectas de la plataforma; debes hacerlo manualmente. Puedes usar webhooks para controlar la actividad de las cuentas conectadas.

Crea suscripciones desde el cliente final a la cuenta conectada

Si estás diseñando una plataforma, puedes crear suscripciones para los clientes de tus cuentas conectadas. Tienes la opción de cobrar una comisión por cada pago en tu plataforma.

En este ejemplo, se diseña una plataforma de una editorial en línea que permite que los clientes se suscriban a sus autores favoritos y paguen una cuota mensual para recibir publicaciones de blogs exclusivas de cada autor.

Antes de comenzar

Antes de poder crear suscripciones para tus clientes o cuentas conectadas, debes hacer lo siguiente:

  1. Crea una cuenta conectada para cada persona que reciba dinero en tu plataforma. En nuestro ejemplo de publicación en línea, una cuenta conectada representa a un autor.
  2. Crear un modelo de precios. Para este ejemplo, creamos un de tarifa plana modelo de tarifas para cobrar a los clientes una tarifa de forma recurrente, pero también se admiten tarifas por usuario y por uso.
  3. Crea un cliente con el método de pago previsto por cada persona que se suscriba a una cuenta conectada. En nuestro ejemplo de la editorial en línea, puedes crear un cliente por cada lector que se suscriba a un autor.

Elige entre cargos Direct y cargos a un Destino

Para dividir el pago de un cliente entre la cuenta conectada y tu plataforma, puedes usar tanto cargos Direct como cargos a un Destino.

Con los cargos directos, los clientes no sabrán de la existencia de tu plataforma porque en la descripción de cargo en el extracto bancario no aparecerá el nombre de tu plataforma, sino el nombre del autor. En nuestro ejemplo de la editorial en línea, los lectores interactúan directamente con los autores.

Se recomiendan los cargos directos para las cuentas conectadas con acceso al Dashboard completo de Stripe, que incluye las cuentas Standard.

Si quieres que tu plataforma sea la responsable de las comisiones de Stripe, los rembolsos y los contracargos, usa cargos a un Destino. En nuestro ejemplo de la editorial en línea, los clientes se suscriben a tu plataforma de publicación, en lugar de a autores específicos.

Se recomiendan los cargos de destino para las cuentas conectadas con acceso al panel de Express o las cuentas conectadas sin acceso al Dashboard alojado en Stripe, que incluye las cuentas Express y Custom.

Para obtener más información sobre los diferentes tipos de cargos de Connect, consulta Tipos de cargos.

Usa cargos Direct para crear una suscripción

Para crear una suscripción con Cargos asociados a la cuenta conectada, crea una suscripción mientras estás autenticado como la cuenta conectada. Asegúrate de definir el cliente con un método de pago predeterminado y el Precio en la cuenta conectada. Para usar un cliente sin un método de pago predeterminado, establece payment_behavior: "default_incomplete". Más información sobre el comportamiento de pago.

Expande latest_invoice.confirmation_secret para incluir el Payment Element, que se necesita para confirmar el pago. Obtén más información sobre los Payment Elements.

Para ver un ejemplo de cómo implementar el flujo de creación de la suscripción y de pago, de principio a fin, en tu aplicación, consulta la guía de integración de suscripciones.

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d "expand[0]"="latest_invoice.confirmation_secret"

Usa cargos a un Destino para crear una suscripción

Para crear una suscripción con Cargos asociados a la plataforma y crear automáticamente transferencias a una cuenta conectada, haz una llamada para crear la suscripción y especifica el ID de la cuenta conectada como el transfer_data[destination] value.

Expande latest_invoice.confirmation_secret para incluir el Payment Element, que se necesita para confirmar el pago. Obtén más información sobre los Payment Elements.

Tienes la opción de especificar application_fee_percent. Obtén más información sobre cómo cobrar comisiones.

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d "expand[0]"="latest_invoice.confirmation_secret" \ -d "transfer_data[destination]"=
{{CONNECTED_ACCOUNT_ID}}

Pasos adicionales antes de crear una suscripción

Para crear un cargo a un destino, define el cliente y el precio en la cuenta de la plataforma. Debes haber creado una cuenta conectada en la plataforma. El cliente debe existir dentro de la cuenta de plataforma. Cuando se utilizan cargos a un destino, la plataforma es el comerciante registrado.

Crea suscripciones para cobrar a los clientes finales de una plataforma

Puedes usar Stripe Billing para crear suscripciones con el fin de que tus clientes finales realicen transacciones directo con tu plataforma sin tener que involucrar a las cuentas conectadas.

En este ejemplo, se diseña un marketplace que permite que los clientes realicen pedidos a restaurantes. El marketplace les ofrece a los clientes una suscripción mensual prémium que no cobra comisiones de envío. Los clientes que se suscriben al plan prémium pagan directo en el marketplace y no se suscriben a ningún servicio de entregas ni restaurante en particular.

Antes de comenzar

Antes de crear suscripciones para tus clientes, debes hacer lo siguiente:

  1. Crear un modelo de precios. Para este ejemplo, creamos un de tarifa plana modelo de tarifas para cobrar a los clientes una tarifa de forma recurrente, pero también se admiten tarifas por usuario y por uso.
  2. Crea un registro de cliente para cada cliente que quieras facturar.

También puedes crear una cuenta conectada para cada usuario que reciba dinero de tu plataforma. En nuestro ejemplo de entrega a domicilio por pedido, una cuenta conectada es un restaurante o un servicio de entrega. Sin embargo, este paso no es necesario para que los clientes se suscriban directamente a tu plataforma.

Crear una suscripción

Para crear una suscripción en la que tu plataforma reciba los fondos, sin que el dinero vaya a las cuentas conectadas, sigue la guía de suscripciones y crea una suscripción con Stripe Billing.

Crear cargos y envíos de fondos separados

Si luego quieres transferir manualmente una parte de los fondos que recibe tu plataforma a tus cuentas conectadas, usa cargos y envíos de fondos separados para transferir fondos a una cuenta conectada (o más). En nuestro ejemplo de entregas de restaurante por pedido, puedes usar cargos y envíos de fondo separados para transferir una comisión de afiliado a un repartidor o a un restaurante que refiere al cliente a suscribirse al servicio de entregas prémium.

Crea suscripciones para cobrar a las cuentas conectadas

Puedes usar Stripe Billing para crear suscripciones con el fin de cobrarles a tus cuentas conectadas una comisión por usar tu plataforma.

En este ejemplo, se diseña una plataforma de software de gestión de gimnasios que permite que estos establecimientos paguen una cuota mensual por el uso del programa, que les permite gestionar la programación y asignación de las clases. La cuota de la suscripción la paga la empresa (en este caso, el gimnasio), no los clientes.

El software de gestión de gimnasios también facilita los pagos únicos del cliente al gimnasio por cada clase en la que se anota. La suscripción mensual se da entre la cuenta conectada y la plataforma, por lo que el cliente no está involucrado en la transacción.

En el diagrama anterior, el gimnasio es la cuenta conectada y la persona que va al gimnasio es el cliente final.

Antes de comenzar

Antes de crear suscripciones para tus clientes o cuentas conectadas, debes hacer lo siguiente:

  1. Crea una cuenta conectada para cada usuario que reciba dinero en tu plataforma. En este ejemplo, la cuenta conectada es la empresa de gimnasios.
  2. Crear un modelo de precios. Para este ejemplo, creamos un de tarifa plana modelo de tarifas para cobrar a los clientes una tarifa de forma recurrente, pero también se admiten tarifas por usuario y por uso.
  3. Crea un cliente en la plataforma con el método de pago previsto para cada cuenta conectada que quieras facturar. En el ejemplo del software de gestión de gimnasios, creas un cliente para cada empresa de gimnasios:

Crear un objeto Customer que represente la cuenta conectada

Si tus cuentas conectadas usan Stripe para procesar pagos para sus clientes finales, es posible que ya hayan creado un objeto Customer para cada cliente final.

Para crear correctamente una suscripción para la cuenta conectada con el fin de pagar una comisión recurrente a la plataforma, debes crear un objeto Customer distinto que represente la cuenta conectada.

En el ejemplo del gimnasio, la empresa usa Stripe para procesar pagos únicos de los clientes. Ya se creó un objeto Customer para cada cliente, pero necesitas uno nuevo que represente al gimnasio. Crea un solo objeto Customer para representar a cada entidad comercial; no crees objetos para cada propietario, gerente u operador de la empresa.

Crear una suscripción para la cuenta conectada

Para crear una suscripción en la que tu plataforma reciba los fondos de tus cuentas conectadas, sigue la guía de suscripciones y crea una suscripción con Stripe Billing. El objeto Customer involucrado en la transacción representa la cuenta conectada, no el cliente final. En nuestro ejemplo del gimnasio, el CUSTOMER_ID representa a la empresa de gimnasios, no al cliente.

Habilita la integración para recibir notificaciones de eventos

Stripe crea notificaciones de eventos cuando se producen cambios en tu cuenta, por ejemplo, cuando un pago recurrente se realiza correctamente o cuando falla una transferencia. Para recibir estas notificaciones y usarlas a fin de automatizar tu integración, configura un punto de conexión de webhook. Por ejemplo, puedes dar acceso a tu servicio cuando recibas el evento invoice.paid.

Notificaciones de eventos para integraciones de Connect y suscripciones

Estas son las notificaciones de eventos que suelen usar las integraciones de Connect.

Eventdata.object typeDescription
account.application.deauthorizedapplicationOccurs when a connected account disconnects from your platform. You can use it to trigger cleanup on your server. Available for connected accounts with access to the Stripe Dashboard, which includes Standard accounts.
account.external_account.updatedAn external account, such as card or bank_accountOccurs when a bank account or debit card attached to a connected account is updated, which can impact payouts. Available for connected accounts that your platform controls, which includes Custom and Express accounts, and Standard accounts with platform controls enabled.
account.updatedaccountAllows you to monitor changes to connected account requirements and status changes. Available for all connected accounts.
balance.availablebalanceOccurs when your Stripe balance has been updated. For example, when funds you’ve added from your bank account are available for transfer to your connected account.
payment_intent.succeededpayment_intentOccurs when a payment intent results in a successful charge. Available for all payments, including destination and direct charges.
payout.failedpayoutOccurs when a payout fails. When a payout fails, the external account involved is disabled, and no automatic or manual payouts can be processed until the external account is updated.
person.updatedpersonOccurs when a Person associated with the Account is updated. If you use the Persons API to handle requirements, listen for this event to monitor changes to requirements and status changes for individuals. Available for connected accounts that your platform controls, which includes Custom and Express accounts, and Standard accounts with platform controls enabled.

Estas son las notificaciones de eventos que suelen usar las integraciones de suscripciones.

customer.createdSent when a Customer is successfully created.
customer.subscription.createdSent when the subscription is created. The subscription status might be incomplete if customer authentication is required to complete the payment or if you set payment_behavior to default_incomplete. View subscription payment behavior to learn more.
customer.subscription.deletedSe envía cuando se termina la suscripción de un cliente.
customer.subscription.pausedSent when a subscription’s status changes to paused. For example, this is sent when a subscription is configured to pause when a free trial ends without a payment method. Invoicing won’t occur until the subscription is resumed. We don’t send this event if payment collection is paused because invoices continue to be created during that time period.
customer.subscription.resumedSent when a subscription previously in a paused status is resumed. This doesn’t apply when payment collection is unpaused.
customer.subscription.trial_will_endSent three days before the trial period ends. If the trial is less than three days, this event is triggered.
customer.subscription.updatedSent when a subscription starts or changes. For example, renewing a subscription, adding a coupon, applying a discount, adding an invoice item, and changing plans all trigger this event.
entitlements.active_entitlement_summary.updatedSe envía cuando se actualizan los derechos activos de un cliente. Cuando recibas este evento, puedes proporcionar o anular el acceso a las funciones de tu producto. Lee más sobre integración con derechos.
invoice.createdSent when an invoice is created for a new or renewing subscription. If Stripe fails to receive a successful response to invoice.created, then finalizing all invoices with automatic collection is delayed for up to 72 hours. Read more about finalizing invoices.
  • Respond to the notification by sending a request to the Finalize an invoice API.
invoice.finalizedSe envía cuando una factura se finaliza correctamente y está lista para pagarse.
  • You can send the invoice to the customer. View invoice finalization to learn more.
  • Depending on your settings, we automatically charge the default payment method or attempt collection. View emails after finalization to learn more.
invoice.finalization_failedThe invoice couldn’t be finalized. Learn how to handle invoice finalization failures by reading the guide. Learn more about invoice finalization in the invoices overview guide.
  • Inspect the Invoice’s last_finalization_error to determine the cause of the error.
  • If you’re using Stripe Tax, check the Invoice object’s automatic_tax field.
  • If automatic_tax[status]=requires_location_inputs, the invoice can’t be finalized and payments can’t be collected. Notify your customer and collect the required customer location.
  • Si automatic_tax[status]=failed, reintenta la solicitud más tarde.
invoice.paidSe envía cuando la factura se paga correctamente. Puedes brindar acceso a tu producto cuando recibas este evento y el status de la suscripción sea active.
invoice.payment_action_requiredSent when the invoice requires customer authentication. Learn how to handle the subscription when the invoice requires action.

invoice.payment_failed

Falló el pago de una factura. El estado del PaymentIntent cambia a requires_action, mientras que el de la suscripción sigue siendo incomplete solo en la primera factura. Si falla un pago, puedes tomar varias medidas:

  • Notify the customer. Read about how you can configure subscription settings to enable Smart Retries and other revenue recovery features.
  • If you’re using PaymentIntents, collect new payment information and confirm the PaymentIntent.
  • Update the default payment method on the subscription.
invoice.upcomingSent a few days prior to the renewal of the subscription. The number of days is based on the number set for Upcoming renewal events in the Dashboard. For existing subscriptions, changing the number of days takes effect on the next billing period. You can still add extra invoice items, if needed.
invoice.updatedSe envía tanto cuando un pago falla como cuando se efectúa correctamente. Si sucede esto último, el atributo paid se establece en true y el status será paid. Si el pago falla, paid se establece en false y el status permanecerá open. Los pagos fallidos también activan el evento invoice.payment_failed.
payment_intent.createdSent when a PaymentIntent is created.
payment_intent.succeededSent when a PaymentIntent has successfully completed payment.
subscription_schedule.abortedSe envía cuando se cancela un calendario de suscripciones porque el retraso en el pago canceló la suscripción relacionada.
subscription_schedule.canceledSe envía cuando se cancela un calendario de suscripciones, lo que también cancela las suscripciones asociadas activas.
subscription_schedule.completedSent when all phases of a subscription schedule complete.
subscription_schedule.createdSe envía cuando se crea un nuevo calendario de suscripciones.
subscription_schedule.expiringSe envía siete días antes de que expire el calendario de suscripción.
subscription_schedule.releasedSent when a subscription schedule is released, or stopped and disassociated from the subscription, which remains.
subscription_schedule.updatedSe envía cuando se actualiza un calendario de suscripciones.
  • Crear un punto de conexión de webhooks
  • Escuchar eventos con la CLI de Stripe
  • Webhooks de Connect
  • Webhooks de suscripciones

Prueba la integración

Después de crear tu suscripción, prueba exhaustivamente tu integración antes de exponerla a los clientes o usarla para cualquier actividad en vivo. Obtén más información sobre cómo probar Stripe Billing.

Opciones adicionales

Después de crear tu suscripción, puedes especificar un application_fee_percent, configurar el portal de clientes, cobrarle a tu cliente usando el parámetro on_behalf_of y monitorear las suscripciones con webhooks, además de otras opciones.

Cobrar comisiones sobre suscripciones

Usar cupones

Usar períodos de prueba

Configurar el portal de clientes

Controlar las suscripciones con webhooks

Determinar que la cuenta conectada sea el comerciante a cargo del cobro con on_behalf_of

Conoce el comportamiento de desconexión

Integra el cálculo y cobro de impuestos

Consulta también

  • Cómo crear facturas
  • Cómo crear cargos
  • Comparte clientes entre cuentas
  • Varias monedas
¿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