Skip to main content

Acceder al portal de cliente de Stripe para gestionar suscripción

POST 

/company/payment/changePlans

Purpose

Genera una sesión del portal de cliente de Stripe donde la compañía puede gestionar su suscripción, cambiar de plan, actualizar tarjeta o ver facturas.

Objective

Proporcionar acceso al portal self-service de Stripe con validación de que la cuenta esté activa y no expirada.

Use Cases

  • Cambiar de plan Basic a Professional o viceversa
  • Cancelar suscripción activa
  • Actualizar método de pago de la suscripción
  • Ver historial de facturas de Stripe
  • Descargar facturas en PDF

Validation Flow

flowchart TD
A[Receive Request - returnUrl] --> B{returnUrl provided?}
B -->|No| C[400 MISSING_RETURN_URL]
B -->|Yes| D{User authenticated?}
D -->|No| E[404 USER_NOT_FOUND]
D -->|Yes| F{Company found?}
F -->|No| G[401 CIA_NOT_FOUND]
F -->|Yes| H{UserActivity exists?}
H -->|No| I[404 USER_NOT_FOUND]
H -->|Yes| J{Account not expired?}
J -->|Expired| K[404 USER_EXPIRED]
J -->|Active| L[Create Customer Portal session]
L --> M[200 Portal URL]

Notes

  • Requiere autenticación JWT (bearerAuth)
  • A diferencia del módulo truckers, valida que la cuenta no esté expirada
  • Verifica userActivity.dateEnd > now antes de crear la sesión
  • La URL de retorno (returnUrl) es obligatoria en el body
  • La sesión del portal expira en ~5 minutos (comportamiento de Stripe)
  • Requiere stripe_customer configurado en la compañía

Request

Responses

URL del portal de cliente de Stripe

Response Headers