Set default payment method
POST/company/payment/default_payment_method/:id
Designa un método de pago existente como el predeterminado para todas las operaciones de pago futuras de la compañía.
Objective
Actualizar payment_settings.default_payment_method en la compañía
para que los pagos de entregas se procesen con esa tarjeta.
Use Cases
- Seleccionar la tarjeta principal tras añadir una nueva
- Cambiar el método predeterminado tras renovar una tarjeta
- Designar método activo antes de procesar una entrega
Validation Flow
flowchart TD
A[Receive Request - id] --> B{User authenticated?}
B -->|No| C[404 USER_NOT_FOUND]
B -->|Yes| D{Company found?}
D -->|No| E[401 CIA_NOT_FOUND]
D -->|Yes| F{stripe_customer exists?}
F -->|No| G[404 STRIPE_CUSTOMER_NOT_FOUND]
F -->|Yes| H{PM belongs to customer?}
H -->|No| I[401 PAYMENT_METHOD_NOT_FOUND]
H -->|Yes| J[Set as default_payment_method]
J --> K[Save company]
K --> L[200 success: true]
Notes
- Requiere autenticación JWT (bearerAuth)
- Solo un método puede ser predeterminado a la vez
- La validación de propiedad verifica que el PM pertenece al
stripe_customerde la compañía - El cambio es inmediato y aplica a los próximos pagos de entrega
Request
Responses
- 200
- 401
- 404
- 500
Método de pago establecido como predeterminado
Response Headers
Compañía no encontrada o método no pertenece a la compañía
Response Headers
Usuario o cliente Stripe no encontrado
Response Headers
Error al guardar