subscription-exists
HTTP 409 Conflict
POST /v1/billing/checkout no inicia un segundo checkout porque la organización ya tiene una suscripción. La API pregunta primero a Stripe sobre la suscripción almacenada: los estados active, trialing, past_due, unpaid y paused se consideran existentes. Si la suscripción almacenada ya no existe en Stripe o ha finalizado, la API elimina la referencia y el checkout continúa.
Qué hacer
Cambia o cancela el plan en el portal de facturación; GET /v1/billing/portal devuelve su dirección. Además de los campos estándar, la respuesta contiene current_plan y subscription_status.
{ "type": "https://docs.qr3.app/errors/subscription-exists", "title": "Subscription already active", "status": 409, "detail": "This organization already has an active subscription. Manage or change it in the billing portal (GET /v1/billing/portal) instead of starting a new checkout.", "current_plan": "pro", "subscription_status": "active"}