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.

🚧

Caso não seja enviado a data de expiração (expirationDateTime), será considerado 7 dias a partir da data criação da transação.

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

REQUISIÇÃO

🚧

POST

/v1/transactions

PROPRIEDADETIPOTAMANHOOBRIGATÓRIODESCRIÇÃO
transactionIdTexto150NãoUtilize somente para intenções de venda previamente configuradas
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 gateway notificará eventuais alterações de status para o lojista. Caso não informado, precisará ficar consultando a API.
pix.providerTexto20NãoSandbox
Nome da instituição financeira:

C6BANK
ITAU
pix.keyTexto20NãoSandbox
Campos para chave do Pix:

RANDOM_KEY
EMAIL
DOCUMENT
PHONE
pix.expirationDateTimeTexto20NãoSandbox

Data da expiração da qrcode. Formato 2021-01-25T18:10:53.
Caso não enviar será incluído uma expiração de 7 (sete) dias após a criação.
{
  "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
}
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);

[Para exemplos de retorno quando o Pix foi Gerado ou Pago clique aqui. ](https://devpaygo.readme.io/v5/docs/consulta

RESPOSTA

PROPRIEDADETIPOTAMANHODESCRIÇÃO
transactionIdTexto150Identificador da transação do GATE2all.
dtTransactionDataHora19Data e hora da transação.
statusNúmero2Status da transação retornado pelo gateway. Para o Pix considerar:
0 - Solicitação do QRCode
1 - QRCode gerado
pix.providerTexto20Nome da instituição financeira:

C6BANK
ITAU
pix.keyTexto20Campos para chave do Pix:
RANDOM_KEY
EMAIL
DOCUMENT
PHONE
pix.expirationDateTimeTexto20Data da expiração da qrcode. Formato 2021-01-25T18:10:53
{
  "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.


A seguir...