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
Billing
    Resumen
    Acerca de las API de facturación
    Suscripciones
    Invoicing
    Cobro por consumo
    Connect y Billing
    Tax y Billing
    Presupuestos
    Recuperación de ingresos
    Automatizaciones
    Scripts
    Reconocimiento de ingresos
    Gestión de clientes
    Derechos
    Prueba tu integración
      Clocks de prueba
      Probar tu integración de facturación
Impuesto
Elaboración de informes
Datos
Constitución de una startup
InicioAutomatización contableBilling

Cómo probar Stripe Billing

Obtén información sobre cómo probar tu integración con Billing.

Copiar página

Recursos de prueba

  • Usa tarjetas de prueba y números de cuenta para activar diferentes escenarios, como errores en los pagos o una autenticación obligatoria.
  • Usa clocks de prueba para simular objetos de Billing a lo largo del tiempo y probar eventos en diferentes momentos clave, como el final de una prueba gratuita o plan anual.
  • Consulta la documentación general sobre pruebas para informarte sobre las pruebas fundamentales que son comunes a todo Stripe.

Prueba de manera minuciosa tu integración antes de exponerla a los clientes o usarla para una actividad en modo activo. Utiliza los recursos de esta página y las pautas organizacionales (por ejemplo, manuales de operación, mediciones de calidad o listas de verificación de desarrollo) a fin de determinar si tu integración está lista para la producción.

Principios del modo activo

Antes de llevar tu integración a modo activo, revisa estas listas de verificación de Stripe:

  • Lista de verificación de cuentas
  • Lista de verificación de desarrollo
  • Lista de verificación del sitio web

Así es cómo se ve un flujo de integración típico.

Para integraciones de suscripciones e ingresos recurrentes, asegúrate de que, como mínimo, los siguientes componentes funcionen según lo previsto.

La tabla contiene las notificaciones de eventos para cada componente. Puedes configurar tu integración para escuchar estos eventos con el webhook. Lee esta guía para obtener más información sobre las notificaciones de eventos y las pruebas.

ComponenteDescripciónEventos
Creación de la cuenta del clienteAsegúrate de que tu integración pueda recopilar correctamente la información que necesitas para crear un registro de cliente en Stripe. Tus clientes pueden ingresar esa información a través de Payment Links, Checkout, Elements, o un formulario de pago completamente personalizado creado con la API de Stripe. Independientemente del formulario que uses, asegúrate de ver el objeto Customer almacenado en Stripe. Puedes usar el Dashboard o la API para ver y administrar clientes.
  • customer.created
  • customer.subscription.created
InvoicingLas suscripciones generan facturas al final de cada ciclo de facturación. Dependiendo de tu método de cobro, puedes enviar una factura para cobrar el pago a plazo vencido o para confirmar un cargo automático. Asegúrate de que tu integración genere y envíe las facturas como esperas. Lee la guía para obtener más información sobre cómo crear y administrar facturas para suscripciones. Puedes usar relojes de prueba para simular ciclos de facturación, que incluyen la generación y el envío de facturas. Lee la guía de relojes de prueba para obtener información sobre casos de uso específicos para probar.
  • invoice.created
  • invoice.finalized
  • invoice.finalization_failed
  • invoice.paid
  • invoice.payment_action_required
  • invoice.payment_failed
  • invoice.upcoming
  • invoice.updated
Gestión de suscripcionesConfigura el portal de clientes para que tus clientes puedan administrar sus subscripciones e información de pago. Para probarlo, crea una suscripción en un entorno de prueba. Luego, inicia sesión en el portal como el usuario de prueba y actualiza la suscripción. Consulta el Dashboard o la API para ver si la suscripción refleja el cambio del cliente. Lee la guía de integración para obtener información sobre cómo configurar el portal de clientes.
  • customer.subscription.deleted
  • customer.subscription.paused
  • customer.subscription.resumed
  • customer.subscription.updated
PruebasOfrece a los clientes un período de prueba de tu servicio. Para probar que tu período de prueba esté configurado correctamente, puedes crear un clock de prueba. La suscripción debe generar una factura de valor cero para el período de prueba. Cómo probar los períodos de prueba con clocks de prueba. Para obtener más información sobre cómo funcionan los perídos de prueba, lee la guía de períodos de pruebas de la suscripción.
  • customer.subscription.trial_will_end
  • customer.subscription.updated
Pagos fallidosLos pagos de tus clientes pueden fallar por muchos motivos. Asegúrate de que la integración pueda gestionar las fallas, incluidos los reintentos de pago. Aprende a hacer pruebas con pagos fallidos.
  • invoice.finalization_failed
  • invoice.payment_failed
  • invoice.payment_action_required

Clocks de prueba

Los clocks de prueba te permiten simular objetos de Billing, como subscripciones, a lo largo del tiempo en el entorno de prueba. De esta manera, no tienes que esperar un año para ver cómo tu integración gestiona un pago que no se realizó correctamente para obtener una renovación anual. Los clocks de prueba no requieren programación: puedes crear simulaciones en el Dashboard. También puedes acceder a ellos a través de la API. Obtén más información sobre los clocks de prueba y sus casos de uso habituales.

Probar períodos de prueba de suscripciones

Primero, sigue estos pasos para empezar a usar los clocks de prueba:

  1. Create a test clock
  2. Set up your testing simulation
  3. Advance the clock’s time
  4. Monitor and handle the changes
  5. Update the simulation

Luego, puedes comenzar a probar los clocks de prueba. Supongamos que deseas que los clientes prueben tu producto sin costo con una prueba de siete días antes de que comiencen a pagar y deseas recopilar la información de pago con anticipación. Para simular esta situación con los clocks de prueba, sigue estos pasos:

  • Crea un nuevo clock de prueba y programa el frozen_time para el 1 de enero.
  • Add a customer and include their payment method. In this case, use a test card.
  • Crea una suscripción y agrega un período de prueba gratuita de siete días:

Para agregar un período de prueba a una suscripción existente a través del Dashboard:

Busca la suscripción que deseas cambiar.

  1. Haz click en Acciones.
  2. Haz click en Actualizar suscripción.
  3. Haz click en Agregar período de prueba e ingresa “siete” en el campo Días de prueba gratuita.
  4. Haz click en Actualizar suscripción.
  • Después de crear una suscripción con un período de prueba gratuito, se crea una suscripción en estado trialing. Se genera una factura de $0.00 debido a la prueba gratuita.
  • Advance the date to January 5 to see the customer.subscription.trial_will_end event notification. Stripe sends the notification three days before the trial ends. You can use this webhook event to inform your customers that the trial ends soon.
  • Adelanta la fecha hasta el 8 de enero para verificar que la suscripción ahora aparezca como paid. Se crea una factura por 50 USD.
  • Adelanta la fecha de a un ciclo (por ejemplo, hasta el 8 de febrero para una suscripción mensual) para verificar que la suscripción se renueve correctamente.

Probar períodos de prueba sin clocks de prueba

Probar las notificaciones de webhooks relacionadas con suscripciones

Las integraciones de suscripciones dependen ampliamente de los webhooks. Configura un punto de conexión de webhook en tu servidor y especifica qué notificaciones de eventos deseas escuchar. Stripe emite notificaciones para eventos como una actualización o una cancelación de suscripción.

Para poner a prueba los webhooks, crea suscripciones de prueba reales o activa notificaciones de eventos con la CLI de Stripe o a través del Dashboard.

Después de configurar la CLI de Stripe y vincularla a tu cuenta de Stripe, puedes activar eventos del ciclo de vida de la suscripción para probar la integración de tu webhook. Si utilizas la CLI de Stripe para activar eventos, puedes ver las notificaciones de eventos en tu servidor a medida que llegan, lo que te permite verificar la integración de tu webhook directamente sin túneles de red ni firewalls.

Cuando utilizas la CLI de Stripe o el Dashboard para activar eventos, el evento que recibe tu webhook contiene datos falsos que no se corresponden con los datos de la suscripción. La forma más confiable de probar las notificaciones de webhooks consiste en crear suscripciones de prueba reales y gestionar los eventos correspondientes.

La siguiente tabla describe los eventos más comunes relacionados con las suscripciones y, cuando corresponda, sugiere qué medidas tomar para gestionar los eventos.

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.

Probar pagos fallidos

Utiliza números de tarjetas de crédito de prueba específicos para activar pagos fallidos de suscripciones y facturas.

Algunas actualizaciones de suscripciones inducen a Stripe a facturar la suscripción e intentar el pago de inmediato (este intento sincrónico de pago puede darse en la factura inicial o en ciertas actualizaciones de facturas). Si este intento falla, el estado de la suscripción creada es incomplete.

Para probar los efectos de un pago fallido en una suscripción activa, adjunta la tarjeta 4000 0000 0000 0341 como método de pago predeterminado del cliente, pero usa un período de prueba para diferir el intento (basta un período de prueba que dure unos segundos o unos minutos). La suscripción se activa de inmediato, con un borrador de factura creada cuando finaliza el período de prueba. Se tarda aproximadamente una hora en abrir los cambios de estado de la factura. En ese momento, se intenta el cobro y el pago falla.

Usa los clocks de prueba para simular el avance del tiempo en el entorno de prueba, lo que hace que los recursos de Billing, como las suscripciones, cambien de estado y activen eventos de webhook. Esto te permite ver cómo tu integración maneja un pago que no se pudo realizar para una renovación trimestral o anual sin esperar un año.

Probar pagos que exigen 3D Secure

Usa la tarjeta 4000 0027 6000 3184 para simular la activación de 3D Secure para suscripciones y facturas.

Cuando se desencadena el flujo de autenticación con 3D Secure, puedes probar la autenticación de un intento de pago o un intento de autenticación fallido en el cuadro de diálogo de 3D Secure que se abre. Si el pago se autentica correctamente, se concreta el pago de la factura. Si la factura pertenece a una suscripción cuyo estado es incomplete, se activa la suscripción. Cuando el intento de pago falla, el intento de autenticación da error y la factura sigue open.

Prueba los pagos de facturas mediante transferencia bancaria

Para probar los pagos manuales de facturas mediante transferencia bancaria, haz lo siguiente:

  1. En el entorno de prueba, crea una factura, establece el método de cobro en send_invoice y establece la matriz payment_settings[payment_method_types] en [customer_balance].
  2. Busca la factura en el Dashboard y haz click en Enviar.
  3. A tu cliente se le asignó un número de cuenta bancaria virtual único que puedes recuperar a través de la API de instrucciones financieras. Los datos bancarios virtuales también aparecen en la página de facturas alojadas y en el PDF.

Probar el método de pago predeterminado para facturas y suscripciones

Utiliza identificadores de tarjetas de prueba específicos para simular los métodos de pago predeterminados que se utilizan para suscripciones y facturas.

El método de pago proporcionado debe adjuntarse a la suscripción o al cliente de la factura configurándolo como default_payment method. Por ejemplo, si usas pm_card_visa para crear un método de pago Visa de prueba:

  1. Llama al punto de conexión PaymentMethod Attach con pm_card_visa y al cliente previsto para la suscripción o factura
  2. Con el ID del método de pago resultante, crea la suscripción o factura con este ID como default_payment_method.

Ahora, la suscripción o factura cargará este método de pago.

Obtén más información sobre cómo usar métodos de pago predeterminados para suscripciones y facturas.

Probar la verificación de la identificación fiscal del cliente

Use these magic tax IDs to trigger certain verification conditions in testing environments. The tax ID type must be either the EU VAT Number or Australian Business Number (ABN).

NúmeroTipo
000000000Successful verification
111111111Unsuccessful verification
222222222La verificación queda pendiente por un tiempo indefinido

Pruebas automatizadas

Puedes configurar pruebas automatizadas para tu integración. Para optimizar las pruebas, haz lo siguiente:

  • Ten en cuenta la política de retención de datos para los datos relacionados con la suscripción en el entorno de prueba.
  • Evita reutilizar recursos como Cupones y Códigos de promoción en todas las pruebas.
  • Usa el servidor HTTP stripe-mock, que se basa en la API de Stripe y refleja fielmente el comportamiento de la API.

Consulta también

  • Entornos de prueba
  • Varias cuentas
¿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