Actualizar configuración de Stripe
POST/payment/withStripe
Habilita o deshabilita los pagos con Stripe para el transportista.
Flujo técnico:
- Verifica autenticación del usuario
- Obtiene la compañía asociada al usuario
- Valida que los términos estén aceptados si se habilita Stripe
- Si se habilita y no existe cuenta Stripe, la crea
- Actualiza estado in payment_settings.withStripe
- Guarda cambios en la compañía
Acciones realizadas:
- Si enabled=true:
- Crea cuenta Stripe si no existe (usando toolsStripe.registerOnStripe)
- Actualiza payment_settings.withStripe a true
- Si enabled=false:
- Actualiza payment_settings.withStripe a false
- No elimina la cuenta Stripe
Validaciones:
- Usuario debe estar autenticado (JWT válido)
- Usuario debe pertenecer a una compañía válida
- Para habilitar (enabled=true):
- Términos deben estar aceptados
- Email de facturación debe estar configurado
Ejemplo de request:
// Frontend: Habilitar pagos con Stripe
const enableStripePayments = async () => {
try {
const response = await axios.post(
'/truckers/payment/withStripe',
{ enabled: true },
{ headers: { Authorization: `Bearer ${token}` } }
);
if (response.data.success) {
showSuccessMessage(); // Mostrar confirmación
}
} catch (error) {
handleError(error);
}
};
Casos de error:
- 400 Bad Request: Parámetro enabled no proporcionado
- 401 Unauthorized:
- Token JWT inválido
- Usuario no tiene compañía asociada
- Términos no aceptados (al habilitar)
- Error al conectar con Stripe
- 500 Internal Server Error: Error al guardar configuración
Request
Responses
- 200
- 401
Configuración actualizada exitosamente
No autorizado. Posibles causas:
- Token JWT inválido
- Usuario no tiene compañía asociada
- Términos no aceptados (al habilitar)
- Error al conectar con Stripe