Crear pago

POST /payments

Registra un nuevo pago para análisis

Cuerpo de la solicitud

paymentobjectrequired
payment object
idstring \| null

Identifique el pago a través de un código único que no se repite en la misma cuenta. Si no se proporciona, se generará un identificador aleatorio.

typestring enumrequired

Tipo del pago

Allowed: purchase verify
statusstring enum

Estado del pago. Consulte la documentación para más detalles sobre los estados posibles.

Allowed: initiated succeeded declined failed blocked
currencystringrequired

Moneda del pago de acuerdo con el estándar ISO 4217.

amountfloat

Valor con dos decimales. Utilice "." como separador decimal.

timestampdate-time \| null

Fecha y hora en que se inició el pago en formato ISO 8601. Si no se envía, se usará la hora actual. El plazo máximo para envío retroactivo (backfill) es de 24 horas. No se permiten horarios futuros.

methodobjectrequired

Método de pago. Preferentemente, envíe toda la información disponible en esta solicitud. Si algún dato no está disponible en esta etapa de su flujo, es posible enviarlo posteriormente a través del mismo parámetro en la operación de actualización.

method object
typestring enumrequired

Tipo del método de pago.

Allowed: credit_card debit_card
cardobjectrequired
card object
networkstring enumrequired

Red de tarjeta

Allowed: visa mastercard american_express diners_club elo hipercard jcb discover other
presencestring enumrequired

Indica si la transacción fue realizada con tarjeta presente (CP) o tarjeta no presente (CNP). Consulte la documentación sobre presencia de tarjetas para más información.

Allowed: card_present card_not_present
binstring \| null

Primeros 8 números del PAN que identifican al emisor de la tarjeta (conocido también como IIN)

last_fourstring \| null

Últimos 4 números del PAN

backendobject

Información sobre el servidor externo que está enviando la solicitud a su API backend. Asegúrese de que los datos enviados son del servidor remoto fuera de su perímetro de seguridad, y no de servidores intermediarios dentro de su infraestructura.

backend object
ip_addressstring \| null

Dirección IPv4 o IPv6 del servidor externo. Si este dato no está disponible, deje el campo en blanco. Las direcciones privadas serán ignoradas en el análisis.

headersobject \| null

Encabezados HTTP enviados por el servidor externo. Si es posible, envíe todos. De lo contrario, envíe como mínimo `User-Agent`, `Accept`, `Accept-Encoding`, `Accept-Language` y `Host`. Los encabezados confidenciales usados para autenticación y sesión serán eliminados automáticamente.

deviceobject

Información sobre el dispositivo del usuario, si el pago fue realizado en ambiente online (web o aplicación). No envíe este bloque para intentos iniciados sin la interacción directa del usuario (renovación de la recurrencia, por ejemplo).

device object
ip_addressstring \| null

Dirección IPv4 o IPv6 del dispositivo del usuario. Si este dato no está disponible, deje el campo en blanco. Las direcciones privadas serán rechazadas.

headersobject \| null

Encabezados HTTP enviados por el dispositivo del usuario en la solicitud. Si es posible, envíe todos. De lo contrario, envíe como mínimo `User-Agent`, `Accept`, `Accept-Encoding`, `Accept-Language` y `Host`. Los encabezados confidenciales usados para autenticación y sesión serán eliminados automáticamente.

fingerprintobject

Huella digital del dispositivo del usuario.

fingerprint object
idstringrequired

Código identificador único de la huella digital del dispositivo.

providerstring enumrequired

Proveedor del servicio de recolección de la huella digital.

Allowed: fingerprintjs basic
userobject

Información sobre el usuario que está efectuando el pago.

user object
idstring \| null

Código identificador del usuario.

emailstring \| null

Email del usuario. Si desea el análisis sin datos personales, informe solo el dominio (ej. `gmail.com`).

orderobject

Información sobre la compra.

order object
idstring \| null

Código identificador opcional del pedido (o compra, mensualidad, carrito, etc). Los reintentos de pago en la misma compra deben usar la misma identificación para rastrear la cantidad de intentos. Consulte la documentación para más detalles sobre el código del pedido.

merchantobjectrequired

Información sobre el establecimiento. Utilice este campo para informar la unidad de negocio, franquicia o empresa que está realizando la operación.

merchant object
idstringrequired

Código identificador del establecimiento que está realizando la operación.

countrystring \| null

País del establecimiento de acuerdo con el formato ISO 3166-1 alfa-2 (2 caracteres).

category_codestring \| null

Código de categoría de la empresa (MCC) de acuerdo con el estándar ISO 18245.

transactionsarray

Lista de intentos de transacción para este pago. Obligatorio si el `status` del pago es `succeeded` o `declined`. Recomendable para `failed` y `blocked` si hay intentos de transacción.

transactions[] item
idstring

Código identificador único de la transacción. Consulte la documentación para más detalles sobre el código de la transacción.

statusstring enumrequired

Estado de retorno del intento de transacción. Consulte la documentación para más detalles sobre los estados posibles.

Allowed: succeeded declined failed
durationinteger

Tiempo de ejecución de la transacción en milisegundos (1 segundo = 1000 milisegundos).

timestampdate-time \| null

Fecha y hora en que se inició la transacción en formato ISO 8601. Si no se envía, se usará la hora actual. El plazo máximo para envío retroactivo (backfill) es de 24 horas. No se permiten horarios futuros.

connectorobjectrequired

Información sobre el conector de pago utilizado en la transacción. El conector puede ser un adquirente, un subadquirente o un gateway.

connector object
idstringrequired

Código de la integración con el conector. Informe un código que represente un contrato de afiliación o una conexión de integración específica. Recomendamos prefijar el código con el tipo del conector para facilitar consultas en reportes.

typestringrequired

Tipo del conector. Consulte la documentación para obtener la lista completa.

response_codestring \| null

Código de respuesta alfanumérico del intento. Para tarjeta de crédito en Brasil, utilizar preferentemente el estándar determinado por la normativa 21 de ABECS. Obligatorio si `transaction.status` es `succeeded` o `declined`. Recomendable para `failed` cuando está presente.

metadataobject \| null

Metadatos adicionales. Para información sobre requisitos y límites, consulte la documentación.

analyzeobject

Habilita el análisis del pago.

analyze object
ruleobject \| null

Informe, opcionalmente, la regla a aplicar en la recomendación de riesgo.

rule object
namestring \| null

Nombre de la regla, según registrado previamente. Si la regla informada no existe o no posee versión activa publicada, la solicitud no fallará y la recomendación de riesgo será proporcionada de acuerdo con la configuración predeterminada de la cuenta.

bot_behaviourboolean

Detecta comportamiento automatizado (robots, scripts, etc.)

Respuestas

201Pago creado con éxito
Response body
paymentobject
payment object
idstring

Código identificador del pago creado.

statusstring

Estado del pago.

analysesobject

Resultado de los análisis solicitados.

analyses object
bot_behaviourobject
bot_behaviour object
actionstring enum

Acción recomendada de acuerdo con el score de riesgo y la configuración en el panel de administración.

Allowed: allow challenge deny
scorefloat

Score (puntuación de riesgo) en formato decimal entre `0.00` y `1.00` con dos decimales. Cuanto más cercano a 1, mayor la probabilidad de que el pago haya sido realizado por un bot. Este es solo un campo informativo. Recomendamos utilizar la recomendación del campo `action` para implementar la toma de decisiones. Para simular un score arbitrario en la cuenta de pruebas, verifique la documentación.

401Credenciales de acceso inválidas
Response body
errorsarray
errors[] item
fieldstring

Campo de la solicitud donde ocurrió el error

typestring

Código del tipo del error

messagestring

Mensaje del error

422Parámetros inválidos
Response body
errorsarray
errors[] item
fieldstring

Campo de la solicitud donde ocurrió el error

typestring

Código del tipo del error

messagestring

Mensaje del error

{
  "payment": {
    "id": "string",
    "type": "purchase",
    "status": "initiated",
    "currency": "BRL",
    "amount": 10.23,
    "timestamp": "2024-01-01T00:00:00Z",
    "method": {
      "type": "credit_card",
      "card": {
        "network": null,
        "presence": null,
        "bin": null,
        "last_four": null
      }
    },
    "backend": {
      "ip_address": "200.200.200.200",
      "headers": {
        "User-Agent": "Java-Http-Client/11.0",
        "Accept": "application/json",
        "EveryOtherHeader": "value"
      }
    },
    "device": {
      "ip_address": "200.200.200.200",
      "headers": {
        "User-Agent": "Chrome",
        "Accept": "text/html,application/xhtml+xml",
        "EveryOtherHeader": "value"
      },
      "fingerprint": {
        "id": null,
        "provider": null
      }
    },
    "user": {
      "id": "string",
      "email": "teste@gmail.com"
    },
    "order": {
      "id": "string"
    },
    "merchant": {
      "id": "string",
      "country": "BR",
      "category_code": "7997"
    },
    "transactions": [
      {
        "id": null,
        "status": null,
        "duration": null,
        "timestamp": null,
        "connector": null
      }
    ],
    "metadata": {
      "plano": "premium_1",
      "categoria_do_cliente": "vip"
    },
    "analyze": {
      "rule": {
        "name": null
      },
      "bot_behaviour": false
    }
  }
}