Cria pagamento

POST /payments

Cadastra um novo pagamento para análise

Corpo da requisição

paymentobjectobrigatório
payment object
idstring \| null

Identifique o pagamento através de um código único que não se repete na mesma conta. Se não fornecido, um identificador aleatório será gerado.

typestring enumobrigatório

Tipo do pagamento

Allowed: purchase verify
statusstring enum

Status do pagamento. Consulte a documentação para mais detalhes sobre os status possíveis.

Allowed: initiated succeeded declined failed blocked
currencystringobrigatório

Moeda do pagamento de acordo com o padrão ISO 4217.

amountfloat

Valor com duas casas decimais. Utilize "." como separador decimal.

timestampdate-time \| null

Data e hora em que o pagamento foi iniciado no formato ISO 8601. Se não for enviado, o horário atual será usado. O prazo máximo para envio retroativo (backfill) é 24 horas. Horários no futuro não são permitidos.

methodobjectobrigatório

Método de pagamento. Preferencialmente, envie todas as informações disponíveis nesta requisição. Caso algum dado não esteja disponível nesta etapa do seu fluxo, é possível enviá-lo posteriormente através do mesmo parâmetro na operação de atualização.

method object
typestring enumobrigatório

Tipo do método de pagamento.

Allowed: credit_card debit_card
cardobjectobrigatório
card object
networkstring enumobrigatório

Bandeira

Allowed: visa mastercard american_express diners_club elo hipercard jcb discover other
presencestring enumobrigatório

Indica se a transação foi realizada com cartão presente (CP) ou cartão não presente (CNP). Consulte a documentação sobre presença de cartões para mais informações.

Allowed: card_present card_not_present
binstring \| null

Primeiros 8 números do PAN que identificam o emissor do cartão (conhecido também como IIN)

last_fourstring \| null

Últimos 4 números do PAN

backendobject

Informações sobre o servidor externo que está enviando a requisição para sua API backend. Certifique-se que os dados enviados são do servidor remoto fora do seu perímetro de segurança, e não de servidores intermediários dentro da sua infraestrutura.

backend object
ip_addressstring \| null

Endereço IPv4 ou IPv6 do servidor externo. Se este dado não estiver disponível, deixe o campo em branco. Endereços privados serão ignorados na análise.

headersobject \| null

Cabeçalhos HTTP enviados pelo servidor externo. Se possível, envie todos. Caso contrário, envie no mínimo `User-Agent`, `Accept`, `Accept-Encoding`, `Accept-Language` e `Host`. Cabeçalhos confidenciais usados para autenticação e sessão serão removidos automaticamente.

deviceobject

Informações sobre o dispositivo do usuário, caso o pagamento tenha sido realizado em ambiente online (web ou aplicativo). Não envie este bloco para tentativas iniciadas sem a interação direta do usuário (renovação da recorrência, por exemplo).

device object
ip_addressstring \| null

Endereço IPv4 ou IPv6 do dispositivo do usuário. Se este dado não estiver disponível, deixe o campo em branco. Endereços privados serão recusados.

headersobject \| null

Cabeçalhos HTTP enviados pelo dispositivo do usuário na requisição. Se possível, envie todos. Caso contrário, envie no mínimo `User-Agent`, `Accept`, `Accept-Encoding`, `Accept-Language` e `Host`. Cabeçalhos confidenciais usados para autenticação e sessão serão removidos automaticamente.

fingerprintobject

Impressão digital do dispositivo do usuário.

fingerprint object
idstringobrigatório

Código identificador único da impressão digital do dispositivo.

providerstring enumobrigatório

Fornecedor do serviço de coleta da impressão digital.

Allowed: fingerprintjs basic
userobject

Informações sobre o usuário que está efetuando o pagamento.

user object
idstring \| null

Código identificador do usuário.

emailstring \| null

Email do usuário. Se desejar a análise sem dados pessoais, informe apenas o domínio (ex. `gmail.com`).

orderobject

Informações sobre a compra.

order object
idstring \| null

Código identificador opcional do pedido (ou compra, mensalidade, carrinho, etc). Retentativas de pagamento na mesma compra devem usar a mesma identificação para rastrear a quantidade de tentativas. Consulte a documentação para mais detalhes sobre o código do pedido.

merchantobjectobrigatório

Informações sobre o estabelecimento. Utilize este campo para informar a unidade de negócio, franquia ou empresa que está realizando a operação.

merchant object
idstringobrigatório

Código identificador do estabelecimento que está realizando a operação.

countrystring \| null

País do estabelecimento de acordo com o formato ISO 3166-1 alfa-2 (2 caracteres).

category_codestring \| null

Código de categoria da empresa (MCC) de acordo com o padrão ISO 18245.

transactionsarray

Lista com as tentativas de transação para este pagamento. Obrigatório se o `status` do pagamento for `succeeded` ou `declined`. Recomendável para `failed` e `blocked` se houverem tentativas de transação.

transactions[] item
idstring

Código identificador único da transação. Consulte a documentação para mais detalhes sobre o código da transação.

statusstring enumobrigatório

Status de retorno da tentativa de transação. Consulte a documentação para mais detalhes sobre os status possíveis.

Allowed: succeeded declined failed
durationinteger

Tempo de execução da transação em milissegundos (1 segundo = 1000 milissegundos).

timestampdate-time \| null

Data e hora em que a transação foi iniciada no formato ISO 8601. Se não for enviado, o horário atual será usado. O prazo máximo para envio retroativo (backfill) é 24 horas. Horários no futuro não são permitidos.

connectorobjectobrigatório

Informações sobre o conector de pagamento utilizado na transação. O conector pode ser uma adquirente, um subadquirente ou um gateway.

connector object
idstringobrigatório

Código da integração com o conector. Informe um código que represente um contrato de filiação ou uma conexão de integração específica. Recomendamos prefixar o código com o tipo do conector para facilitar consultas em relatórios.

typestringobrigatório

Tipo do conector. Consulte a documentação para obter a lista completa.

response_codestring \| null

Código de resposta alfanumérico da tentativa. Para cartão de crédito no Brasil, utilizar preferencialmente o padrão determinado pela normativa 21 da ABECS. Obrigatório se `transaction.status` for `succeeded` ou `declined`. Recomendável para `failed` quando presente.

metadataobject \| null

Metadados adicionais. Para informações sobre requisitos e limites, consulte a documentação.

analyzeobject

Habilita a análise do pagamento.

analyze object
ruleobject \| null

Informe, opcionalmente, a regra a ser aplicada na recomendação de risco.

rule object
namestring \| null

Nome da regra, conforme cadastrado previamente. Se a regra informada não existir ou se não possuir versão ativa publicada, a requisição não irá falhar e a recomendação de risco será fornecida de acordo com a configuração padrão da conta.

bot_behaviourboolean

Detecta comportamento automatizado (robôs, scripts, etc)

Respostas

201Pagamento criado com sucesso
Response body
paymentobject
payment object
idstring

Código identificador do pagamento criado.

statusstring

Status do pagamento.

analysesobject

Resultado das análises solicitadas.

analyses object
bot_behaviourobject
bot_behaviour object
actionstring enum

Ação recomendada de acordo com o score de risco e a configuração no painel de adminstração.

Allowed: allow challenge deny
scorefloat

Score (pontuação de risco) no formato decimal entre `0.00` e `1.00` com duas casas decimais. Quanto mais próximo de 1, maior a probabilidade do pagamento ter sido realizado por um bot. Este é apenas um campo informativo. Recomendamos utilizar a recomendação do campo `action` para implementar a tomada de decisão. Para simular um score arbitrário na conta de testes, verifique a documentação.

401Credenciais de acesso inválidas
Response body
errorsarray
errors[] item
fieldstring

Campo da requisição onde ocorreu o erro

typestring

Código do tipo do erro

messagestring

Mensagem do erro

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

Campo da requisição onde ocorreu o erro

typestring

Código do tipo do erro

messagestring

Mensagem do erro

{
  "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
    }
  }
}