3D Secure 2.0 (Novo)

Disponível apenas para a adquirente Rede Rest.

Transações autenticadas 3D Secure ou 3DS 2.0, são transações que necessitam de uma autenticação adicional para garantir maior segurança ao portador do cartão nas compras online.

A autenticação 3DS é efetuada através da validação de dados que apenas o portador do cartão e o banco possuem, como por exemplo, senha do cartão, data de nascimento, código de segurança e o token do banco.

- Obrigatório para operações com cartão de Débito
- Opcional para operações com cartão de Crédito

🚧

Alguns cartões de débito não suportam a autenticação 3DS 2.0. Para poder decidir por transação qual cartão de débito pode ou não entrar em um fluxo 3DS, entre em contato com o suporte.

REQUISIÇÃO

🚧

POST

/v1/transactions

Além das propriedades da autorização, é necessário enviar as seguintes propriedades:

PROPRIEDADE

TIPO

TAMANHO

OBRIGATÓRIO

DESCRIÇÃO

userAgent

Texto

Até 500

Sim

Obrigatório para transações com 3DS. Identificador do browser utilizado pelo comprador no momento da compra.

card.authenticate

Número

1

Não

  • *Para débito sempre será: 1
    Para crédito o default é: 3**
    Opções disponíveis:
  1. Autorizar só transações autenticadas
  2. Autorizar transações autenticadas ou não autenticadas
  3. Autorizar sem autenticação

device

device.colorDepth

Número

2

Sim

Campo que representa a estimativa da paleta de cores usada para a exibição de imagens, em bits por pixel.

device.deviceType3ds

Texto

20

Sim

Campo que indica o tipo de dispositivo. Exemplo: BROWSER.

device.javaEnabled

Booleano

Sim

Campo booleano que representa a capacidade do navegador para executar Java. O valor é aquele retornado pela propriedade navigator.javaEnabled, true ou false.

device.language

Texto

10

Sim

Idioma do navegador no formato IETF BCP47, contendo entre 1 e 8 caracteres.

device.screenHeight

Número

6

Sim

A altura total da tela do cliente em pixels. O valor é aquele retornado pela propriedade screen.height.

device.screenWidth

Número

6

Sim

A largura total da tela do cliente em pixels. O valor é aquele retornado pela propriedade screen.width.

device.timeZoneOffset

Número

2

Sim

Número de horas entre a hora local do usuário e o UTC (Horário Coordenado Universal).

{ "referenceId": "19893211234", "amount": "1000", "description": "Mouse sem fio", "userAgent": "Mozilla/5.0 ...", "customer": { "name": "Comprador Teste", "document": "12345678909" }, "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" } } }, "device": { "colorDepth": 1, "deviceType3ds": "BROWSER", "javaEnabled": false, "language": "pt-BR", "screenHeight": 500, "screenWidth": 500, "timeZoneOffset": 3 } }
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 TESTE\"," + " \"document\": \"23650403811\"" + "}," + " \"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);

RESPOSTA

Além das propriedades da transação, será retornado a propriedade redirectUrl, para a qual deve ser redirecionado o cliente.

PROPRIEDADETIPOTAMANHODESCRIÇÃO
redirectUrlTextoAté 500Url de autenticação retornada pelo sistema 3DS 2.0.

A transação ficará com status TRANSACAO INICIADA até que receba o retorno da autenticação do 3DS 2.0.

{ "transactionId": "92d50ba4-5d93-4ee5-90e8-9884b250310a", "referenceId": "1463697571584", "description": "TV LG 42", "amount": "1000", "status": 5, "userAgent": "Mozilla/5.0 ...", "dtTransaction": "2020-12-05T12:04:20", "payment": { "card": { "type": 1, "softDescriptor": "Gate2All", "interestType": 3, "installments": 1, "capture": false, "authenticate": 3, "saveCard": false, "recurrent": false, "provider": "CIELO", "providerVersion": "3.0", "authenticationECI": 7, "codAuthorization": "123456", "providerReference": "1006993069000834928A", "providerCode": "00", "providerMessage": "Transacao autorizada com sucesso", "cardInfo": { "number": "453970******0561", "expirationMonth": "04", "expirationYear": "2026", "cvv": "***", "brand": "VISA", "holderName": "HOLDER NAME" } } }, "customer": { "name": "HOLDER NAME", "document": "12345678909" } "redirectUrl": "https://api.userede.com.br/Redirect/auth?token=qNRl..." }
Transação autorizada e não capturada Falha

Did this page help you?