Intenção de Venda

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

🚧

POST

/v1/intention

REQUISIÇÃO

PROPRIEDADETIPOTAMANHOOBRIGATÓRIODESCRIÇÃO
referenceIdTexto100SimNúmero de identificação da loja.
amountNúmero16SimValor da transação sem pontuação. Os dois últimos dígitos são os centavos. (Ex: amount: 100 = R$ 1,00)
descriptionTexto300NãoDescrição da transação.
postBackUrlTextoSimURL onde o GATE2all notificará eventuais status da trancação para o lojista notificação
redirectUrlTextoNãoURL onde o GATE2all redirecionará o comprador após o processamento da transação.
dtExpirationTexto20NãoData da expiração da intenção. Formato 2021-01-25T18:10:53
customer.nameTexto100SimNome do portador do cartão.
customer.documentTexto18SimNúmero do CPF/CNPJ do portador do cartão.
customer.emailTexto100SimEmail do portador do cartão.
customer.phoneNumberTexto18NãoNúmero de telefone do cliente.
address.addressTexto60SimEndereço do comprador.
address.numberTexto10SimNúmero do endereço do comprador.
address.complementTexto150NãoComplemento do endereço do comprador.
address.districtTexto80SimBairro do comprador.
address.zipcodeNúmero8SimCEP do comprador sem formatação.
Exemplo: 04549002.
address.cityTexto30SimCidade do comprador.
address.stateTexto2SimSigla do estado do comprador.
card.typeNúmero1NãoDefault: 0, configura as opcões disponíveis. 1 Configura cartão de crédito. 2 Configura cartão de débito.
card.captureBooleano-Simtrue = 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.installmentsNúmero2SimNúmero de parcelas.
card.fixedInstallmentsBooleano-NãoDefault: false - True = não permite que o comprador selecione a quantidade de parcelas no formulário de pagamento.
card.interestTypeNúmero1NãoDefault: 3 - Operações disponíveis:
3. Parcelado Loja
4. Parcelado Administrador
card.authenticateNúmero1NãoDefault: 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.softDescriptorTexto22NãoTexto a ser exibido na fatura do portador do cartão.SoftDescriptor
card.saveCardBooleanoNãoConfigura salvar o cartão (tokenização).
card.recurrentBooleanoNãoInforma se a transação é recorrente.
electronicTransfer.providerTexto20SimNome da instituição financeira:

ITAU
bankSlip.expirationDateTexto20SimData de vencimento do boleto. formato YYYY-MM-DD
bankSlip.instructionsTexto300SimInstruçõ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.guarantorTexto45SimNome do avalista.
bankSlip.providerTexto20SimNome da instituição financeira:

BRADESCO
ITAU
* SANTANDER
pix.providerTexto20NãoNome da instituição financeira:

C6BANK
ITAU
pix.keyTexto20NãoCampos utilizados para o Pix:

RANDOM_KEY
EMAIL
DOCUMENT
PHONE
pix.expirationDateTimeTexto20NãoData da expiração da qrcode. Formato 2021-01-25T18:10:53
{
    "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": "[email protected]",
        "phoneNumber": "1199922322322",
        "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\": \"[email protected]\","
        + "       \"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);

🚧

Caso a intenção de venda com pagamento em boleto ou Pix possuem a data de expiração inferior a data atual, não serão exibidas as respectivas opções para pagamento.

RESPOSTA SUCESSO
Status : 201

PROPRIEDADETIPOTAMANHODESCRIÇÃO
transactionIdTexto36Identificador da transação do GATE2all.
urlTexto150URL da intenção.
{
  "transactionId": "b9bb32a8-401e-41a0-a9ee-af9e8ab0de92",
  "url": "https://api.gate2all.com.br/v1/payment/b9bb32a8-401e-41a0-a9ee-af9e8ab0de92"
}

RESPOSTA ERRO
Status : 400

PROPRIEDADETIPOTAMANHODESCRIÇÃO
DESCRIÇÃOTexto50Texto informando o erro na geração da Intenção de Venda.
{
  "error": {
    "message": "amount nao pode ser vazio"
  }
}

🚧

Redirecione o comprador para a URL da resposta.