Saltar al contenido principal
Traducción Automática

Esta página utiliza traducción automática. Para cualquier inconsistencia, consulte la documentación en inglés.

Callbacks

Información General

  • Representa una solicitud HTTP POST al sistema del cliente en una URL configurada en la cuenta personal
  • Los datos en el cuerpo de la solicitud y respuesta están disponibles en formato JSON
  • La solicitud contiene encabezados:
    • Content-Type: application/json
    • User-Agent: información sobre el sistema que realiza la llamada
  • Las fechas se transmiten en UTC en formato ISO 8601. Por ejemplo: 2024-07-02T12:50:30Z

Requisitos de URL de Callback

  1. Usar protocolo seguro HTTPS
  2. Usar nombres de dominio, no direcciones IP

Autenticación

La autenticación para callbacks se realiza enviando encabezados en la solicitud, similar a los encabezados para la autorización de solicitudes API (ver sección Autorización).

Verificación de Callback

Para evitar fraudes, el sistema del cliente debe verificar los valores de encabezado de callback especificados de la siguiente manera:

  1. La diferencia entre la hora actual del servidor y el valor del encabezado X-Processing-Timestamp no excede el valor del encabezado X-Processing-RecvWindow
  2. El valor del encabezado X-Processing-Key coincide con el valor de la clave de acceso API pública activa del cliente
  3. El valor del encabezado X-Processing-Signature coincide con la firma de los datos de la solicitud con la clave secreta

Manejo de Callbacks

Respuesta Exitosa

Si la solicitud de callback es exitosa, el sistema del cliente debe responder con código HTTP 200 OK.

Idempotencia

Si después de una respuesta exitosa a una solicitud de callback, llega nuevamente una solicitud similar, es necesario generar la misma respuesta que para la anterior.

Las solicitudes se consideran similares si tienen valores idénticos para los siguientes parámetros en el cuerpo de la solicitud:

  • type - Tipo de transacción
  • id - Identificador de transacción en el sistema de procesamiento
  • status - Estado de la transacción

Unicidad de Transacción

Para determinar si múltiples callbacks se relacionan con una transacción o con diferentes, use la combinación de parámetros type e id del elemento raíz en el JSON del callback. Esta combinación es única para todas las transacciones.

Política de Reintentos

Códigos sin Reintento

El callback no se reintentará al recibir una respuesta del sistema del cliente con los siguientes códigos HTTP:

  • 1xx
  • 3xx
  • 4xx

Códigos con Reintento

En caso de una respuesta con código HTTP 5xx, el callback permanece en la cola de envío y los intentos de envío continúan según una política de retroceso exponencial.

Fórmula de cálculo de retroceso:

60 segundos + {número de reintentos}^4

Número máximo de intentos de reintento: 10

Intervalos de Reintento

IntentoIntervaloTiempo Total
161 seg61 seg
276 seg137 seg
3141 seg278 seg
4361 seg594 seg
5685 seg1,279 seg
61,356 seg2,635 seg
72,461 seg5,096 seg
84,156 seg9,252 seg
96,621 seg15,873 seg
1010,060 seg25,933 seg (~7.2 horas)