Fraud Detect

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

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

IMPORTANTE: As credenciais acima devem ser obtidas com o Fraud Detect. O lojista deve entrar em contato com o Fraud Detect 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 e-SiTef e passar as credenciais para o cadastro no e-SiTef.

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 Fraud Detect.

URL de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/processarPost.se?src=fraud_detect

URL de Homologação:

https://esitef-homologacao.softwareexpress.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 Fraud Detect.

Bandeiras permitidas#

O Fraud Detect suporta qualquer bandeira de cartão.

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

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

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 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 Fraud Detect no Link de Pagamento via Portal#

Para habilitar a antifraude Fraud Detect para Links de Pagamento gerados pelo Portal do Lojista, entre em contato com o suporte do e-SiTef.

Antifraude Fraud Detect via REST#

Após realizar o alinhamento cadastral com o suporte do e-SiTef 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.

Parâmetros antifraude do Fraud Detect#

Abaixo segue a relação de parâmetros antifraude processados pelo Fraud Detect.

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çãoFormatoObrigatório
additional_data
visitor_idIdentificador do visitante obtido no JavaScript do Fraud Detect< 40 ANNÃO
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 cliente.SIM< 100 AN
surnameSobrenome do cliente.SIM< 100 AN
emailEndereço de e-mail do cliente.SIM< 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 compra.NÃ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 cliente.NÃO< 100 AN
numberNúmero de telefone do cliente.NÃO< 100 AN
additional_data
.billing_data
.address
street_nameRua da fatura do cliente com o banco.NÃO< 255 AN
street_numberNúmero da rua da fatura do cliente com o banco.NÃO< 255 AN
complementComplemento do endereço de fatura.NÃO< 100 AN
cityCidade do titular.NÃO< 100 AN
stateEstado do titular.NÃO< 100 AN
zip_codeCEP do titular.NÃO< 100 A N
countryCódigo do país do titular, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.shipment
nameNome do destinatário.NÃO< 100 AN
surnameSobrenome do destinatário.NÃO< 100 AN
additional_data
.shipment
.address
street_nameNome da rua do destinatário.NÃO< 255 AN
street_numberNúmero da rua do destinatário.NÃO< 255 AN
complementComplemento do endereço do destinatário.NÃO< 255 AN
cityCidade do destinatário.NÃO< 100 AN
stateEstado do destinatário.NÃO< 100 AN
zip_codeCEP do destinatário.NÃO< 100 AN
countryCódigo do país do destinatário, seguindo a ISO 3166-1 alfa-3.NÃ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 classe.NÃO< 20 AN
companyNome da cia aérea.NÃO< 20 AN
additional_data
.passengers[]
namePrimeiro nome do passageiroSIM< 100 AN
last_nameSobrenome do passageiroSIM< 100 AN
legal_documentNúmero do documento.SIM< 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-3.NÃ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 fidelidade.NÃO< 255 AN
additional_data
.hotel_reservations[]
hotelNome do hotel.SIM< 100 AN
categoryCategoria do hotel.NÃO< 100 AN
additional_data
.hotel_reservations[]
.address
street_name Rua do hotel.NÃO< 255 AN
street_numberNúmero do hotel.NÃO< 255 AN
complementComplemento do endereço hotel.NÃO< 100 AN
cityCidade do hotel.NÃO< 100 AN
stateSigla do estado do hotel.NÃO< 100 AN
zip_codeCEP do hotel.NÃ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 quarto.NÃO< 100 AN
codeCódigo do quartoNÃO< 100 AN
typeTipo do quarto.NÃ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 pessoas.NÃO< 9999 N
board_basisRegime de alimentação.NÃO< 100 AN
additional_data
.hotel_reservations[]
.rooms[]
.guests[]
nameNome do hóspede.SIM< 100 AN
documentNúmero do documento do hóspede.NÃ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 evento.SIM< 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 evento.NÃ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 ticket.NÃO< 255 AN
premiumIndicador de ticket premiumNÃO< 5 T/F
additional_data
.events[]
.tickets[]
.atendee
nameNome do participante.NÃO< 255 AN
documentDocumento do participante.SIM< 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

Exemplo#

Exemplo da requisição de criação pagamento REST com análise de risco no 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"
}
}
]
}
]
}
}