Antifraude
Documentação referente ao Autifraude PayGo
Novas ofertas do Antifraude PayGo estão suspensas temporariamente a partir de 21/06/2021.
Clientes que já utilizam a solução de Gateway PayGo com antifraude não serão afetados e continuam contando com a solução contratada.
O antifraude é uma ferramenta que tem como função proteger as lojas de e-commerce de ataques cibernéticos. No gateway, o antifraude permite uma analise da transação de crédito antes de realizar a captura.
Para utilizar este recurso, é preciso solicitar o cadastramento das chaves, dessa forma habilitando a opção de antifraude para suas transações.
O segundo passo é configurar as regras via portal, onde é possível configurar para analisar:
- todas as transações;
- transações por faixas de valores;
- determinar as transações que devem ser analisadas com base no payload;
Ainda na configuração das regras, existem duas possibilidades de realizar uma autorização com antifraude:
- Com Captura/Cancelamento automático;
- Com Captura/Cancelamento manual;
Para isso basta informar o score mínimo para capturar a transação entre 0 e 1. Caso queria uma analise manual, ou seja, receber o retorno do antifraude e tomar uma decisão sobre isso, basta deixar o score sem preencher.
Clientes de sub, por padrão, seguem as regras determinadas para a sub adquirente.
Importante: Para transações que passam pelo antifraude, alguns dados do customer passam a ser obrigatórios.
REQUISIÇÃO
POST
/v1/transactions
Para todas as transações de crédito que devem passar pelo antifraude, além dos campos obrigatórios para a autorização, outros campos passam a ser obrigatórios, são:
PROPRIEDADE | TIPO | TAMANHO | OBRIGATÓRIO | DESCRIÇÃO |
---|---|---|---|---|
customer.name | Texto | 100 | Sim | Nome do portador do cartão. |
customer.document | Texto | 18 | Sim | Número do CPF/CNPJ do portador do cartão. |
customer.email | Texto | 100 | Sim | Email do portador do cartão. |
customer.phoneNumber | Texto | 18 | Sim | Número de telefone do portador do cartão. |
address.address | Texto | 60 | Sim | Endereço do comprador. |
address.number | Texto | 10 | Sim | Número do comprador. |
address.complement | Texto | 150 | Não | Complemento do endereço do comprador. |
address.district | Texto | 80 | Não | Bairro do comprador. |
address.zipcode | Número | 8 | Sim | CEP do comprador sem formatação. Exemplo: 04549002. |
address.city | Texto | 30 | Sim | Cidade do comprador. |
address.state | Texto | 2 | Sim | Sigla do estado do comprador. |
fraudAnalysis.analyze | Booleano | - | Não | Default: false - Informa se deve analisar a transação ou não. Dependendo da configuração, este campo pode ser desconsiderado. |
Para integração no modelo loja, o checkout tratará a obrigatóriedade dos campos antes de realizar a autorização.
RESPOSTA
A resposta será como de uma autorização normal, apenas retornando os campos do customer além do retorno do antifraude.
PROPRIEDADE | TIPO | TAMANHO | DESCRIÇÃO |
---|---|---|---|
fraudAnalysis.analyze | Booleano | - | Retorna se a transação foi analizada ou não. Importante: Pode ser diferente do que foi enviado na requisição, considerando os casos que a configuração obriga a transação a passar pelo antifraude. |
fraudAnalysis.score | Número | - | Retorna o score da analise do antifraude entre 0 e 1. |
fraudAnalysis.recommendation | Texto | - | Retorna a recomendação da analise do antifraude, pode ser: APPROVE DECLINE REVIEW NONE |
RESPOSTA
{
"referenceId": "19893211234",
"amount": "1000",
"description": "Mouse sem fio",
"userAgent": "Mozilla/5.0 ...",
"customer": {
"name": "Comprador",
"document": "12345678909",
"email" : "[email protected]",
"phoneNumber" : "(46) 98899 8899",
"address" : {
"address" : "Endereco",
"number" : "100",
"complement": "Apartamento 22",
"district" : "Vila Olimpia",
"zipcode" : "09878675",
"city" : "Sao Paulo",
"state" : "SP"
}
},
"fraudAnalysis": {
"analyze": true
},
"payment": {
"card": {
"type": 1,
"capture": false,
"installments": 1,
"interestType": 3,
"authenticate": 3,
"softDescriptor": "Pagamento GATE2all",
"saveCard": false,
"recurrent": false,
"provider": "Cielo",
"providerVersion": "3.0",
"cardInfo": {
"number": "4539708473330561",
"expirationMonth": "04",
"expirationYear": "2026",
"cvv": "234",
"brand": "VISA",
"holderName": "HOLDER NAME"
}
}
}
}
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
URL obj = new URL("https://api.gate2all.com.br/v1/transactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");
String body = "{"
+ "\"referenceId\": \"123456\","
+ "\"amount\": \"1000\","
+ "\"description\": \"Venda Teste\","
+ "\"userAgent\": \"Mozilla/5.0 ...\","
+ "\"postBackUrl\": \"http://url-notificacao\","
+ "\"customer\": {"
+ " \"name\": \"COMPRADOR TEST\","
+ " \"document\": \"12345678909\","
+ " \"email\" : \"[email protected]\","
+ " \"phoneNumber\" : \"(46) 98899 8899\","
+ " \"address\" : {"
+ " \"address\" : \"Rua Fidencio Ramos\","
+ " \"number\": \" 100\","
+ " \"complement\": \"Apartamento 22\","
+ " \"district\" : \"Vila Olimpia\","
+ " \"zipcode\" : \"05890090\","
+ " \"city\" : \"Sao Paulo\","
+ " \"state\" : \"SP\""
+ " }"
+ " },"
+ " \"fraudAnalysis\": {"
+ " \"analyze\": true"
+ " },"
+ " \"payment\": {"
+ " \"card\": {"
+ " \"type\": 1,"
+ " \"capture\": false,"
+ " \"installments\": 1,"
+ " \"interestType\": 3,"
+ " \"authenticate\": 3,"
+ " \"saveCard\": false,"
+ " \"recurrent\": false,"
+ " \"softDescriptor\": \"Gate2All\","
+ " \"cardInfo\": {"
+ " \"number\": \"4539708473330561\","
+ " \"expirationMonth\": \"04\","
+ " \"expirationYear\": \"2026\","
+ " \"cvv\": \"234\","
+ " \"brand\": \"VISA\","
+ " \"holderName\": \"COMPRADOR TESTE\""
+ " }"
+ " }"
+ " }"
+ "}";
con.setDoOutput(true);
DataOutputStream dos = new DataOutputStream(con.getOutputStream());
dos.writeBytes(body);
dos.flush();
dos.close();
Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();
System.out.println(response);
Updated over 2 years ago