Configurar nuevo método de pago
POST/company/payment/setup_payment_method
Purpose
Genera una URL del portal de Stripe para que la compañía pueda agregar un nuevo método de pago (tarjeta de crédito/débito) de forma segura.
Objective
Redirigir al usuario al portal de Stripe donde puede registrar su información de tarjeta sin exponer datos sensibles al backend.
Use Cases
- Agregar la primera tarjeta de crédito/débito
- Añadir métodos de pago adicionales (máx. 10)
- Reemplazar tarjetas caducadas con nuevas
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{stripe_customer exists?}
H -->|No| I[404 STRIPE_CUSTOMER_NOT_FOUND]
H -->|Yes| J{Count < 10?}
J -->|No| K[200 - Empty string]
J -->|Yes| L[Create payment methods portal]
L --> M[200 - Portal URL]
Notes
- Requiere autenticación JWT (bearerAuth)
- Límite de 10 métodos de pago por compañía; si se alcanza retorna
""(string vacío) - Requiere que la compañía tenga
stripe_customer(usar/register_stripeprimero) - La
returnUrles donde Stripe redirige al usuario tras añadir el método
Request
Responses
- 200
- 400
- 401
- 404
- 500
URL del portal o string vacío si se alcanzó el límite de 10
Response Headers
URL de retorno no proporcionada
Response Headers
Compañía no encontrada
Response Headers
Usuario o cliente Stripe no encontrado
Response Headers
Error al crear sesión del portal