Access Stripe customer portal to manage subscription
POST/company/payment/changePlans
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 > nowantes 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_customerconfigurado en la compañía
Request
Responses
- 200
- 400
- 401
- 404
- 500
URL del portal de cliente de Stripe
Response Headers
URL de retorno no proporcionada
Response Headers
Compañía no encontrada
Response Headers
Usuario no encontrado o cuenta expirada
Response Headers
Error al crear sesión del portal