Aceptar términos y condiciones de pagos
POST/payment/terms
Registra la aceptación de los términos y condiciones para procesar pagos con Stripe.
Acciones realizadas:
- Registra timestamp e IP de aceptación
- Crea cuenta Stripe para la compañía si no existe (usando toolsStripeCia.updateOnStripe)
- Actualiza payment_settings.tos_acceptance en la compañía
- Habilita pagos con Stripe si todo es exitoso
Validaciones:
- Usuario debe estar autenticado (JWT válido)
- Usuario debe pertenecer a una compañía válida
- La compañía debe existir en la base de datos
Flujo técnico:
- Obtiene datos del usuario y compañía
- Prepara datos de aceptación (timestamp, IP)
- Si no existe cuenta Stripe, la crea
- Actualiza registro de términos aceptados
- Guarda cambios en la compañía
Respuestas posibles:
- 200 OK: Términos aceptados exitosamente
- 401 Unauthorized:
- Token JWT inválido
- Usuario no pertenece a compañía válida
- Error al crear cuenta Stripe
Ejemplo de request:
// Frontend: Enviar aceptación de términos
const acceptTerms = async () => {
try {
const response = await axios.post(
'/truckers/payment/terms',
{},
{ headers: { Authorization: `Bearer ${token}` } }
);
if (response.data.success) {
proceedToPayments(); // Continuar a sección de pagos
}
} catch (error) {
handleError(error);
}
};
Notas importantes:
- Este endpoint es requisito para habilitar pagos con Stripe
- Solo se puede llamar una vez (la aceptación es permanente)
- Registra la IP del servidor, no del cliente
Responses
- 200
- 401
Términos aceptados exitosamente
No autorizado. Posibles causas:
- Token JWT inválido
- Usuario no pertenece a una compañía válida
- Error al crear cuenta Stripe