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 exigem as seguintes credenciais:

  • Chave Privada (Identificação da Loja) - Chave Privada do cadastro da loja no Antifraude Fiserv .
  • Chave Pública (Merchant Code) - Chave Publica do cadastro da loja no Antifraude Fiserv .

IMPORTANTE: As credenciais acima devem ser obtidas com o Antifraude Fiserv . O lojista deve entrar em contato com o Antifraude 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 .

URL de Produção:

https://ecomm-bin.fiserv.com.br/e-sitef/processarPost.se?src=fraud_detect

URL de Homologação:

https://sandbox.ecomm-bin.fiserv.com.br/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 .

Bandeiras permitidas#

O Antifraude Fiserv suporta qualquer bandeira de cartão.

IMPORTANTE: Apenas as transações de crédito serão efetivamente analisadas pelo Antifraude Fiserv . 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#

Parâmetros antifraude do Antifraude Fiserv (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:

CampoDescrição do campoObrigatório
Primeiro Nome do CompradorPrimeiro nome do cliente que está realizando a compra.Sim
Sobrenome do CompradorSobrenome do cliente que está realizando a compra.Sim
CPF do CompradorCPF do cliente que está realizando a compra.Sim
TelefoneTelefone do cliente que está realizando a compra.Sim
E-mailE-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 completoEndereço completo para cobrança.Sim
ComplementoComplemento do endereço de cobrança.Não
CEPCEP do endereço de cobrança.Sim
PaísPaís do endereco de cobrança.Sim
EstadoEstado do endereço de cobrança.Sim
CidadeCidade do endereço de cobrança.Sim

Exemplo#

Exemplo da requisição de pagamento HTML com análise de risco no Antifraude Fiserv :

{
"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 no Link de Pagamento via Portal#

Para habilitar a antifraude Antifraude Fiserv para Links de Pagamento gerados pelo Portal do Lojista, entre em contato com o suporte do Carat.

Antifraude Fiserv 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 #

Abaixo segue a relação de parâmetros antifraude processados pelo Antifraude Fiserv .

Nota: Se estruturas payer, shipment e billing_data forem informadas na chamada ao HTML, elas não serão solicitadas na tela de checkout.

Dados adicionais da transação Informações relativas aos itens da compra Informações relativas ao comprador Informações relativas ao telefone do comprador Informações relativas à fatura Informações relativas à entrega Informações relativas ao endereço de entrega Informações relativas à passagem aérea Informações relativas às conexões de viagem Informações relativas aos passageiros Informações relativas à reserva de hotel Informações relativas ao endereço do hotel Informações relativas a quartos do hotel Informações relativas a hóspedes do quarto Informações relativas a dados de um evento Informações relativas a dados de local de um evento Informações relativas aos ingressos de um evento Informações relativas ao participante do evento
ParâmetroDescriçãoObrigatórioFormato
additional_data
visitor_idIdentificador do visitante obtido no JavaScript da FraudDetectNÃO< 40 AN
additional_data
.items[]
unit_pricePreço unitário do item em centavosNÃO< 10 N
skuCódigo de produto do itemNÃO< 100 AN
quantityQuantidade de itensNÃO< 10 N
idIdentificação única do item que pode ser o código de barras ou UPC do produto.NÃO< 100 AN
titleNome do produto ou serviçoNÃO< 100 AN
discount_amountValor de desconto do produto em centavosNÃO< 10 N
descriptionDescrição do produtoNÃO< 100 AN
creation_dateIndica a data de publicação do produto no site da loja (Formato: DD/MM/AAAA)NÃO= 10 AN
additional_data
.payer
idIdentificador único do cliente. Pode ser qualquer valor (sequencial, documento, e-mail) desde que seja consistente em pedidos futuros.SIM< 100 AN
nameNome do clienteSIM< 100 AN
surnameSobrenome do clienteSIM< 100 AN
emailEndereço de e-mail do clienteSIM< 100 AN
born_dateData de nascimento do cliente (formato : AAAA-MM-DDTHH:MM:SS)NÃO= 19 AN
identification_numberNúmero de documento fiscal do clienteNÃO< 100 AN
creation_dateData de criação da conta ou cadastro do cliente no site (formato: DD/MM/AAAA )NÃO= 10 AN
is_new_clientBoolean indicando se o cliente está usando uma conta recém-criada nesta compraNÃO< 5 T/F
is_vip_clientBoolean indicando se este é um cliente VIP ou comprador frequente.NÃO< 5 T/F
additional_data
.payer
.phones[]
ddiDDI do telefone do clienteNÃO< 100 AN
dddDDD do telefone do clienteNÃO< 100 AN
numberNúmero de telefone do clienteNÃO< 100 AN
additional_data
.billing_data
.address
street_nameRua da fatura do cliente com o bancoNÃO< 255 AN
street_numberNúmero da rua da fatura do cliente com o bancoNÃO< 255 AN
complementComplemento do endereço de fatura.NÃO< 100 AN
cityCidade do titularNÃO< 100 AN
stateEstado do titularNÃO< 100 AN
zip_codeCEP do titularNÃO< 100 A N
countryCódigo do país do titular, seguindo a ISO 3166-1 alfa-3NÃO= 3 AN
additional_data
.shipment
nameNome do destinatárioNÃO< 100 AN
surnameSobrenome do destinatárioNÃO< 100 AN
additional_data
.shipment
.address
street_nameNome da rua do destinatárioNÃO< 255 AN
street_numberNúmero da rua do destinatárioNÃO< 255 AN
complementComplemento do endereço do destinatário.NÃO< 255 AN
cityCidade do destinatárioNÃO< 100 AN
stateEstado do destinatárioNÃO< 100 AN
zip_codeCEP do destinatárioNÃO< 100 AN
countryCódigo do país do destinatário, seguindo a ISO 3166-1 alfa-3NÃO= 3 AN
additional_data
.travel
transport_typeTipo de viagem (flight ou bus)SIM< 6 AN
expiration_dateData de expiração (formato: DD/MM/AAAA )NÃO= 10 AN
additional_data
.connections[]
journey_type
  • OUTWARD - para ida
  • RETURN - para volta
SIM< 7 AN
origin_cityCidade de origem.SIM, se transport_type=bus< 100 AN
destination_cityCidade de destino.SIM, se transport_type=bus< 100 AN
fromCódigo aeroportuário IATA para o aeroporto de origemSIM, se transport_type=flight= 3 AN
toCódigo aeroportuário IATA para o aeroporto de destino.SIM, se transport_type=flight= 3 AN
departure_dateDate e hora do embarque (formato: AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
classNome da classe (Ex: economy, business e first)NÃO< 8 AN
class_codeCódigo da classeNÃO< 20 AN
companyNome da cia aéreaNÃO< 20 AN
additional_data
.passengers[]
namePrimeiro nome do passageiroSIM< 100 AN
last_nameSobrenome do passageiroSIM< 100 AN
legal_documentNúmero do documentoSIM< 100 AN
legal_document_typeTipo do documento (5 = passport, qualquer outro número = id)SIM< 8 AN
birth_dateData de nascimento do passageiro (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
nationalityPaís de nascimento do passageiro, seguindo a ISO 3166-1 alfa-3NÃO= 3 AN
is_frequent_travelerFlag de viajante frequenteNÃO< 5 T/F
is_with_special_needsFlag de viajante com necessidades especiaisNÃO< 5 T/F
frequent_flyer_cardTipo de programa de fidelidadeNÃO< 255 AN
customer_classCategoria do programa de fidelidadeNÃO< 255 AN
additional_data
.hotel_reservations[]
hotelNome do hotelSIM< 100 AN
categoryCategoria do hotelNÃO< 100 AN
additional_data
.hotel_reservations[]
.address
street_name Rua do hotelNÃO< 255 AN
street_numberNúmero do hotelNÃO< 255 AN
complementComplemento do endereço hotel.NÃO< 100 AN
cityCidade do hotelNÃO< 100 AN
stateSigla do estado do hotelNÃO< 100 AN
zip_codeCEP do hotelNÃO< 100 AN
countryPaís do hotel, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.hotel_reservations[]
.rooms[]
numberNúmero do quartoNÃO< 100 AN
codeCódigo do quartoNÃO< 100 AN
typeTipo do quartoNÃO< 100 AN
check_in_dateDate e hora do entrada (formato: AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
check_out_dateDate e hora de saída (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
number_of_guestsNúmero de pessoasNÃO< 9999 N
board_basisRegime de alimentaçãoNÃO< 100 AN
additional_data
.hotel_reservations[]
.rooms[]
.guests[]
nameNome do hóspedeSIM< 100 AN
documentNúmero do documento do hóspedeNÃO< 8 AN
document_typeDocumento usado pelo cliente:
  • cpf
  • rg
  • passport
  • id
  • other
NÃO< 8 AN
birth_dateData de nascimento do cliente (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
nationalityNacionalidade do hóspede, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.events[]
nameNome do eventoSIM< 255 AN
dateDate e hora do evento em UTC (formato AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
typeTipo do evento:
  • show
  • theater
  • movies
  • party
  • festival
  • course
  • sports
  • corporate
SIM< 9 AN
subtypeDetalhe do tipo do eventoNÃO< 255 AN
additional_data
.events[]
.venue
nameNome do localNÃO< 255 AN
street_nameNome da ruaNÃO< 255 AN
street_numberNúmero da ruaNÃO< 255 AN
cityCidade do localNÃO< 255 AN
stateEstado do localNÃO< 255 AN
countryPais do local, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
capacityCapacidade do localNÃO< 255 AN
additional_data
.events[]
.tickets[]
idIdentificador único do ticket.NÃO< 255 AN
categoryCategoria do ticket:
  • student
  • senior
  • government
  • social
  • regular
SIM< 10 AN
sectionSeção do ticketNÃO< 255 AN
premiumIndicador de ticket premiumNÃO< 5 T/F
additional_data
.events[]
.tickets[]
.atendee
nameNome do participanteNÃO< 255 AN
documentDocumento do participanteSIM< 100 AN
document_typeTipo de documento do participante:
  • cpf
  • cnpj
  • rg
  • passport
  • other
NÃO< 100 AN
birth_dateData de nascimento do participante (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN

ATENÇÃO: Os parâmetros que existem no payer, billing e shipment quando não são passados no serviço de criação de transação através do additional_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 :

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