Autenticación de Contratos

Dado que AutoPay enviará peticiones a tu servidor (Balance y Settlement), necesitas un mecanismo para asegurarte de que realmente somos nosotros y no un atacante.

Utilizamos el estándar HTTP Basic Authentication.

Credenciales

A diferencia de la API transaccional, en los contratos tú defines las credenciales y nosotros las utilizamos.

Credencial
Definición
Restricciones
Username
El nombre de usuario que definiste para tu integración.
Máximo 60 caracteres.
Password
La contraseña segura asociada.
Máximo 60 caracteres.

Objeto Authentication

La autenticación se envía en los headers de cada solicitud HTTP.

  • Name
    Authorization
    Type
    string
    is Required
    REQUIRED
    Description

    Header requerido. Se envía con el formato: Basic base64(username:password)

Autenticación de Ejemplo (Header)

Authorization: Basic bWVyY2hhbnRVc2VyOm1lcmNoYW50UGFzcw==

Cómo validar la autenticación

Tu servidor debe interceptar cada petición entrante y ejecutar la siguiente lógica de seguridad antes de procesar cualquier dato de negocio.

Algoritmo de validación

  1. Verificar Cabecera: Confirma que la petición tiene el header Authorization.
  2. Verificar Esquema: Asegúrate de que empieza con la palabra clave Basic.
  3. Decodificar: Toma la cadena después del espacio y decodifícala de Base64 para obtener username:password.
  4. Comparar: Separa el texto por los dos puntos (:) y compara los valores con los que tienes configurados en tus variables de entorno.
  5. Decidir:
    • Si coinciden: Permite el acceso (HTTP 200).
    • Si no coinciden: Rechaza inmediatamente (HTTP 401 Unauthorized).