NAV
JSON cURL JAVA

Introdução

Olá! Bem vindo a API REST do GATE2all.

Aqui você irá encontrar informações para integrar seu sistema ao gateway de pagamentos GATE2all.

O GATE2all é uma plataforma de pagamentos que conecta lojas virtuais, app’s mobile, ERP’s ou sistema de cobranças com as principais instituições de pagamentos do Brasil.

Ao integrar-se ao gateway de pagamentos GATE2all, seu negócio poderá receber transações através das principais formas de pagamentos como cartão de crédito e débito, boleto bancário e transferência entre contas.

A vantagem de se utilizar nossa plataforma é que você não precisará se integrar a cada adquirente ou bancos, através do GATE2all você se beneficia delas de forma unificada e sem complicações.

O GATE2all segue as rigorosas normas do PCI DSS, que são regras que visam proteger os dados do portador do cartão. Conheça mais no site https://pt.pcisecuritystandards.org

Sobre este documento

Este documento constitui a especificação técnica para integração de sistemas que desejam operar com o gateway de pagamento GATE2all.

Aqui serão listadas todas as funcionalidades da plataforma GATE2all especificando os endereços de requisição, parâmetros da requisição, formato e exemplos.

Disponibilizamos as coleções no client REST Postman.

Para instalar o client Postman, basta acessar https://www.getpostman.com

Para importar uma coleção contendo os endpoints e mensagens de exemplos, basta clicar no botão abaixo.

Run in Postman

PÚBLICO

Este documento é destinado aos desenvolvedores e analistas de sistemas de e-commerce que desejem integrar sua loja virtual com o gateway GATE2all para a realização de transações eletrônicas.

CONTATOS

Suporte ao desenvolvedor é prestado através do e-mail dev@ntk.com.br.

Glossário

Autenticação: Processo para assegurar que o comprador é o portador legítimo.

Autorização: Processo para verificar se uma compra pode ou não ser realizada num cartão. Verifica-se limite, se o cartão está ativo, se o portador está adimplente, etc.

Cancelamento: Processo para cancelar uma compra no cartão.

Captura: Processo para confirmar uma autorização. É após, a captura, que o portador recebe um débito na fatura de seu cartão.

Chave de acesso: Chave de autenticação da loja usada na chamada aos Web Services da Cielo.

Comprador: É aquele que efetua compra na loja virtual.

Emissor: Empresa responsável pela emissão do cartão utilizado pelo cliente para a realização de transações eletrônicas no Estabelecimento. Administradoras associadas a bancos são os principais emissores de cartões, assim como administradoras de cartões de benefício (refeição, alimentação, combustível, premiação, etc.).

Estabelecimento comercial ou EC: Empresa que responde pela loja virtual.

Número de afiliação: É um identificador que o lojista recebe após ter-se afiliado a Cielo.

Portador: É o mesmo que comprador. É aquele que tem o porte de um cartão.

TID: Identificador único da transação.

Transação: É o pedido de compra do portador na rede adquirente.

Gateway de pagamento: é uma aplicação que realiza transações financeiras através de web sites. Sua função basicamente é comunicar com as redes adquirentes e efetuar com segurança a captura dos dados do comprador.

Rede Adquirente: Empresa responsável por prover o serviço de captura de transações eletrônicas (seja de cartão de crédito/débito ou outro meio de pagamento). Cielo, Rede, GetNet e BANRISUL são exemplos de Redes adquirentes brasileiras.

Bandeira: Empresa definindo um padrão e provendo serviços de intercâmbio e troca de informações entre a Rede Adquirente e o Emissor. Visa, MasterCard e American Express são exemplos típicos de bandeiras.

Tokenização: Método para gravar cartão do comprador no ambiente Cielo para realização de transações sem o número do cartão.

Soft Descriptor: Função para incluir um texto que será exibido na fatura do cartão de crédito do comprador.

Pré-autorização: Tipo de transação que consulta e reserva um valor estimado para o estabelecimento como garantia até a conclusão da operação, aplica-se normalmente há locadoras de veículos e hotéis.

Transferência online: A Transferência entre contas bancárias é uma opção de pagamento on-line. Esse meio de pagamento utiliza-se do Internet Banking do lojista e do consumidor final. No momento do pagamento, basta informar os dados da conta, a senha e a frase secreta, e o banco efetuará a transferência do valor da compra diretamente para a loja, de forma rápida e segura.

Pré-requisitos

Para que o lojista possa utilizar as funcionalidades do GATE2all, este deve possuir afiliação para e-commerce junto às redes adquirentes ou bancos aos quais deseja encaminhar transações ou cobranças.

Adquirentes integradas

Bandeiras suportadas

Bancos integrados

Comércio Eletrônico Bradesco

Bradesco

Itaú Shopline

Tipos de Transações

Crédito

As opções de pagamento com cartão de crédito são:

Débito

Bandeiras Visa Electron e Maestro através da rede adquirente Cielo, Rede Rest e GetNet Rest, sendo que, para esta modalidade é necessário a autenticação do portador através dos mecanismos “Verify By Visa” ou “Mastercard Secure Code”.

O cartão do portador deve estar habilitado para transações autenticadas.

Transferência on-line entre contas

Transferência online entre contas bancárias. Para utilizar este serviço o cliente deverá ter contratado junto ao banco o serviço de comércio eletrônico Bradesco ou Itaú Shopline.

Boletos

Emissão de boleto bancário com os bancos Bradesco, Itaú ou Santander com conciliação automática. A compensação do boleto poderá ser verificada através do relatório de transações.

Para utilizar este serviço o cliente deverá ter contratado junto ao banco o serviço de comercio eletrônico.

Pix

Pix é um meio de pagamento eletrônico e faz parte do Sistema de Pagamentos Instantâneos (SPI). O Pix é suportado no gateway sendo necessário cadastrar as chaves para que a liberação seja realizada.

Tipos de Integração

O gateway de pagamento GATE2all permite dois tipos de integração:

  1. Loja, que redireciona o comprador para um ambiente seguro do GATE2all, onde os dados do cartão serão capturados.
  2. Integrado, onde o lojista poderá capturar os dados do cartão em seu próprio sistema.

Ambientes

Para utilizar nosso ambiente de testes envie um e-mail informando os dados abaixo para dev@ntk.com.br, onde realizaremos o cadastro do desenvolvedor ou empresa responsável pelo desenvolvimento.

Ambiente Produção

Requisição de transação: https://api.gate2all.com.br/

Ambiente de testes (Sandbox)

Requisição de transação: https://apidemo.gate2all.com.br/

authenticationApi: demo authenticationKey: A420C95AF486F0E64437

Cartões de Testes

Disponibilizamos os seguintes cartões de testes para simular os status das transações.

Status Cartão
AUTORIZADA Qualquer número de cartão que respeite Algoritmo Luhn
FALHA NA COMUNICAÇÃO COM FORNECEDOR 4676674786512068
PENDENTE DE CONFIRMAÇÃO TRANSAÇÃO_NAO_PROCESSADA NOFORNECEDOR 4532365531093678
PENDENTE_DE_CONFIRMAÇÃO TRANSAÇÃO PROCESSADA NO FORNECEDOR 5375387267180047
TRANSAÇÃO INICIADA 4490861761911670
CRIADA 4490861761911670
NEGADA 4035943194824415
TIMEOUT 4539591924980550

Números de Documentos de Testes Boleto e Transferência

Esses números de documento devem ser usados no nosso simulador Itaú.

Status Número Documento
TRANSAÇÃO INICIADA Qualquer número de documento válido
CONFIRMADA (BOLETO PAGO MAIOR +R$10,00) 34331423786
CONFIRMADA (BOLETO PAGO MENOR -R$10,00) 18805556890
CONFIRMADA (TRANSFERÊNCIA) 45601654247
CONFIRMADA (BOLETO) 74717683471

Autenticação

Todas as requisições são autenticadas através das credenciais de acesso (USUÁRIO E CHAVE) fornecidos após o cadastro. Os dados de acesso são enviados pelo header.

Exemplo de configuração no POSTMAN:

GATE2all Loja

No GATE2all Loja é possível realizar vendas sem a necessidade de desenvolver-se uma página segura de pagamentos, por meio do recurso chamado Intenção de Venda.

Através deste tipo de integração o comprador digita os dados do cartão no ambiente seguro do gateway de pagamentos GATE2all, isentando a loja, da manipulação dos dados sensíveis do cartão do comprador.

Intenção de Venda

Para realizar uma intenção de venda é necessário enviar um POST para o seguinte recurso:

Requisição

{
    "referenceId": "19893211234",
    "amount": "1000",
    "description": "Mouse sem fio",
    "postBackUrl": "http://url-notificacao",
    "redirectUrl": "http://url-redirect",
    "dtExpiration": "2020-12-25T18:10:53",
    "customer": {
        "name": "Comprador Teste",
        "document": "12345678909",
        "email": "compradorteste@gmail.com",
        "address": {
            "address": "Endereco",
            "number": "100",
            "complement": "Apartamento 22",
            "district": "Vila Olimpia",
            "zipcode": "09878675",
            "city": "Sao Paulo",
            "state": "SP"
        }
    },
    "payment": {
        "card": {
            "type": 0,
            "capture": false,
            "installments": "2",
            "fixedInstallments": false,
            "interestType": "3",
            "authenticate": "3",
            "softDescriptor": "GATE2all",
            "saveCard": true,
            "recurrent": false
        },
        "electronicTransfer": {
            "provider": "Bradesco"
        },
        "bankSlip": {
            "expirationDate": "2020-12-30",
            "instructions": "Aceitar somente até a data de vencimento, após essa data juros de 1% dia",
            "guarantor": "Comprador Teste",
            "provider": "Bradesco"
        },
        "pix": {
            "provider": "C6BANK",
            "key": [ "RANDOM_KEY" ],
            "expirationDateTime": "2021-12-25T18:10:53"
        }
    }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

URL obj = new URL("https://api.gate2all.com.br/v1/intention");
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\": \"19893211234\","
        + "\"amount\": \"1000\","
        + "\"description\": \"Mouse sem fio\","
        + "\"postBackUrl\": \"http://url-notificacao\","
        + "\"redirectUrl\": \"http://url-redirect\","
        + "\"dtExpiration\": \"2021-12-25T18:10:53\","
        + "    \"customer\": {"
        + "       \"name\": \"Comprador Teste\","
        + "       \"document\": \"12345678909\","
        + "       \"email\": \"compradorteste@gmail.com\","
        + "       \"address\": {"
        + "           \"address\": \"Endereco\","
        + "           \"number\": \"100\","
        + "           \"district\": \"Vila Olimpia\","
        + "           \"complement\": \"Apartamento 22\","
        + "           \"zipcode\": \"09878675\","
        + "           \"city\": \"Sao Paulo\","
        + "           \"state\": \"SP\""
        + "        }"
        + "    },"
        + "   \"payment\": {"
        + "        \"card\": {"
        + "            \"type\": 0,"
        + "            \"capture\": false,"
        + "            \"installments\": \"2\","
        + "            \"fixedInstallments\": false,"
        + "            \"interestType\": \"4\","
        + "            \"authenticate\": \"3\","
        + "            \"softDescriptor\": \"GATE2all\","
        + "            \"saveCard\": true,"
        + "            \"recurrent\": true"
        + "        },"
        + "        \"electronicTransfer\": {"
        + "            \"provider\": \"Bradesco\""
        + "        },"
        + "        \"bankSlip\": {"
        + "            \"expirationDate\": \"2020-12-30\","
        + "            \"instructions\": \"Aceitar somente ate a data de vencimento, apes essa data juros de 1% dia\","
        + "            \"guarantor\": \"Comprador Teste\","
        + "            \"provider\": \"Bradesco\""
        + "        }"
        + "        \"pix\": {"
        + "            \"provider\": \"C6BANK\","
        + "            \"key\": [\"RANDOM_KEY\"], "
        + "            \"expirationDateTime\": '2021-12-25T18:10:53' "
        + "        }"
        + "    }"
        + "}";

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);

Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
description Texto 300 Não Descrição da transação.
postBackUrl Texto Sim URL onde o GATE2all notificará eventuais status da trancação para o lojista notificação
redirectUrl Texto Não URL onde o GATE2all redirecionará o comprador após o processamento da transação.
dtExpiration Texto 20 Não Data da expiração da intenção. Formato 2021-01-25T18:10:53
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 Não 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 endereço do comprador.
address.complement Texto 150 Não Complemento do endereço do comprador.
address.district Texto 80 Sim 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.
card.type Número 1 Não Default: 0, configura as opcões disponíveis. 1 Configura cartão de crédito. 2 Configura cartão de débito.
card.capture Booleano Sim true = Autoriza e confirma a transação. false = Autorização, mas não confirma a transação, necessitando realizar a confirmação (Captura) noutra requisição.
card.installments Número 2 Sim Número de parcelas.
card.fixedInstallments Booleano Não Default: false - True = não permite que o comprador selecione a quantidade de parcelas no formulário de pagamento.
card.interestType Número 1 Não Default: 3 - Operações disponíveis:
3. Parcelado Loja
4. Parcelado Administrador
card.authenticate Número 1 Nã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
card.softDescriptor Texto 22 Não Texto a ser exibido na fatura do portador do cartão.SoftDescriptor
card.saveCard Booleano Não Configura salvar o cartão (tokenização).
card.recurrent Booleano Não Informa se a transação é recorrente.
electronicTransfer.provider Texto 20 Sim Nome da instituição financeira:
  • ITAU
bankSlip.expirationDate Texto 20 Sim Data de vencimento do boleto. formato YYYY-MM-DD
bankSlip.instructions Texto 300 Sim Instruções do boleto.
Para o Itaú a quantidade máxima de caracteres será: 180, e o texto será truncado em 3 partes de 60 caracteres.
bankSlip.guarantor Texto 45 Sim Nome do avalista.
bankSlip.provider Texto 20 Sim Nome da instituição financeira:
  • BRADESCO
  • ITAU
  • SANTANDER
pix.provider Texto 20 Não Sandbox
Nome da instituição financeira:
  • C6BANK
pix.key Texto 20 Não Sandbox
Campos utilizados para o Pix:
  • RANDOM_KEY (Suportado)
  • EMAIL
  • DOCUMENT
  • PHONE
pix.expirationDateTime Texto 20 Não Sandbox
Data da expiração da qrcode. Formato 2021-01-25T18:10:53

RESPOSTA SUCESSO

Status : 201

{
  "transactionId": "b9bb32a8-401e-41a0-a9ee-af9e8ab0de92",
  "url": "https://api.gate2all.com.br/v1/payment/b9bb32a8-401e-41a0-a9ee-af9e8ab0de92"
}
Propriedade Tipo Tamanho Descrição
transactionId Texto 36 Identificador da transação do GATE2all.
url Texto 150 URL da intenção.

RESPOSTA ERRO

Status : 400

{
  "error": {
    "message": "amount nao pode ser vazio"
  }
}
Propriedade Tipo Tamanho Descrição
error.message Texto 50 Texto informando o erro na geração da Intenção de Venda.

Acessando uma intenção de venda

Após o usuário acessar a URL retornada ao gerar a intenção de venda, será exibida a seguinte tela de pagamento:

Caso a forma de pagamento escolhida pelo usuário for cartão de crédito, uma tela similar a imagem abaixo será exibida para o pagador:

Exibindo algumas informações do cliente, como nome fantasia, CPF ou CNPJ, o valor e as bandeiras aceitas para pagamento.

Após a conclusão do preenchimento do formulário o GATE2all enviará uma notificação via POST, contendo o transactionId e o referenceId para o sistema do lojista realizar a consulta da transação notificada.

Caso a forma de pagamento escolhida pelo usuário for boleto e o provedor escolhido seja o Bradesco, uma tela similar a imagem abaixo será exibida para o pagador:

Caso a forma de pagamento escolhida pelo usuário for transferência e o provedor escolhido seja o Bradesco, uma tela similar a imagem abaixo será exibida para o pagador:

Em caso de erro ou token incorreto aparecerá a seguinte tela:

Customizar tema dos formulários

Utilizando nossos formulários que capturam os dados do cartão é possível customizar logo, cor de fundo, cor do formulário, cor das fontes, botão do envio e a cor do rodapé.

Para customizar o formulário de pagamento (Obsoleto) acesse o painel de controle e clique no menu “Configurações > Form. de pagamento”.

GATE2all Integrado

(CHECKOUT TRANSPARENTE)

Neste modelo todo o relacionamento com o usuário é realizado pela loja virtual, inclusive eventual captura de dados de cartões de crédito. Portanto sua loja virtual deverá ser homologada PCI, para maiores informações consulte o site https://www.pcisecuritystandards.org

A loja virtual deve fazer a captura de todos os dados necessários e submetê-los ao GATE2all.

Autorização

Para criar uma autorização é necessário enviar um POST para o seguinte recurso:

REQUISIÇÃO

{
   "referenceId": "19893211234",
   "amount": "1000",
   "description": "Mouse sem fio",
   "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"
            }
        }
   }
}

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\","
        + "\"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);

Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Não Identificador da transação do GATE2all.
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
description Texto 300 Não Descrição da transação.
postBackUrl Texto Não URL onde o GATE2all notificará eventuais status da trancação para o lojista notificação
customer.name Texto 100 Sim Nome do portador do cartão.
customer.document Texto 18 Não Número do CPF/CNPJ do portador do cartão.
card.type Número 1 Não Default: 1 - Configura as opcões disponíveis. 1 Configura cartão de crédito. 2
card.softDescriptor Texto 22 Não Texto a ser exibido na fatura do portador do cartão.SoftDescriptor
card.capture Booleano Sim true = Autoriza e confirma a transação . false = Autorização, mas não confirma a transação, necessitando realizar a confirmação (Captura) noutra requisição.
card.installments Número 2 Sim Número de parcelas.
card.interestType Número 1 Não Default: 3 - Operações disponíveis:
3. Parcelado Loja
4. Parcelado Administrador
card.authenticate Número 1 Nã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
card.provider Número Não Nome do Fornecedor (Adquirente) pela qual a autorização vai ser processada. Redes Adquirentes
card.providerVersion Texto 11 Não Versão da Integração do Fornecedor
card.saveCard Booleano Não Default: false - Configura salvar o cartão (tokenização).
card.recurrent Booleano Não Default: false - Informa se a transação é recorrente.
cardInfo.number Texto 19 Sim Número do cartão.
cardInfo.expirationMonth Número 2 Sim Mês da validade do cartão. Formato MM
cardInfo.expirationYear Número 4 Sim Ano da validade do cartão. Formato YYYY
cardInfo.cvv Número 4 Sim Código de segurança do cartão.
cardInfo.brand Texto 20 Sim Bandeira do cartão.Bandeiras.
cardInfo.holderName Texto 25 Não Nome do Portador impresso no cartão, só aceita caracteres

RESPOSTA

Transação autorizada e não capturada

{
  "transactionId": "92d50ba4-5d93-4ee5-90e8-9884b250310a",
  "referenceId": "1463697571584",
  "description": "TV LG 42",
  "amount": "1000",
  "status": 5,
  "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",
      "nsu": "1234",
      "cardInfo": {
        "number": "453970******0561",
        "expirationMonth": "04",
        "expirationYear": "2026",
        "cvv": "***",
        "brand": "VISA",
        "holderName": "HOLDER NAME"
      }
    }
  },
  "customer": {
    "name": "HOLDER NAME",
    "document": "12345678909"
  }
}

Falha

{
  "error": {
    "message": "O campo amount e obrigatorio."
  }
}
Propriedade Tipo Tamanho Descrição
transactionId Texto 150 Identificador da transação do GATE2all.
dtTransaction DataHora 19 Data e hora da transação.
card.provider Texto 10 Nome da instituição financeira.
card.providerVersion Texto 11 Versão da Integração do Fornecedor
card.providerMessage Texto 100 Mensagem da instituição.
card.providerCode Texto 100 Codigo de resposta da instituição.
card.codAuthorization Texto 100 Codigo de autorização da instituição.
card.authenticationECI Texto 100 Indicador de autenticação da transação.Códigos ECI
card.nsu Texto - Número sequêncial único da adquirente. Disponível para:
  • Cielo 3.0
  • Rede Rest
status Número 2 Status da transação retornado pelo GATE2all catálogo.

3D Secure 1.0

Disponível apenas para a adquirente Rede Rest e GetNet Rest.

Transações autenticadas 3D Secure ou 3DS 1.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, token do banco.

REQUISIÇÃO

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

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);

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

RESPOSTA

Transação autorizada e não capturada

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

Falha

{
  "error": {
    "message": "O campo amount e obrigatorio."
  }
}

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

Propriedade Tipo Tamanho Descrição
redirectUrl Texto Até 500 Url de autenticação retornada pelo sistema 3DS.

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

Boleto

O boleto bancário ou bloqueto é um método de pagamento de produtos ou serviços. É amplamente utilizado por empresas no Brasil.

Entidades envolvidas: “Banco” que são as instituições financeiras responsáveis pela emissão, recebimento e pagamento do boleto, “Cedente” é quem solicita a emissão do documento de cobrança e o que receberá o valor do pagamento e o “Sacado” que é consumidor do produto ou serviço, ou seja, quem paga o boleto.

Como é o processo de pagamento com boleto bancário:

  1. Cedente encaminha para o Sacado o Boleto
  2. Sacado efetua o pagamento até a data de vencimento estipulada.
  3. Banco recebe o valor e repassa para conta do Cedente.
  4. Banco aplica a taxa acordada entre as partes.

Requisição

{
   "referenceId": "19893211234",
   "amount": "1000",
   "description": "Produto ou serviço",
   "customer": {
      "name": "Comprador",
      "document": "12345678909",
      "email" : "comprador@email.com",
      "address" : {
          "address" : "Endereco",
          "number" : "100",
          "complement": "Apartamento 22",
          "district" : "Vila Olimpia",
          "zipcode" : "09878675",
          "city" : "Sao Paulo",
          "state" : "SP"
      }
   },
   "payment": {
       "bankSlip" : {
            "expirationDate" :"2020-12-10",
            "instructions" : "Aceitar somente até a data de vencimento, após essa data juros de 1% dia",
            "guarantor" : "Comprador",
            "provider":"Itau"
       }
    }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
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\": \"123456789\","
        + "\"amount\": \"1000\","
        + "\"description\": \"TV LG 42\","
        + "\"postBackUrl\": \"http://url-notificacao\","
        + "\"customer\": {"
        + "    \"name\": \"COMPRADOR TEST\","
        + "    \"document\": \"12345678909\","
        + "    \"email\" : \"comprador@ntk.com\","
        + "    \"address\" : {"
        + "        \"address\" : \"Rua Fidencio Ramos\","
        + "        \"number\": \" 100\","
        + "        \"complement\": \"Apartamento 22\","
        + "        \"district\" : \"Vila Olimpia\","
        + "        \"zipcode\" : \"05890090\","
        + "        \"city\" : \"Sao Paulo\","
        + "        \"state\" : \"SP\""
        + "        }"
        + "    },"
        + "    \"payment\": {"
        + "        \"bankSlip\" : {"
        + "            \"expirationDate\" :\"2020-12-10\","
        + "            \"instructions\" : \"Aceitar somente ate a data de vencimento, apos essa data juros de 1% dia\","
        + "            \"guarantor\" : \"Joao da Silva\","
        + "            \"provider\":\"Itau\""
        + "        }"
        + "    }"
        + "}";

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);


Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Não Utilize somente para intenções de venda previamente configuradas
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
description Texto 300 Não Descrição da transação.
customer.name Texto 100 Sim Nome do pagador.
customer.document Texto 18 Sim Número do CPF/CNPJ do pagador.
customer.email Texto 100 Sim Email do pagador.
Campo obrigatório apenas para clientes de sub.
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 Sim 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.
bankSlip.expirationDate Texto 20 Sim Data de vencimento do boleto. formato YYYY-MM-DD
bankSlip.instructions Texto 300 Sim Instruções do boleto.
Para o Itaú a quantidade máxima de caracteres será: 180, e o texto será truncado em 3 partes de 60 caracteres.
bankSlip.guarantor Texto 45 Sim Nome do avalista.
bankSlip.provider Texto 20 Sim Nome da instituição financeira :
  • BRADESCO
  • ITAU
  • SANTANDER

RESPOSTA

{
  "transactionId": "7365ca65-70d4-4d7c-ac3d-a20f5730c241",
  "referenceId": "19893211234",
  "amount": "1000",
  "description": "Produto ou serviço",
  "dtTransaction": "2020-12-08T10:46:31-0300",
  "customer": {
    "name": "Comprador",
    "document": "12345678909",
    "email": "comprador@email.com",
    "address": {
      "address": "Endereco",
      "number": "100",
      "complement": "Apartamento 22",
      "district": "Vila Olimpia",
      "zipcode": "09878675",
      "city": "Sao Paulo",
      "state": "SP"
    }
  },
  "payment": {
    "bankSlip": {
      "providerReference": "20575112",
      "providerCode": "00",
      "providerMessage": "Transação iniciada",
      "emissionDate": "2020-12-08",
      "expirationDate": "2020-12-10",
      "instructions": "Aceitar somente até a data de vencimento, após essa data juros de 1% dia",
      "guarantor": "Comprador",
      "provider": "ITAU",
      "paymentDate": "2020-12-08",
      "paymentAmount": "100",
      "url": "https://api.gate2all.com.br/v1/payment/6400d988-cc4b-4084-80ee-d5575dbbed4d"
    }
  },
  "status": 0
}
Propriedade Tipo Tamanho Descrição
transactionId Texto 150 Identificador da transação do GATE2all.
dtTransaction DataHora 19 Data e hora da transação.
bankSlip.emissionDate Texto 20 Data de emissão do boleto. formato YYYY-MM-DD
bankSlip.paymentDate Texto 20 Data de pagamento do boleto. formato YYYY-MM-DD
bankSlip.paymentAmount Número 16 Valor de pagamento do boleto sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
bankSlip.url Texto 300 Endereço de acesso da transação.
bankSlip.providerReference Texto 100 Referência da instituição.
bankSlip.providerCode Texto 100 Codigo de resposta da instituição.
bankSlip.providerMessage Texto 100 Mensagem da instituição.
status Número 2 tabela de Status

Transferência entre contas bancárias

Este tipo de transação permite a transferência de valores entre contas do banco Itaú, a compensação é realizada no mesmo dia. Esse meio de pagamento direciona o comprador para o Internet Bank para realizar o processo de autenticação.

No momento do pagamento, o cliente comprador informa os dados da agência, informa os dados da conta, como senha de 4 dígitos e do dispositivo de segurança (Cartão Chave de Segurança, token ou - versão Eletrônica ou no Celular.

Requisição

{
    "referenceId": "19893211234",
    "amount": "1000",
    "description": "Produto ou serviço",
    "customer": {
      "name": "Comprador",
      "document": "12345678909",
      "email": "comprador@email.com",
      "address": {
        "address": "Endereco 100",
        "number" : "100",
        "complement": "Apartamento 22",
        "district": "Vila Olimpia",
        "zipcode": "05890090",
        "city": "Sao Paulo",
        "state": "SP"
      }
    },
   "payment": {
       "electronicTransfer" : {
           "provider" : "Itau"
       }
    }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
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\": \"123456789\","
        + "\"amount\": \"1000\","
        + "\"description\": \"TV LG 42\","
        + "    \"customer\": {"
        + "       \"name\": \"COMPRADOR TESTE\","
        + "       \"document\": \"12345678909\","
        + "       \"email\" : \"comprador@ntk.com\","
        + "           \"address\" : {"
        + "               \"address\" : \"Rua Fidencio Ramos 100\","
        + "               \"number\": \" 100\","
        + "               \"complement\": \"Apartamento 22\","
        + "               \"district\" : \"Vila Olimpia\","
        + "               \"zipcode\" : \"05890090\","
        + "               \"city\" : \"Sao Paulo\","
        + "               \"state\" : \"SP\""
        + "      }"
        + "   },"
        + "   \"payment\": {"
        + "       \"electronicTransfer\" : {"
        + "          \"provider\" : \"Itau\""
        + "       }"
        + "    }"
        + "}";

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);


Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Não Utilize somente para intenções de venda previamente configuradas
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
description Texto 300 Não Descrição da transação.
customer.name Texto 100 Sim Nome do pagador.
customer.document Texto 18 Sim Número do CPF/CNPJ do pagador.
customer.email Texto 100 Sim Email do pagador.
Campo obrigatório apenas para clientes de sub.
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 Sim 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.
electronicTransfer.provider Texto 20 Sim Nome da instituição financeira :
  • ITAU

RESPOSTA

{
    "transactionId": "6400d988-cc4b-4084-80ee-d5575dbbed4d",
    "referenceId": "19893211234",
    "amount": "1000",
    "description": "Produto ou serviço",
    "dtTransaction": "2020-12-05T16:16:14-0200",
    "customer": {
      "name": "Comprador",
      "document": "12345678909",
      "email": "comprador@email.com",
      "address": {
        "address": "Endereco 100",
        "number" : "100",
        "complement": "Apartamento 22",
        "district": "Vila Olimpia",
        "zipcode": "05890090",
        "city": "Sao Paulo",
        "state": "SP"
      }
    },
    "payment": {
        "electronicTransfer": {
            "providerReference": "20518839",
            "provider": "Itau",
            "url": "https://api.gate2all.com.br/v1/payment/6400d988-cc4b-4084-80ee-d5575dbbed4d"
        }
    },
    "status": 0
}
Propriedade Tipo Tamanho Descrição
transactionId Texto 150 Identificador da transação do GATE2all.
dtTransaction DataHora 19 Data e hora da transação.
electronicTransfer.provider Texto 20 Nome da instituição financeira :
  • ITAU
electronicTransfer.url Texto 300 Endereço de acesso da transação.
electronicTransfer.providerReference Texto 100 Referência da instituição.
status Número 2 tabela de Status

Pix

Disponível em Sandbox, esta documentações poderá sofrer alterações.

Pix é um meio de pagamento eletrônico e faz parte do Sistema de Pagamentos Instantâneos (SPI).

Os pagametos com Pix podem ser realizados pelo gateway no modo integrado. Para isso é necessário cadastrar as chaves do Pix.

O processo para pagamento via Pix é assíncrono, sendo os passos:

  1. Realizar a chamada para efetuar a transação (Detalhes na sequência);
  2. O integrador receberá uma notificação em uma url informada em postBackUrl assim que o qrcode estiver gerado;
  3. O integrador precisa consultar a API para obter os dados do qrcode e imprimir para o cliente (Seguindo orientações do Bacen);
  4. O integrador receberá uma notificação em uma url informada em postBackUrl assim que tiver qualquer mudança no status da transação;
  5. O integrador precisa consultar a API para obter as informações do pagamento com Pix.

Entre 1 até 2 minutos após a geração do qrcode, as transações em sandbox serão automáticamente aprovadas.

Seguem detalhes para realizar a chamada para uma transação com Pix:

Requisição

{
   "referenceId": "19893211234",
   "amount": "1000",
   "description": "Produto ou serviço",
   "postBackUrl": "http://url-notificacao",
   "payment": {
       "pix" : {
            "provider" : "C6BANK",
            "key" : [ "RANDOM_KEY" ],
            "expirationDateTime": "2021-12-25T18:10:53"
       }
    }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
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\": \"123456789\","
        + "\"amount\": \"1000\","
        + "\"description\": \"TV LG 42\","
        + "\"postBackUrl\": \"http://url-notificacao\","
        + "\"payment\": {"
        + "    \"pix\" : {"
        + "        \"provider\" : \"C6BANK\","
        + "        \"key\" : [ \"RANDOM_KEY\" ],"
        + "        \"expirationDateTime\": '2021-12-25T18:10:53' "
        + "    }"
        + "}"
        + "}";

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);


Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Não Utilize somente para intenções de venda previamente configuradas
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
description Texto 300 Não Descrição da transação.
postBackUrl Texto Não URL onde o gateway notificará eventuais alterações de status para o lojista. Caso não informado, precisará ficar consultando a API.
pix.provider Texto 20 Não Sandbox
Nome da instituição financeira:
  • C6BANK
pix.key Texto 20 Não Sandbox
Campos para chave do Pix:
  • RANDOM_KEY (Suportado)
  • EMAIL
  • DOCUMENT
  • PHONE
pix.expirationDateTime Texto 20 Não Sandbox
Data da expiração da qrcode. Formato 2021-01-25T18:10:53.
Caso não enviar para o C6BANK, será expirado em 7 (sete) dias após a criação.

RESPOSTA

{
  "transactionId": "7365ca65-70d4-4d7c-ac3d-a20f5730c241",
  "referenceId": "19893211234",
  "amount": "1000",
  "description": "Produto ou serviço",
  "dtTransaction": "2020-12-08T10:46:31-0300",
  "payment": {
    "pix": {
      "provider": "C6BANK",
      "key": [ "RANDOM_KEY" ],
      "expirationDateTime": "2021-12-25T18:10:53"
    }
  },
  "status": 0
}


Para exemplos de retorno quando o Pix foi Gerado ou Pago clique aqui.
Propriedade Tipo Tamanho Descrição
transactionId Texto 150 Identificador da transação do GATE2all.
dtTransaction DataHora 19 Data e hora da transação.
status Número 2 Status da transação retornado pelo gateway. Para o Pix considerar:
  • 0 - Solicitação do QRCode
  • 1 - QRCode gerado
pix.provider Texto 20 Sandbox
Nome da instituição financeira:
  • C6BANK
pix.key Texto 20 Sandbox
Campos para chave do Pix:
  • RANDOM_KEY (Suportado)
  • EMAIL
  • DOCUMENT
  • PHONE
pix.expirationDateTime Texto 20 Sandbox
Data da expiração da qrcode. Formato 2021-01-25T18:10:53

Captura

Captura é a confirmação de uma transação de Crédito autorizada, após a captura que é confirmada a transação entre lojista e comprador, gerando o crédito para o lojista e o lançamento do débito na fatura do portador do cartão.

Regras da captura

Rede adquirente Prazo Captura Parcial
Cielo 5 dias Sim
Rede(Komerci) (Descontinuado) 2 minutos Não
Rede Rest De acordo com o ramo do estabelecimento Sim
GetNet 20 dias Sim
GetNet Rest 7 dias Sim

Requisição


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/{{transactionId}}/capture");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação (autorização) do GATE2all.

RESPOSTA

Transação autorizada e capturada

{
    "transactionId": "62f5a0b2-c632-4e4e-bc51-3b6681a54a3c",
    "referenceId": "1488917347840",
    "amount": "1000",
    "status": 6,
    "dtTransaction": "2020-12-07T17:09:07",
    "payment": {
        "card": {
          "type": 1,
          "installments": 1,
          "capture": false,
          "recurrent": false,
          "authenticate": 3,
          "interestType": 1,
          "saveCard": false,
          "provider": "CIELO",
          "providerVersion": "3.0",
          "authenticationECI": 7,
          "codAuthorization": "123456",
          "providerReference": "100699306900094D905A",
          "providerCode": "00",
          "providerMessage": "Transacao capturada com sucesso",
          "cardInfo": {
              "number": "421847******1234",
              "brand": "VISA",
              "holderName": "HOLDER NAME"
          }
        }
    },
    "customer": {
        "name": "HOLDER NAME",
        "document": "23650403811"
    }
}

Captura Parcial

Para efetuar uma captura parcial, é necessário enviar um POST passando como parâmetro o valor a ser capturado.

Requisição


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/{{transactionId}}/capture?amount=200");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação do GATE2all.
amount Número 16 Sim Valor da transação a ser capturado sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)

RESPOSTA

Transação autorizada e capturada

{
    "transactionId": "62f5a0b2-c632-4e4e-bc51-3b6681a54a3c",
    "referenceId": "1488917347840",
    "amount": "1000",
    "status": 6,
    "dtTransaction": "2020-12-07T17:09:07",
    "payment": {
        "card": {
          "type": 1,
          "installments": 1,
          "capture": false,
          "capturedAmount": "200",
          "recurrent": false,
          "authenticate": 3,
          "interestType": 3,
          "saveCard": false,
          "provider": "CIELO",
          "providerVersion": "3.0",
          "authenticationECI": 7,
          "codAuthorization": "123456",
          "providerReference": "100699306900094D905A",
          "providerCode": "00",
          "providerMessage": "Transacao capturada com sucesso",
          "cardInfo": {
              "number": "421847******1234",
              "brand": "VISA",
              "holderName": "HOLDER NAME"
          }
        }
    },
    "customer": {
        "name": "HOLDER NAME",
        "document": "23650403811"
    }
}

Cancelamento

Para realizar um cancelamento “estorno”, deve-se observar as seguintes condições:

Prazos para cancelamento

Rede adquirente Prazo para cancelamento
Cielo 300 dias
Rede(Komerci) (Descontinuado) * Até às 23:59 a partir da data da transação.
* Pré-autorização prazo 15 dias.
Rede Rest (Crédito) 90 dias
Rede Rest (Débito) 7 dias
GetNet Até 2 dias.
GetNet Rest Mesmo dia ou D+1

O cancelamento realizado para o adquirente Rede Rest, segue as seguintes regras:

O cancelamento também é permitido para transações com Pix.

Requisição


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/957221f5-d08b-4445-9896-52152f31b846/void");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação do GATE2all.

RESPOSTA

Transação com cartão cancelada

{
    "transactionId": "62f5a0b2-c632-4e4e-bc51-3b6681a54a3c",
    "referenceId": "1488917347840",
    "amount": "200",
    "status": 9,
    "dtTransaction": "2020-12-07T17:09:07",
    "payment": {
        "card": {
            "type": 1,
            "interestType": 3,
            "installments": 1,
            "capture": false,
            "authenticate": 3,
            "provider": "CIELO",
            "providerVersion": "3.0",
            "authenticationECI": 7,
            "codAuthorization": "123456",
            "providerReference": "100699306900094D905A",
            "providerCode": "00",
            "providerMessage": "Transacao cancelada com sucesso",
            "saveCard": false,
            "cardInfo": {
                "number": "421847******1234",
                "brand": "VISA",
                "holderName": "HOLDER NAME"
            }
        }
    },
    "customer": {
        "name": "HOLDER NAME",
        "document": "23650403811"
    }
}

Transação com Pix cancelada

{
"transactionId": "62f5a0b2-c632-4e4e-bc51-3b6681a54a3c",
"referenceId": "1488917347840",
"amount": "200",
"status": 9,
"dtTransaction": "2020-12-07T17:09:07",
"payment": {
    "pix": {
        "provider" : "C6BANK",
        "key" : [ "RANDOM_KEY" ]
    }
},
"customer": {
    "name": "HOLDER NAME",
    "document": "23650403811"
}
}

Cancelamento Parcial

Para realizar um cancelamento “estorno” parcial, deve-se observar as seguintes condições:

Prazos para cancelamento parcial

Rede adquirente Prazo para cancelamento
Rede Rest (Crédito) Total/Parcial - 90 dias
Rede Rest (Débito) Total/Parcial - 7 dias

Requisição


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/957221f5-d08b-4445-9896-52152f31b846/void?amount=100");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação do GATE2all.
amount Número 16 Sim Valor da transação a ser cancelado sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)

RESPOSTA

Transação cancelada

{
  "transactionId": "62f5a0b2-c632-4e4e-bc51-3b6681a54a3c",
  "referenceId": "1488917347840",
  "amount": "200",
  "status": 9,
  "dtTransaction": "2020-12-07T17:09:07",
  "payment": {
    "card": {
      "type": 1,
      "interestType": 3,
      "installments": 1,
      "capture": false,
      "authenticate": 3,
      "provider": "CIELO",
      "providerVersion": "3.0",
      "authenticationECI": 7,
      "codAuthorization": "123456",
      "providerReference": "100699306900094D905A",
      "providerCode": "00",
      "providerMessage": "Transacao cancelada com sucesso",
      "saveCard": false,
      "cardInfo": {
        "number": "421847******1234",
        "brand": "VISA",
        "holderName": "HOLDER NAME"
      }
    }
  },
  "customer": {
  "name": "HOLDER NAME",
  "document": "23650403811"
  }
}

Consulta

Para realizar uma consulta é necessário enviar um GET para o seguinte recurso:

Requisição


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/d31dcd70-6666-40af-85ba-ed1ff23bc293");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação do GATE2all.

RESPOSTA

Retorno Transação de Crédito.

{
  "transactionId": "62f5a0b2-c632-4e4e-bc51-3b6681a54a3c",
  "referenceId": "1488917347840",
  "amount": "100",
  "status": 9,
  "dtTransaction": "2020-12-07T17:09:07",
  "payment": {
    "card": {
      "type": 1,
      "interestType": 3,
      "integrationType": 1,
      "installments": 1,
      "capture": false,
      "authenticate": 3,
      "codAuthorization": "123456",
      "providerReference": "100699306900094D905A",
      "saveCard": false,
      "recurrent": false,
      "provider": "CIELO",
      "providerVersion": "3.0",
      "cardInfo": {
        "number": "421847******1234",
        "brand": "VISA",
        "holderName": "HOLDER NAME"
      }
    }
  },
  "customer": {
    "name": "HOLDER NAME",
    "document": "23650403811"
  }
}

Retorno Transação com Boleto

{
  "transactionId": "7365ca65-70d4-4d7c-ac3d-a20f5730c241",
  "referenceId": "19893211234",
  "amount": "1000",
  "description": "Produto ou serviço",
  "dtTransaction": "2020-12-08T10:46:31-0300",
  "customer": {
    "name": "Comprador",
    "document": "12345678909",
    "email": "comprador@email.com",
    "address": {
      "address": "Endereco",
      "number": "100",
      "complement": "Apartamento 22",
      "district": "Vila Olimpia",
      "zipcode": "09878675",
      "city": "Sao Paulo",
      "state": "SP"
    }
  },
  "payment": {
    "bankSlip": {
      "providerReference": "20575112",
      "emissionDate": "2020-12-08",
      "expirationDate": "2020-12-10",
      "instructions": "Aceitar somente até a data de vencimento, após essa data juros de 1% dia",
      "guarantor": "Comprador",
      "provider": "ITAU",
      "paymentDate": "2020-12-08",
      "paymentAmount": "100",
      "url": "https://api.gate2all.com.br/v1/payment/6400d988-cc4b-4084-80ee-d5575dbbed4d"
    }
  },
  "status": 0
}

Retorno Transação com Transferência

{
  "transactionId": "6400d988-cc4b-4084-80ee-d5575dbbed4d",
  "referenceId": "19893211234",
  "amount": "1000",
  "description": "Produto ou serviço",
  "dtTransaction": "2020-12-05T16:16:14-0200",
  "customer": {
    "name": "Comprador",
    "document": "12345678909",
    "email": "comprador@email.com",
    "address": {
      "address": "Endereco 100",
      "number" : "100",
      "complement": "Apartamento 22",
      "district": "Vila Olimpia",
      "zipcode": "05890090",
      "city": "Sao Paulo",
      "state": "SP"
    }
  },
  "payment": {
    "electronicTransfer": {
      "providerReference": "20518839",
      "provider": "Itau",
      "url": "https://api.gate2all.com.br/v1/payment/6400d988-cc4b-4084-80ee-d5575dbbed4d"
    }
  },
  "status": 0
}

Retorno Transação com Pix (status = 1)

{
  "transactionId": "6400d988-cc4b-4084-80ee-d5575dbbed4d",
  "referenceId": "19893211234",
  "amount": "1000",
  "description": "Produto ou serviço",
  "dtTransaction": "2020-12-05T16:16:14-0200",
  "payment": {
    "pix": {
      "provider": "C6BANK",
      "key": [ "RANDOM_KEY" ],
      "expirationDateTime": "2021-12-25T18:10:53",
      "qrCode": "texto-para-impressão-do-qrcode"
  }
  },
  "status": 1
}

Retorno Transação com Pix (status = 6)

{
  "transactionId": "6400d988-cc4b-4084-80ee-d5575dbbed4d",
  "referenceId": "19893211234",
  "amount": "1000",
  "description": "Produto ou serviço",
  "dtTransaction": "2020-12-05T16:16:14-0200",
  "payment": {
    "pix": {
      "provider": "C6BANK",
      "key": [ "RANDOM_KEY" ],
      "expirationDateTime": "2021-12-25T18:10:53",
      "paymentAmount": "1000",
      "payer": {
        "name": "Jaelma",
        "document": "Número do CPF/CNPJ",
        "provider": "C6BANK"
      }
    }
  },
  "status": 6
}
Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
status Número 2 Não Status da transação retornado pelo gateway. catálogo
customer.name Texto 100 Sim Nome do portador do cartão.
customer.document Texto 18 Não Número do CPF/CNPJ do portador do cartão.
customer.mail Texto 40 Não E-mail 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 Sim 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.
card.type Número 1 Não Configura as opcões disponíveis. 1 Configura cartão de crédito. 2 Configura cartão de débito.
card.installments Número 2 Sim Número de parcelas.
card.capture Booleano Sim true = Autoriza e confirma a transação . false = Autorização, mas não confirma a transação, necessitando realizar a confirmação (Captura) noutra requisição.
card.authenticate Número 1 Nã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
card.interestType Número 1 Não Default: 3 - Operações disponíveis:
3. Parcelado Loja
4. Parcelado Administrador
card.integrationType Número 1 Sim Tipo de integração disponível pelo Gate2All:
1. Integrado
2. Loja
3. Direto
card.saveCard Booleano Sim Configura salvar o cartão (tokenização).
card.codAuthorization Texto 100 Não Codigo de autorização da instituição.
card.providerReference Texto 100 Não Referência da instituição.
cardInfo.number Texto 19 Sim Número do cartão.
cardInfo.brand Texto 20 Sim Bandeira do cartão. Bandeiras.
cardInfo.holderName Texto 25 Não Nome do Portador impresso no cartão, só aceita caracteres
bankSlip.emissionDate Texto 20 Sim Data de emissão do boleto. formato YYYY-MM-DD
bankSlip.expirationDate Texto 20 Sim Data de vencimento do boleto. formato YYYY-MM-DD
bankSlip.instructions Texto 300 Sim Instruções do boleto.
bankSlip.guarantor Texto 45 Sim Nome do avalista.
bankSlip.provider Texto 20 Sim Nome da instituição financeira :
  • BRADESCO
  • ITAU
  • SANTANDER
bankSlip.paymentDate Texto 20 Não Data de pagamento do boleto. formato YYYY-MM-DD
bankSlip.paymentAmount Número 16 Não Valor de pagamento do boleto sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
bankSlip.url Texto 300 Não Endereço de acesso da transação.
bankSlip.providerReference Texto 100 Não Referência da instituição.
electronicTransfer.provider Texto 20 Não Nome da instituição financeira :
  • ITAU
electronicTransfer.url Texto 300 Não Endereço de acesso da transação.
electronicTransfer.providerReference Texto 100 Não Referência da instituição.
pix.provider Texto 20 Não Sandbox
Nome da instituição financeira:
  • C6BANK
pix.key Texto 20 Não Sandbox
Campos para chave do Pix:
  • RANDOM_KEY (Suportado)
  • EMAIL
  • DOCUMENT
  • PHONE
pix.qrCode Texto - Não Sandbox
Conteúdo para gerar o QRCode a ser pago.
Retornado quando o status da transação é 1.
pix.paymentAmount Texto - Não Sandbox
Valor pago pelo pagador.
Retornado quando o status da transação é 6.
pix.payer - - Não Sandbox
Informações do pagador.
Retornado quando o status da transação é 6.
payer.name Texto - Não Sandbox
Nome do pagador.
Retornado quando o status da transação é 6.
payer.document Texto - Não Sandbox
Número do CPF ou CNPJ do pagador.
Retornado quando o status da transação é 6.
payer.provider Texto - Não Sandbox
Provider utilizado pelo pagador para pagamento do Pix.
Retornado quando o status da transação é 6.
pix.expirationDateTime Texto 20 Não Sandbox
Retorna a data da expiração da qrcode. Formato 2021-01-25T18:10:53

Consulta pelo número do Pedido

É possível realizar uma consulta pelo número do pedido através do seguinte recurso:

Requisição


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?referenceId=1493321061725");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.

RESPOSTA

Retorno da Transação.

[
  {
    "transactionId": "b9a37a7b-5ffe-4993-82ab-a26b6f332afe",
    "amount": "100",
    "status": 6,
    "dtTransaction": "2020-12-15T11:17:40"
  }
]
Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação retornado pelo gateway.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
status Número 2 Não Status da transação retornado pelo gateway. catálogo
dtTransaction DataHora 19 Data e hora da transação.

Consulta pelo número do Pedido com Limite

Também é possível realizar uma consulta pelo número do pedido passando um limite.

Requisição


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?referenceId=1493321061725&limit=2");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.
limit Número 10 Não Limite Máximo de pedidos 10.

RESPOSTA

Retorno da Transação.

[
  {
    "transactionId": "894aa0ad-517a-435c-b95d-8f60f1a2b9f5",
    "amount": "100",
    "status": 5,
    "dtTransaction": "2020-12-16T07:37:23"
  },
  {
    "transactionId": "5dbc102d-2b4b-4755-9f14-1b4c3d8a6716",
    "amount": "100",
    "status": 5,
    "dtTransaction": "2020-12-16T07:37:00"
  }
]
Propriedade Tipo Tamanho Obrigatório Descrição
transactionId Texto 150 Sim Identificador da transação retornado pelo gateway.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
status Número 2 Não Status da transação retornado pelo gateway. catálogo
dtTransaction DataHora 19 Data e hora da transação.

Tokenização

O método de tokenização permite a realização de transações sem o envio dos dados do cartão de crédito pela loja virtual. Os dados do cartão são armazenados na rede adquirente que retorna um código associado ao número do cartão e o estabelecimento que solicitou o armazenamento.

Os dados do cartão poderão ser salvos de três formas:

  1. Configurando o parâmetro "saveCard": true nas requisições de transação de cartão de crédito.

  2. Acionando o formulário do GATE2all para capturar os dados do cartão (desta forma seu sistema não manipula os dados sensíveis do cartão).

  3. Enviando os dados do cartão via POST.

REGRAS DA TOKENIZAÇÃO:

Esta integração permite que o desenvolvedor da loja virtual implemente:

Tokenização com Formulário

Para criar um formulário que capturá os dados do cartão para gerar um token é necessário enviar um POST para o seguinte recurso:

REQUISIÇÃO

{
    "referenceId": "19893211234",
    "postBackUrl": "http://url-notificacao",
    "redirectUrl": "http://url-redirect",
    "cardInfo": {
      "brand" : "VISA"  
    }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

URL obj = new URL("https://api.gate2all.com.br/v1/tokenization/intention");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();

con.setRequestMethod("POST");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

String body = "{"
        + "\"postBackUrl\": \"http://url-notificacao\","
        + "\"redirectUrl\": \"http://url-redirect\","
        + "\"cardInfo\": {"
        + "\"brand\" : \"VISA\""
        + "}",
        + "}";

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);

Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.
postBackUrl Texto Sim URL onde o GATE2all notificará eventuais status da tokenização para o lojista.
redirectUrl Texto Sim URL onde o GATE2all redirecionará o comprador após o processamento da tokenização.
brand Texto 20 Não Bandeira do cartão.Bandeiras.

RESPOSTA

{
  "tokenizationId": "b303e861-37d3-4d11-866b-735c6ff58989",
  "referenceId": "1495660823910",
  "postBackUrl": "http://url-notificacao",
  "redirectUrl": "http://url-redirect",
  "url": "http://api.2all.com.br/v1/save-card/b303e861-37d3-4d11-866b-735c6ff58989",
  "saveCard": true,
  "cardInfo": {
    "brand": "VISA"
  }
}
Propriedade Tipo Tamanho Descrição
tokenizationId Texto 36 Identificador da tokenização do GATE2all.
url Texto 150 URL disponível para acesso a tokenização.
cardInfo.saveCard Booleano Sim





Tokenização Direta

Para realizar uma tokenização direta é necessário enviar um POST para o seguinte recurso:

Requisição

{
    "referenceId": "19893211234",
    "postBackUrl": "http://url-notificacao",
    "cardInfo": {
      "number": "4024007148992927",
      "expirationMonth": "04",
      "expirationYear": "2026",
      "brand": "VISA",
      "holderName": "Comprador"
    }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

URL obj = new URL("https://api.gate2all.com.br/v1/tokenization");
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\": \"123456789\","
    + "\"postBackUrl\": \"http://url-notificacao\","
    + "    \"cardInfo\": {"
    + "        \"number\": \"4556326359707410\","
    + "        \"expirationMonth\": \"04\","
    + "        \"expirationYear\": \"2026\","
    + "        \"brand\": \"VISA\","
    + "        \"holderName\": \"Comprador\""
    + "      }"
    + "}";

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);

Propriedade Tipo Tamanho Descrição
referenceId Texto 100 Sim
postBackUrl Texto URL onde o GATE2all notificará os dados da tokenização.
cardInfo.number Texto 20 Número do cartão truncado.
cardInfo.expirationMonth Número 2 Mês da validade do cartão. Formato MM
cardInfo.expirationYear Número 4 Ano da validade do cartão. Formato YYYY
cardInfo.brand Texto 20 Bandeira do cartão.Bandeiras.
cardInfo.holderName Texto 25 Nome do Portador impresso no cartão, só aceita caracteres

RESPOSTA

Tokenização gerada

{
  "tokenizationId": "f414a0b8-f5de-4245-aae5-733f10c1963d",
  "referenceId": "19893211234",
  "postBackUrl": "http://url-notificacao",
  "provider": "CIELO",
  "saveCard": true,
  "cardInfo": {
    "number": "402400******2927",
    "expirationMonth": "04",
    "expirationYear": "2026",
    "brand": "VISA",
    "token": "be4cbeb1-abb2-4913-8165-f86962143fa021",
    "holderName": "Comprador"
  }
}
Propriedade Tipo Tamanho Descrição
tokenizationId Texto 36 Identificador da tokenização do GATE2all.
provider Texto 100 Nome da Rede Adquirente.
saveCard Booleano Sim Configura salvar o cartão (tokenização).
cardInfo.token Texto 100 Token do cartão.

Consulta Token

Para realizar uma consulta de token é necessário enviar um GET para o seguinte recurso:

Requisição


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/tokenization/be4cbeb1-abb2-4913-8165-f86962143fa021");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
token Texto 150 Sim Token NTK retornado na tokenização do cartão.

RESPOSTA

Retorno Consulta Token .

{
  "tokenizationId": "7c6785d9-4922-4b0d-986e-9bb5e624c613",
  "referenceId": "1496173577825",
  "postBackUrl": "",
  "saveCard": true,
  "provider": "CIELO",
  "cardInfo": {
    "number": "402400******2927",
    "expirationMonth": "04",
    "expirationYear": "2026",
    "brand": "VISA",
    "token": "be4cbeb1-abb2-4913-8165-f86962143fa021",
    "holderName": "Comprador"
  }
}
Propriedade Tipo Tamanho Descrição
tokenizationId Texto 36 Identificador da tokenização do GATE2all.
referenceId Texto 100 Número de identificação da loja.
postBackUrl Texto URL onde o GATE2all notificará eventuais status da trancação para o lojista.
provider Texto 100 Nome da Rede Adquirente.
saveCard Booleano Default true
cardInfo.number Texto 20 Número do cartão truncado.
cardInfo.expirationMonth Número 2 Mês da validade do cartão. Formato MM
cardInfo.expirationYear Número 4 Ano da validade do cartão. Formato YYYY
cardInfo.brand Texto 20 Bandeira do cartão.Bandeiras.
cardInfo.token Texto 100 Token do cartão.
cardInfo.holderName Texto 25 Nome do Portador impresso no cartão, só aceita caracteres

Consulta do token pelo Número de Referencia com Limite

Também é possível realizar uma consulta pelo número de referência passando ou não um limite.

Requisição


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/tokenization?referenceId=1496173577825&limit=2");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("content-type", "application/json");
con.setRequestProperty("authenticationApi", "demo");
con.setRequestProperty("authenticationKey", "demo");

Scanner scanner = new Scanner(new BufferedReader(new InputStreamReader(con.getInputStream())));
String response = scanner.nextLine();
scanner.close();

System.out.println(response);

Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.
limit Número 10 Não Limite Máximo de referências 10.

RESPOSTA

Retorno da Transação.

[
  {
    "tokenizationId": "7c6785d9-4922-4b0d-986e-9bb5e624c613",
    "referenceId": "1496173577825",
    "postBackUrl": "",
    "saveCard": true,
    "provider": "CIELO",
    "cardInfo": {
      "number": "402400******2927",
      "expirationMonth": "04",
      "expirationYear": "2026",
      "brand": "VISA",
      "token": "be4cbeb1-abb2-4913-8165-f86962143fa021"
    }
  }
]
Propriedade Tipo Tamanho Descrição
tokenizationId Texto 36 Identificador da tokenização do GATE2all.
referenceId Texto 100 Número de identificação da loja.
provider Texto 100 Nome da Rede Adquirente.
saveCard Booleano Default true
cardInfo.number Texto 20 Número do cartão truncado.
cardInfo.expirationMonth Número 2 Mês da validade do cartão. Formato MM
cardInfo.expirationYear Número 4 Ano da validade do cartão. Formato YYYY
cardInfo.brand Texto 20 Bandeira do cartão. Bandeiras.
cardInfo.token Texto 100 Token do cartão.

Transação com Token

Para criar uma transação com token é necessário enviar um POST para o seguinte recurso:

REQUISIÇÃO

{
   "referenceId": "19893211234",
   "amount": "1000",
   "description": "Mouse sem fio",
   "customer": {
      "name": "Comprador Teste",
      "document": "12345678909"
   },
   "payment": {
       "card": {
          "type": 1,
          "capture": false,
          "installments": 1,
          "interestType": 3,
          "authenticate": 3,
          "softDescriptor": "Pagamento GATE2all",
          "cardInfo": {
              "token": "4b6a2aa5-de91-4d52-a4d1-f265f208e5a321"
          }
       }
   }
}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
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\": \"123456789\","
      + "\"amount\": \"1000\","
      + "\"description\": \"TV LG 42\","
      + "\"postBackUrl\": \"http://requestb.in/qkg1clqk\","
      + "    \"customer\": {"
      + "        \"name\": \"LUIS A R ROMERO\","
      + "        \"document\": \"12345678909\""
      + "   },"
      + "    \"payment\": {"
      + "        \"card\": {"
      + "           \"type\": 1,"
      + "           \"capture\": true,"
      + "           \"installments\": 1,"
      + "           \"interestType\": 3,"
      + "           \"softDescriptor\": \"EC02\","
      + "           \"cardInfo\": {"
      + "               \"token\": \"7a7820d0-ff6d-484a-8b8e-988d6d0ec0cc21\""
      + "           }"
      + "        }"
      + "    }"
      + "   "
      + "}";

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);

Propriedade Tipo Tamanho Obrigatório Descrição
referenceId Texto 100 Sim Número de identificação da loja.
amount Número 16 Sim Valor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
description Texto 300 Não Descrição da transação.
customer.name Texto 100 Sim Nome do portador do cartão.
customer.document Texto 18 Não Número do CPF/CNPJ do portador do cartão.
card.type Número 1 Não Default 1 - Configura as opcões disponíveis. 1 Configura cartão de crédito. 2 Configura cartão de débito.
card.capture Boolano Sim true = Autoriza e confirma a transação . false = Autorização, mas não confirma a transação, necessitando realizar a confirmação (Captura) noutra requisição.
card.installments Número 2 Sim Número de parcelas.
card.interestType Número 1 Não Default: 3 - Operações disponíveis:
3. Parcelado Loja
4. Parcelado Administrador
card.authenticate Número 1 Nã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
card.softDescriptor Texto 22 Não Texto a ser exibido na fatura do portador do cartão.SoftDescriptor
cardInfo.token Texto 100 Sim Token gerado anteriormente pela operação de Tokenização.
cardInfo.cvv Número 4 Não Código de segurança do cartão. Ao informar torna a transação mais segura.

RESPOSTA

Transação autorizada e não capturada

{
  "transactionId": "5a51ae6b-e91e-4b38-b596-e2acb77dca43",
  "referenceId": "1489093308860",
  "description": "Mouse sem fio",
  "amount": "1000",
  "status": 5,
  "dtTransaction": "2020-12-09T18:01:17",
  "payment": {
    "card": {
      "type": 1,
      "installments": 1,
      "capture": false,
      "authenticate": 3,
      "softDescriptor": "Pagamento GATE2all",
      "interestType": 3,
      "integrationType": 1,
      "provider": "CIELO",
      "providerVersion": "3.0",
      "authenticationECI": 7,
      "codAuthorization": "123456",
      "providerReference": "10069930690009510E9A",
      "providerCode": "00",
      "providerMessage": "Transação autorizada",
      "saveCard": true,
      "cardInfo": {
        "number": "402400******2927",
        "expirationMonth": "04",
        "expirationYear": "2026",
        "cvv": "***",
        "brand": "VISA",
        "token": "4b6a2aa5-de91-4d52-a4d1-f265f208e5a321"
      }
    }
  },
  "customer": {
    "name": "Comprador Teste",
    "document": "12345678909"
  }
}
Propriedade Tipo Tamanho Descrição
transactionId Texto 150 Identificador da transação do GATE2all.
dtTransaction DataHora 19 Data e hora da transação.
card.provider Texto 100 Nome da instituição financeira.
card.providerVersion Texto 11 Versão da Integração do Fornecedor
card.providerReference Texto 100 Referência da instituição.
card.providerMessage Texto 100 Mensagem da instituição.
card.providerCode Texto 100 Codigo de resposta da instituição.
card.codAuthorization Texto 100 Codigo de autorização da instituição.
card.authenticationECI Texto 100 Indicador de autenticação da transação.Códigos ECI
cardInfo.number Texto 20 Número do cartão truncado.
cardInfo.brand Texto 20 Bandeira do cartão.Bandeiras.
cardInfo.expirationMonth Número 2 Mês da validade do cartão. Formato MM
cardInfo.expirationYear Número 4 Ano da validade do cartão. Formato YYYY
cardInfo.cvv Número 4 Código de segurança do cartão truncado
status Número 2 Status da transação retornado pelo GATE2all catálogo.

Notificação

No GATE2all Loja e GATE2all Integrado é possível enviar uma URL de Notificação na requisição ou registrar essa URL no GATE2all caso seja a mesma URL para todas as requisições, o GATE2all notificará qualquer mudança de status de uma transação na URL enviada ou registrada.

A notificação é um POST na URL com o seguinte corpo da mensagem em formato JSON:

Exemplo de notificação

{
    "transactionId": "91d4f152-7024-4a4a-a212-ab457fe6e766",
    "referenceId": "5SVM9W4"
}
curl -X POST \
  https://hookbin.com/bin/ZB77eo1a \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "transactionId": "91d4f152-7024-4a4a-a212-ab457fe6e766",
    "referenceId": "5SVM9W4"
}'

A notificação espera como resposta um 200 (Status HTTP), caso a resposta não seja um 200, o sistema tentará 5 vezes mais. Lembrando que é possível efetuar a consulta em qualquer operação, com a consulta pelo transactionId ou pelo referenceId consulta

STATUS

Status retornados pela API

CÓDIGO DESCRIÇÃO TIPO DE STATUS
0 TRANSACAO INICIADA Transitório
1 AGUARDANDO PAGAMENTO Transitório
2 EFETIVADA Transitório
3 EM ANALISE Transitório
4 EXPIRADA Definitivo
5 AUTORIZADA Transitório
6 CONFIRMADA Definitivo
7 NEGADA Definitivo
8 CANCELAMENTO EM ANDAMENTO Transitório
9 CANCELADA Definitivo
10 PENDENTE DE CONFIRMAÇÃO Transitório
11 FALHA NA COMUNICAÇÃO COM FORNECEDOR Definitivo
12 INTENCAO CANCELADA Definitivo

HTTP Status Code

HTTP STATUS CODE DESCRIÇÃO
200 OK
201 Created
400 Bad Request
401 Unauthorized
404 Resource Not Found
405 Method Not Allowed
500 Internal Server Error
503 Service Unavailable

Erros da API

RESPOSTA

{
  "error": {
    "message": "O campo amount e obrigatorio."
  }
}
{
  "error": {
    "message": "O campo amount e obrigatorio."
  }
}
Propriedade Descrição
message Mensagem de erro retornado pelo GATE2all

STATUS ECI

RESULTADO DA AUTENTICAÇÃO VISA MASTERCARD AURA DEMAIS
Transação autenticada com sucesso 5 2 N/D N/D
Portador não fez autenticação, pois o emissor não forneceu mecanismos de autenticação. 6 1 N/D N/D
Portador não se autenticou com sucesso, pois ocorreu um erro técnico inesperado. 7 1 N/D N/D
Portador não se autenticou com sucesso. 7 0 N/D N/D
A loja optou por autorizar sem passar pela autenticação. 7 0 0 7

SoftDescriptor

As adquirentes suportam uma quantidade distinta de caracteres no Soft Descriptor, caso seja enviado mais caracteres que o suportado pela adquirente a quantidade excedente não será enviada.

PROVIDER Tamanho máximo
Cielo 13
Rede 13
GetNet 22
GetNet Rest 22

Redes Adquirentes

PROVIDER PROVIDERVERSION
Cielo 1.5
Cielo 3.0
Rede Rest
GetNet Não enviar
GetNet Rest

Bandeiras

Bandeiras suportadas pela API

Adquirente Tipo Cielo Rede Rest GetNet GetNet Rest
Visa Crédito
Mastercard Crédito
Diners Club Crédito
American Express Crédito
Elo Crédito
Hipercard Crédito
Hiper Crédito
Aura Crédito
Discover Crédito
JCB Crédito
Credz Crédito
Amex Crédito
Cabal Crédito
Sorocred Crédito
Credsystem Crédito
Banescard Crédito
Visa Electron Débito
Mastercard Maestro Débito
Elo Caixa Econômica Federal Débito Virtual