Pular para o conteúdo principal

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:

  1. Verifica autenticación del usuario
  2. Obtiene la compañía asociada al usuario
  3. Verifica que no se exceda el límite de métodos de pago (máx. 10)
  4. Crea una sesión en el portal de Stripe para añadir métodos
  5. 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

URL del portal de Stripe para configurar método de pago