🛡️ Antifraude
📋 Visão Geral
O módulo de Antifraude permite enviar pagamentos de pedido para análise em uma integração antifraude configurada na loja e consultar o resultado dessa análise a qualquer momento.
O envio manual é utilizado quando a análise antifraude não é disparada automaticamente no checkout — por exemplo, em reprocessamentos ou fluxos de pagamento que exigem revisão explícita. Cada operação aceita até 100 pagamentos por requisição.
Além dos endpoints administrativos, a plataforma suporta atualização automática de status via webhook, permitindo que a integração antifraude notifique a loja sobre mudanças no resultado da análise sem intervenção manual.
🔄 Entidades Envolvidas
Cada análise antifraude está vinculada a um pagamento de pedido (OrderPayment) e a uma credencial antifraude (AntiFraudCredential). A credencial agrupa as chaves de acesso à integradora e define as políticas comerciais (tradePolicies) às quais ela se aplica.
Quando nenhuma credencial é informada explicitamente no envio, a plataforma utiliza a credencial padrão associada à política comercial do pedido.
O resultado de cada análise é representado por um status antifraude — os valores possíveis são approved, reproved e pending. A consulta retorna adicionalmente o score de risco (antiFraudScore) fornecido pela integradora, quando disponível.
📌 Notas e Considerações
- O envio manual registra a requisição com o tipo
manual, distinguindo-o das análises disparadas automaticamente pelo checkout. - Operações de envio exigem os escopos
TRANSACTIONS_READeORDER_WRITE; a consulta exige apenasTRANSACTIONS_READ. - Erros por pagamento são retornados no campo
errorde cada item da resposta — o HTTP permanece200mesmo quando ocorrem falhas individuais. - A atualização de status via webhook é processada pela plataforma de forma assíncrona, sem necessidade de nova chamada aos endpoints administrativos.
🔍 Consulta de Antifraude
/orders/payments/anti-fraud/consult
Consulta o resultado da análise antifraude para pagamentos de pedido
📋 Descrição
Endpoint responsável por consultar o status da análise antifraude de um ou mais pagamentos de pedido junto à integração antifraude configurada na loja, retornando o antiFraudStatus e o antiFraudScore de cada pagamento.
A consulta não é apenas uma leitura local — ela aciona a integradora e sincroniza o resultado no registro do pagamento (anti_fraud_status). A operação também registra um log de pagamento com origem ANTI_FRAUD, permitindo rastreabilidade da consulta.
Dependendo da configuração da credencial antifraude, a consulta pode disparar ações automáticas sobre o pagamento: se capture-on-approval estiver ativo, pagamentos aprovados são capturados automaticamente; se cancel-on-failure estiver ativo, pagamentos reprovados são cancelados sem intervenção manual.
O pagamento deve ter sido previamente enviado ao antifraude para que a consulta seja válida. Aceita até 100 pagamentos por requisição.
🔐 Permissão
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentos
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | application/json | Tipo do conteúdo |
📦 Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
orderPaymentIds | array | ✅ Sim | Lista de IDs de pagamento a consultar — máximo 100 |
orderPaymentIds[] | integer | ✅ Sim | ID do pagamento (OrderPayment.id) |
1{2 "orderPaymentIds": [76, 77, 78]3}💡 Exemplo de Requisição
1curl --request GET \2 --url '{{MAIN_URL}}/orders/payments/anti-fraud/consult' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "orderPaymentIds": [76, 77]7 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": [4 {5 "orderPaymentId": 76,6 "antiFraudStatus": "approved",7 "antiFraudScore": 12,8 "error": null9 },10 {11 "orderPaymentId": 77,12 "antiFraudStatus": "review",13 "antiFraudScore": 68,14 "error": null15 }16 ]17}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Erros por Pagamento (campo error)
| Código do Erro | Descrição |
|---|---|
UAPPI_STORE_ORDER_PAYMENT_NOT_FOUND | Pagamento não encontrado com o ID informado |
UAPPI_STORE_ORDER_PAYMENT_ANTI_FRAUD_NOT_FOUND | Nenhuma análise antifraude registrada para o pagamento |
UAPPI_STORE_ORDER_PAYMENT_INTEGRATION_ERROR | Erro na integração — a operadora antifraude retornou uma falha ao consultar o resultado |
🛡️ Envio para Antifraude
/orders/payments/anti-fraud/send
Envia pagamentos de pedido para análise na integração antifraude
📋 Descrição
Endpoint responsável por enviar pagamentos de pedido para análise antifraude, disparando a verificação na integração antifraude configurada na loja.
Utilizado quando a análise antifraude não é disparada automaticamente no checkout ou quando é necessário reenviar um pagamento para reanálise.
Aceita até 100 pagamentos por requisição.
🔐 Permissão
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentosORDER_WRITE— escopo de permissão para operações de escrita em pedidos
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | application/json | Tipo do conteúdo |
📦 Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
payments | array | ✅ Sim | Lista de pagamentos a enviar — máximo 100 |
payments[].orderPaymentId | integer | ✅ Sim | ID do pagamento (OrderPayment.id) |
payments[].paymentAntiFraudCredentialId | integer ou null | ❌ Não | ID da credencial antifraude — usa a padrão da loja quando null |
1{2 "payments": [3 { "orderPaymentId": 76, "paymentAntiFraudCredentialId": null },4 { "orderPaymentId": 77, "paymentAntiFraudCredentialId": 3 }5 ]6}💡 Exemplo de Requisição
1curl --request POST \2 --url '{{MAIN_URL}}/orders/payments/anti-fraud/send' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "payments": [7 { "orderPaymentId": 76, "paymentAntiFraudCredentialId": null }8 ]9 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": [4 {5 "orderPaymentId": 76,6 "antiFraudStatus": "approved",7 "error": null8 },9 {10 "orderPaymentId": 77,11 "antiFraudStatus": "review",12 "error": null13 }14 ]15}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Erros por Pagamento (campo error)
| Código do Erro | Descrição |
|---|---|
UAPPI_STORE_ORDER_PAYMENT_NOT_FOUND | Pagamento não encontrado com o ID informado |
UAPPI_STORE_ORDER_PAYMENT_ANTI_FRAUD_CREDENTIAL_NOT_FOUND | Credencial antifraude não encontrada com o ID informado |
UAPPI_STORE_ORDER_PAYMENT_INTEGRATION_ERROR | Erro na integração — a operadora antifraude retornou uma falha ao processar o envio |