← Volver al índice de esquemas
BillingSubscriptionAttributes
Suscripción activa del usuario, con su origen, estado, ciclo y límites. Cada usuario tiene exactamente una. Los campos `trial_*`, `cancel_*` y `stripe_subscription_id` son nulos cuando no aplican.
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
plan_slug | string | Identificador único y legible del plan. Corresponde al plan activo del usuario. |
plan_name | string | Nombre del plan que muestran las interfaces. |
billing_model | string | Modelo de facturación del plan — `free`: Sin cobro; `tiered`: Cuota fija; `metered`: Cobro por consumo; `hybrid`: Cuota fija más consumo. |
source | string | Origen de la suscripción — `stripe`: Pago mediante Stripe; `admin_granted`: Concesión administrativa; `system_default`: Plan asignado por el sistema. |
status | string | Estado del ciclo de vida de la suscripción — `active`: Activa; `trialing`: En periodo de prueba; `past_due`: Con un cobro vencido y acceso todavía habilitado; `canceled`: Terminada; `unpaid`: Con cobros fallidos y sin acceso; `incomplete`: Primer pago pendiente; `incomplete_expired`: Primer pago vencido; `paused`: En pausa. |
current_period_start | string (date-time) | Timestamp ISO 8601 en UTC con sufijo `Z` explícito; por ejemplo, `"2026-05-01T05:14:38Z"`. Los campos `*_at`, `*_end`, `*_start` y `*_date` adoptan esta forma. `meta.datetime` describe el mismo contrato en la respuesta. |
current_period_end | string (date-time) | Timestamp ISO 8601 en UTC con sufijo `Z` explícito; por ejemplo, `"2026-05-01T05:14:38Z"`. Los campos `*_at`, `*_end`, `*_start` y `*_date` adoptan esta forma. `meta.datetime` describe el mismo contrato en la respuesta. |
currency | string | Moneda del precio — `MXN`: Pesos mexicanos; `USD`: Dólares estadounidenses. |
billing_interval | string | Cadencia de facturación — `once`: Ciclo único, sin renovación automática; `month`: Cada mes; `year`: Cada año. |
overage_enabled | boolean | `true` cuando el usuario aceptó cobro por excedente en un plan `hybrid`. En ese caso, `effective_limit` salta de `included_validations` a `monthly_validation_limit`. |
included_validations | integer | null | Validaciones incluidas en la cuota base antes del cobro por excedentes. `null` cuando el plan no tiene cuota base. |
monthly_validation_limit | integer | Tope de validaciones por ciclo de la suscripción. `0` no permite validaciones. En planes `hybrid`, es el tope duro cuando `overage_enabled` es `true`; cuando es `false`, `effective_limit` usa `included_validations`. En los demás modelos, es el límite efectivo salvo que exista un ajuste administrativo. |
beneficiaries_max | integer | Tope de beneficiarios registrados por cuenta. `-1` significa sin tope; desde `0`, el valor se aplica como límite. |
bulk_validations_max | integer | Cantidad máxima de validaciones por trabajo de importación. `0` no permite importar validaciones. |
effective_limit | integer | Límite efectivo de validaciones para el ciclo actual. Incorpora los ajustes administrativos y, en planes `hybrid`, la regla de `overage_enabled`. Es el valor contra el que se decide si una validación se atiende o se rechaza. |
is_stripe | boolean | `true` cuando `source` es `stripe`. |
stripe_subscription_id | string | null | Identificador de la suscripción en Stripe (`sub_...`). `null` cuando `source` no es `stripe`. |
grant_reason | string | null | Motivo registrado cuando la suscripción fue otorgada por un administrador. `null` cuando `source` no es `admin_granted`. |
cancel_at_period_end | boolean | `true` cuando la suscripción está programada para cancelarse al cierre del ciclo actual. |
cancel_at | string | null | Fecha y hora programada para la cancelación, en ISO 8601 UTC. `null` cuando no hay una cancelación programada mediante `cancel_at`. |
canceled_at | string | null | Fecha y hora en que la cancelación se consumó, en ISO 8601 UTC. `null` mientras la suscripción está activa. |
trial_start | string | null | Fecha y hora de inicio del periodo de prueba, en ISO 8601 UTC. `null` cuando no hay periodo de prueba. |
trial_end | string | null | Fecha y hora de fin del periodo de prueba, en ISO 8601 UTC. `null` cuando no hay periodo de prueba. |
Usado en operaciones
GET /v1/billing/subscriptionPOST /v1/billing/subscription/refreshGET /v1/admin/billing/subscriptions/{user_id}POST /v1/billing/overage/enableDELETE /v1/billing/overage/disable