Antifraude Fiserv
Credenciais necessárias
Como mencionado no capítulo da "Visão Geral - Credenciais necessárias", cada instituição possui um conjunto de credenciais que devem ser obtida para a integração. Os serviços do Antifraude Fiserv Fraud Detect exigem as seguintes credenciais:
- Chave Privada (Identificação da Loja) - Chave Privada do cadastro da loja no Antifraude Fiserv Fraud Detect.
- Chave Pública (Merchant Code) - Chave Publica do cadastro da loja no Antifraude Fiserv Fraud Detect.
IMPORTANTE: As credenciais acima devem ser obtidas com o Antifraude Fiserv Fraud Detect. O lojista deve entrar em contato com o Antifraude Fraud Detect Fiserv e receber as devidas orientações de como obter cada uma dessas credenciais. Após conseguir as credenciais, o lojista deve entrar em contato com o suporte do Carat e passar as credenciais para o cadastro no Carat.
Configuração de URL Web Hook
Para que possamos receber as atualizações de status de transações de análise de risco, é necessário realizar a configuração da URL de Webhook no ambiente de configuração do Antifraude Fiserv Fraud Detect.
URL de Produção:
https://<URLPOSTMANPROD/>/e-sitef/processarPost.se?src=fraud_detect
URL de Homologação:
https://<URLPOSTMAN/>/e-sitef/processarPost.se?src=fraud_detect
Essa URL deve ser configurada para qualquer troca de status. Para realizar essa configuração, por favor entre em contato com o Suporte do Antifraude Fiserv Fraud Detect.
Bandeiras permitidas
O Antifraude Fiserv Fraud Detect suporta qualquer bandeira de cartão.
IMPORTANTE: Apenas as transações de crédito serão efetivamente analisadas pelo Antifraude Fiserv Fraud Detect. Transações de débito serão enviadas para a instituição, porém serão apenas armazenadas para relatório e não serão analisadas.
Funcionalidades suportadas
- Link de Pagamento via Portal
- Link de Pagamento via API
- Pagamento REST
- Pré-Autorização REST
- Pagamento HTML
- Pré Autorização HTML
Parâmetros antifraude do Antifraude Fiserv Fraud Detect (Link de Pagamento via HTML)
Por enquanto, os dados coletados para a análise de risco serão apenas os informados durante o checkout do comprador. Em breve novos campos poderão ser enviados na requisição de criação do pagamento.
Campos coletados durante o Checkout
Os campos coletados durante o checkout são:
| Campo | Descrição do campo | Obrigatório |
|---|---|---|
Primeiro Nome do Comprador | Primeiro nome do cliente que está realizando a compra. | Sim |
Sobrenome do Comprador | Sobrenome do cliente que está realizando a compra. | Sim |
CPF do Comprador | CPF do cliente que está realizando a compra. | Sim |
Telefone | Telefone do cliente que está realizando a compra. | Sim |
E-mail | E-mail do clinte que está realizando a compra. | Sim |
Nome (como está no cartão) | Nome que está impresso no cartão utilizado para a compra. | Sim |
Endereco completo | Endereço completo para cobrança. | Sim |
Complemento | Complemento do endereço de cobrança. | Não |
CEP | CEP do endereço de cobrança. | Sim |
País | País do endereco de cobrança. | Sim |
Estado | Estado do endereço de cobrança. | Sim |
Cidade | Cidade do endereço de cobrança. | Sim |
Exemplo
Exemplo da requisição de pagamento HTML com análise de risco no Antifraude Fiserv Fraud Detect:
{
"merchant_id": "FRAUDDETECT",
"merchant_usn": "803208495",
"order_id": "866705726000010",
"redirect": "A",
"style": "N",
"amount": "100000",
"authenticate": "0",
"transaction_type": "payment",
"payment_link": "true",
"additional_data": {
"currency": "BRL",
"anti_fraud": "enabled_after_auth"
}
}
Antifraude Fiserv Fraud Detect no Link de Pagamento via Portal
Para habilitar a antifraude Antifraude Fiserv Fraud Detect para Links de Pagamento gerados pelo Portal do Lojista, entre em contato com o suporte do Carat.
Antifraude Fiserv Fraud Detect via REST
Após realizar o alinhamento cadastral com o suporte do Carat para habilitar a integração com o serviço de anti-fraude, na inicialização de uma transação Pagamento REST (saiba mais) ou Pré Autorização REST (saiba mais) o lojista deve enviar a propriedade anti_fraud e enviar os devidos parâmetros de anti-fraude (depende da instituição que a sua loja foi configurada), sendo que as duas propriedades devem estar no escopo do objeto additional_data.
O campo anti_fraud determina o modo de aplicação da anti-fraude e pode conter os seguintes valores:
enabled_before_auth- A análise antifraude será realizada ANTES da autorização do pagamento. Caso a análise seja rejeitada, o pagamento não será iniciado. No caso da pré autorização com roteamentos não-SiTef, caso a análise de risco fique como análise manual, a transação de pré será confirmada, cabendo ao Lojista a posterior captura ou cancelamento da pré autorização.enabled_after_auth- A análise antifraude será realizada APÓS a autorização do pagamento. Caso a análise seja rejeitada, o pagamento que já foi autorizado será cancelado. No caso da pré autorização com roteamentos não-SiTef a transação sempre será confirmada, cabendo ao Lojista a posterior captura ou cancelamento da pré autorização.
Para clientes que estão utilizando REST é interessante adicionar as configurações dos links abaixo para melhorar a análise de risco e também para obter o visitor_id.
Parâmetros antifraude do Antifraude Fiserv Fraud Detect
Abaixo segue a relação de parâmetros antifraude processados pelo Antifraude Fiserv Fraud Detect.
Nota: Se estruturas payer, shipment e billing_data forem informadas na chamada ao HTML, elas não serão solicitadas na tela de checkout.
| Parâmetro | Descrição | Obrigatório | Formato |
|---|---|---|---|
additional_data | <td colspan="3" /> Dados adicionais da transação | ||
visitor_id | Identificador do visitante obtido no JavaScript da FraudDetect | NÃO | < 40 AN |
additional_data<br/>.items[] | <td colspan="3" /> Informações relativas aos itens da compra | ||
unit_price | Preço unitário do item em centavos | NÃO | < 10 N |
sku | Código de produto do item | NÃO | < 100 AN |
quantity | Quantidade de itens | NÃO | < 10 N |
id | Identificação única do item que pode ser o código de barras ou UPC do produto. | NÃO | < 100 AN |
title | Nome do produto ou serviço | NÃO | < 100 AN |
discount_amount | Valor de desconto do produto em centavos | NÃO | < 10 N |
description | Descrição do produto | NÃO | < 100 AN |
creation_date | Indica a data de publicação do produto no site da loja (Formato: DD/MM/AAAA) | NÃO | = 10 AN |
additional_data<br/>.payer | <td colspan="3" /> Informações relativas ao comprador | ||
id | Identificador único do cliente. Pode ser qualquer valor (sequencial, documento, e-mail) desde que seja consistente em pedidos futuros. | SIM | < 100 AN |
name | Nome do cliente | SIM | < 100 AN |
surname | Sobrenome do cliente | SIM | < 100 AN |
email | Endereço de e-mail do cliente | SIM | < 100 AN |
born_date | Data de nascimento do cliente (formato : AAAA-MM-DDTHH:MM:SS) | NÃO | = 19 AN |
identification_number | Número de documento fiscal do cliente | NÃO | < 100 AN |
creation_date | Data de criação da conta ou cadastro do cliente no site (formato: DD/MM/AAAA ) | NÃO | = 10 AN |
is_new_client | Boolean indicando se o cliente está usando uma conta recém-criada nesta compra | NÃO | < 5 T/F |
is_vip_client | Boolean indicando se este é um cliente VIP ou comprador frequente. | NÃO | < 5 T/F |
additional_data<br/>.payer<br/>.phones[] | <td colspan="3" /> Informações relativas ao telefone do comprador | ||
ddi | DDI do telefone do cliente | NÃO | < 100 AN |
ddd | DDD do telefone do cliente | NÃO | < 100 AN |
number | Número de telefone do cliente | NÃO | < 100 AN |
additional_data<br/>.billing_data<br/>.address | <td colspan="3" /> Informações relativas à fatura | ||
street_name | Rua da fatura do cliente com o banco | NÃO | < 255 AN |
street_number | Número da rua da fatura do cliente com o banco | NÃO | < 255 AN |
complement | Complemento do endereço de fatura. | NÃO | < 100 AN |
city | Cidade do titular | NÃO | < 100 AN |
state | Estado do titular | NÃO | < 100 AN |
zip_code | CEP do titular | NÃO | < 100 A N |
country | Código do país do titular, seguindo a ISO 3166-1 alfa-3 | NÃO | = 3 AN |
additional_data<br/>.shipment | <td colspan="3" /> Informações relativas à entrega | ||
name | Nome do destinatário | NÃO | < 100 AN |
surname | Sobrenome do destinatário | NÃO | < 100 AN |
additional_data<br/>.shipment<br/>.address | <td colspan="3" /> Informações relativas ao endereço de entrega | ||
street_name | Nome da rua do destinatário | NÃO | < 255 AN |
street_number | Número da rua do destinatário | NÃO | < 255 AN |
complement | Complemento do endereço do destinatário. | NÃO | < 255 AN |
city | Cidade do destinatário | NÃO | < 100 AN |
state | Estado do destinatário | NÃO | < 100 AN |
zip_code | CEP do destinatário | NÃO | < 100 AN |
country | Código do país do destinatário, seguindo a ISO 3166-1 alfa-3 | NÃO | = 3 AN |
additional_data<br/>.travel | <td colspan="3" /> Informações relativas à passagem aérea | ||
transport_type | Tipo de viagem (flight ou bus) | SIM | < 6 AN |
expiration_date | Data de expiração (formato: DD/MM/AAAA ) | NÃO | = 10 AN |
additional_data<br/>.connections[] | <td colspan="3" /> Informações relativas às conexões de viagem | ||
journey_type |
| SIM | < 7 AN |
origin_city | Cidade de origem. | SIM, se transport_type=bus | < 100 AN |
destination_city | Cidade de destino. | SIM, se transport_type=bus | < 100 AN |
from | Código aeroportuário IATA para o aeroporto de origem | SIM, se transport_type=flight | = 3 AN |
to | Código aeroportuário IATA para o aeroporto de destino. | SIM, se transport_type=flight | = 3 AN |
departure_date | Date e hora do embarque (formato: AAAA-MM-DDTHH:MM:SS) | SIM | < 17 AN |
class | Nome da classe (Ex: economy, business e first) | NÃO | < 8 AN |
class_code | Código da classe | NÃO | < 20 AN |
company | Nome da cia aérea | NÃO | < 20 AN |
additional_data<br/>.passengers[] | <td colspan="3" /> Informações relativas aos passageiros | ||
name | Primeiro nome do passageiro | SIM | < 100 AN |
last_name | Sobrenome do passageiro | SIM | < 100 AN |
legal_document | Número do documento | SIM | < 100 AN |
legal_document_type | Tipo do documento (5 = passport, qualquer outro número = id) | SIM | < 8 AN |
birth_date | Data de nascimento do passageiro (formato: AAAA-MM-DDTHH:MM:SS) | NÃO | < 17 AN |
nationality | País de nascimento do passageiro, seguindo a ISO 3166-1 alfa-3 | NÃO | = 3 AN |
is_frequent_traveler | Flag de viajante frequente | NÃO | < 5 T/F |
is_with_special_needs | Flag de viajante com necessidades especiais | NÃO | < 5 T/F |
frequent_flyer_card | Tipo de programa de fidelidade | NÃO | < 255 AN |
customer_class | Categoria do programa de fidelidade | NÃO | < 255 AN |
additional_data<br/>.hotel_reservations[] | <td colspan="3" /> Informações relativas à reserva de hotel | ||
hotel | Nome do hotel | SIM | < 100 AN |
category | Categoria do hotel | NÃO | < 100 AN |
additional_data<br/>.hotel_reservations[]<br/>.address | <td colspan="3" /> Informações relativas ao endereço do hotel | ||
street_name | Rua do hotel | NÃO | < 255 AN |
street_number | Número do hotel | NÃO | < 255 AN |
complement | Complemento do endereço hotel. | NÃO | < 100 AN |
city | Cidade do hotel | NÃO | < 100 AN |
state | Sigla do estado do hotel | NÃO | < 100 AN |
zip_code | CEP do hotel | NÃO | < 100 AN |
country | País do hotel, seguindo a ISO 3166-1 alfa-3. | NÃO | = 3 AN |
additional_data<br/>.hotel_reservations[]<br/>.rooms[] | <td colspan="3" /> Informações relativas a quartos do hotel | ||
number | Número do quarto | NÃO | < 100 AN |
code | Código do quarto | NÃO | < 100 AN |
type | Tipo do quarto | NÃO | < 100 AN |
check_in_date | Date e hora do entrada (formato: AAAA-MM-DDTHH:MM:SS) | SIM | < 17 AN |
check_out_date | Date e hora de saída (formato: AAAA-MM-DDTHH:MM:SS) | NÃO | < 17 AN |
number_of_guests | Número de pessoas | NÃO | < 9999 N |
board_basis | Regime de alimentação | NÃO | < 100 AN |
additional_data<br/>.hotel_reservations[]<br/>.rooms[]<br/>.guests[] | <td colspan="3" /> Informações relativas a hóspedes do quarto | ||
name | Nome do hóspede | SIM | < 100 AN |
document | Número do documento do hóspede | NÃO | < 8 AN |
document_type | Documento usado pelo cliente:
| NÃO | < 8 AN |
birth_date | Data de nascimento do cliente (formato: AAAA-MM-DDTHH:MM:SS) | NÃO | < 17 AN |
nationality | Nacionalidade do hóspede, seguindo a ISO 3166-1 alfa-3. | NÃO | = 3 AN |
additional_data<br/>.events[] | <td colspan="3" /> Informações relativas a dados de um evento | ||
name | Nome do evento | SIM | < 255 AN |
date | Date e hora do evento em UTC (formato AAAA-MM-DDTHH:MM:SS) | SIM | < 17 AN |
type | Tipo do evento:
| SIM | < 9 AN |
subtype | Detalhe do tipo do evento | NÃO | < 255 AN |
additional_data<br/>.events[]<br/>.venue | <td colspan="3" /> Informações relativas a dados de local de um evento | ||
name | Nome do local | NÃO | < 255 AN |
street_name | Nome da rua | NÃO | < 255 AN |
street_number | Número da rua | NÃO | < 255 AN |
city | Cidade do local | NÃO | < 255 AN |
state | Estado do local | NÃO | < 255 AN |
country | Pais do local, seguindo a ISO 3166-1 alfa-3. | NÃO | = 3 AN |
capacity | Capacidade do local | NÃO | < 255 AN |
additional_data<br/>.events[]<br/>.tickets[] | <td colspan="3" /> Informações relativas aos ingressos de um evento | ||
id | Identificador único do ticket. | NÃO | < 255 AN |
category | Categoria do ticket:
| SIM | < 10 AN |
section | Seção do ticket | NÃO | < 255 AN |
premium | Indicador de ticket premium | NÃO | < 5 T/F |
additional_data<br/>.events[]<br/>.tickets[]<br/>.atendee | <td colspan="3" /> Informações relativas ao participante do evento | ||
name | Nome do participante | NÃO | < 255 AN |
document | Documento do participante | SIM | < 100 AN |
document_type | Tipo de documento do participante:
| NÃO | < 100 AN |
birth_date | Data de nascimento do participante (formato: AAAA-MM-DDTHH:MM:SS) | NÃO | < 17 AN |
additional_data<br/>.vehicle{} | <td colspan="3" /> Informações de veículo para antifraude | ||
make | Marca do veículo | SIM | < 63 AN |
model | Modelo do veículo | SIM | < 100 AN |
vid | Identificador único do veículo | NÃO | < 17 AN |
renavam | Identificação Renavam do veículo | NÃO | < 11 AN |
registration | Licença do veículo | NÃO | < 17 AN |
type | Descreve o tipo do veículo, como por exemplo: car, bus, truck, motorcycle, aircraft, boat, bicycle | NÃO | < 15 AN |
usage | Descreve o uso do veículo na operação. Aceita valores como: private, commercial, experimental, government, military, instruction | NÃO | < 15 AN |
additional_data<br/>.vehicle{}<br/>.owner{} | <td colspan="3" /> Informações do proprietário do veículo para antifraude | ||
name | Nome do proprietário do veículo | NÂO | < 255 AN |
tax_id | Documento do proprietário do veículo | SIM | < 100 AN |
ATENÇÃO: Os parâmetros que existem no
payer,billingeshipmentquando não são passados no serviço de criação de transação através doadditional_data, serão solicitados na tela de pagamento. Caso os parâmetros sejam passados no serviço de criação de transação, não será solicitado o preenchimento dos campos na tela de pagamento.
Exemplo
Exemplo da requisição de criação pagamento REST com análise de risco no Antifraude Fiserv Fraud Detect:
{
"merchant_usn": "2423423434",
"order_id": "2432342343",
"installments": "1",
"installment_type": "4",
"authorizer_id": "2",
"amount": "1300",
"additional_data": {
"anti_fraud": "enabled_before_auth",
"visitor_id": "XKhas09jcks",
"items": [
{
"title": "title1",
"quantity": "1",
"unit_price": "1111",
"description": "description1",
"id": "id1",
"discount_amount": "111",
"sku": "sku1",
"creation_date": "11/01/2011"
}
],
"payer": {
"name": "Marcos",
"surname": "da Silva",
"email": "marocs@dasilva.com",
"born_date": "1990-01-01T11:11:11",
"creation_date": "02/03/2004",
"is_new_client": "true",
"is_vip_client": "true",
"phones": [
{
"number": "333333333",
"ddd": "22",
"ddi": "11"
},
{
"number": "666666666",
"ddd": "55",
"ddi": "44"
}
],
"identification_number": "47764543004"
},
"shipment": {
"name": "Fernando",
"surname": "Bezerra",
"address": {
"zip_code": "98764312",
"street_number": "987",
"street_name": "Rua Shipment",
"complement": "ap. 587",
"city": "São Shipment",
"state": "MA",
"country": "BRA"
}
},
"passengers": [
{
"name": "Miguel",
"last_name": "Herrera",
"frequent_flyer_card": "frequentFlyerCard",
"legal_document_type": "1",
"legal_document": "12312312312",
"birth_date": "1980-07-28T10:40:00",
"customer_class": "customerClass",
"nationality": "BRA",
"is_frequent_traveler": "true",
"is_with_special_needs": "true"
}
],
"connections": [
{
"company": "Verde",
"class": "first",
"from": "GRU",
"to": "CGH",
"departure_date": "2023-09-07T07:09:00",
"journey_type": "OUTWARD",
"origin_city": "San Juan",
"destination_city": "Homero Lopez",
"class_code": "VIP"
},
{
"company": "Rosa",
"class": "economy",
"from": "BSB",
"to": "VCP",
"departure_date": "2022-10-21T16:39:00",
"journey_type": "RETURN",
"origin_city": "San Pablo",
"destination_city": "Juanito Cruz",
"class_code": "ECONOMY"
}
],
"hotel_reservations": [
{
"hotel": "Hotel Green Tree",
"address": {
"zip_code": "83392019",
"street_number": "529",
"street_name": "Rua Hoteleira",
"complement": "ap. 019",
"city": "San Hotel",
"state": "AC",
"country": "EN"
},
"rooms": [
{
"number": "902",
"code": "ROOM902",
"type": "King Size",
"check_in_date": "2020-01-09T12:30:00",
"check_out_date": "2020-01-19T13:00:00",
"number_of_guests": "1",
"board_basis": "Vegan",
"guests": [
{
"name": "José Aníbal",
"document": "98798798712",
"document_type": "cpf",
"birth_date": "12/03/1970",
"nationality": "BRA"
}
]
}
],
"category": "categoryhotel"
}
],
"billing_data": {
"address": {
"zip_code": "12341234",
"street_number": "666",
"street_name": "Rua Billing",
"complement": "ap. 2369",
"city": "São Billing",
"state": "AM",
"country": "BRA"
}
},
"travel": {
"transport_type": "flight",
"expiration_date": "2022-02-14T01:30:00"
},
"discount_info": "Informações de desconto",
"events": [
{
"name": "Evento de Rock",
"date": "2021-11-22T09:28:00",
"type": "show",
"subtype": "music",
"venue": {
"name": "Debicard Hall",
"street_name": "Rua do Evento",
"street_number": "928",
"city": "Jardinópolis",
"state": "MS",
"country": "DO",
"capacity": "300"
},
"tickets": [
{
"id": "12h374612h4h",
"category": "social",
"section": "Seção 1",
"premium": "true",
"attendee": {
"name": "Daniel Almeida",
"document": "71728293945",
"document_type": "other",
"birth_date": "03/10/1990"
}
}
],
"vehicle": {
"make": "Bentley",
"model": "Bacalar",
"renavam": "87836695327",
"registration": "ABC1234",
"vid": "ABCDEFGH123456789",
"type": "car",
"usage": "private",
"owner": {
"tax_id": "540.830.640-21",
"name": "Cicero"
}
}
}
]
}
}