Configurar nuevo método de pago
POST/payment/setup_payment_method
Genera una URL para configurar un nuevo método de pago en Stripe.
Flujo técnico:
- Verifica autenticación del usuario
- Obtiene la compañía asociada al usuario
- Verifica que no se exceda el límite de métodos de pago (máx. 10)
- Crea una sesión en el portal de Stripe para añadir métodos
- Devuelve URL para redireccionar al usuario
Validaciones:
- Usuario debe estar autenticado (JWT válido)
- Usuario debe pertenecer a una compañía válida
- La compañía debe tener cuenta Stripe asociada
- No debe exceder el límite de métodos de pago (10)
Parámetros requeridos:
- returnUrl: URL a la que Stripe redirigirá después de configurar el método
Ejemplo de request:
{
"returnUrl": "https://app.cargoffer.com/payment/success"
}
Ejemplo de respuesta exitosa:
{
"url": "https://checkout.stripe.com/setup/cs_test_abc123"
}
Casos de error:
- 400 Bad Request:
- Falta parámetro returnUrl
- Límite de métodos de pago alcanzado (10)
- 401 Unauthorized:
- Token JWT inválido
- Usuario no tiene compañía asociada
- No hay cuenta Stripe configurada
- 500 Internal Server Error: Error al conectar con Stripe
Ejemplo de uso en frontend:
// Frontend: Configurar nuevo método de pago
const setupPaymentMethod = async (returnUrl) => {
try {
const response = await axios.post(
'/truckers/payment/setup_payment_method',
{ returnUrl },
{ headers: { Authorization: `Bearer ${token}` } }
);
if (response.data.url) {
window.location.href = response.data.url; // Redirigir a Stripe
}
} catch (error) {
handleError(error);
}
};
Request
Responses
- 200
- 400
- 401
URL del portal de Stripe para configurar método de pago
Solicitud incorrecta. Posibles causas:
- Falta parámetro returnUrl
- Límite de métodos de pago alcanzado (10)
No autorizado. Posibles causas:
- Token JWT inválido
- Usuario no tiene compañía asociada
- No hay cuenta Stripe configurada