Register company as Stripe customer
POST/company/payment/register_stripe
Crea un cliente en Stripe para el usuario autenticado si aún no tiene uno registrado, y retorna el ID del cliente.
Objective
Inicializar la relación entre el usuario de la compañía y Stripe,
obteniendo el stripe_customer ID necesario para todas las operaciones
de pago posteriores.
Use Cases
- Primer registro antes de configurar métodos de pago
- Verificar si el usuario ya está registrado en Stripe
- Prerequisito para suscripciones y pagos
Validation Flow
flowchart TD
A[Receive Request] --> B{User authenticated?}
B -->|No| C[404 USER_NOT_FOUND]
B -->|Yes| D{User in DB?}
D -->|No| E[401 USER_NOT_FOUND]
D -->|Yes| F{stripe_customer exists?}
F -->|Yes| G[Return existing ID]
F -->|No| H[Create Stripe customer]
H --> I{Created OK?}
I -->|No| J[401 STRIPE_ACCOUNT_NOT_CREATED]
I -->|Yes| K[Save ID to user.payment_settings]
K --> L[200 success + stripe_customer]
G --> L
Notes
- Requiere autenticación JWT (bearerAuth)
- Idempotente: si ya existe
stripe_customer, retorna el ID existente - Opera sobre el
company_user, no sobre la compañía directamente - Sin body requerido
Request
Responses
- 200
- 401
- 404
Cliente Stripe registrado exitosamente o ya existente
Response Headers
Usuario no encontrado en BD o error al crear cuenta en Stripe
Response Headers
Usuario autenticado no encontrado