Pix
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:
- Realizar a chamada para efetuar a transação (Detalhes na sequência);
- O integrador receberá uma notificação em uma url informada em postBackUrl assim que o qrcode estiver gerado;
- O integrador precisa consultar a API para obter os dados do qrcode e imprimir para o cliente (Seguindo orientações do Bacen);
- O integrador receberá uma notificação em uma url informada em postBackUrl assim que tiver qualquer mudança no status da transação;
- 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
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 | — | Sim | 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 ITAU |
pix.key | Texto | 20 | Não | Sandbox Campos para chave do Pix: RANDOM_KEY 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 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
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 | Nome da instituição financeira: C6BANK ITAU |
pix.key | Texto | 20 | Campos para chave do Pix: RANDOM_KEY DOCUMENT PHONE |
pix.expirationDateTime | Texto | 20 | Data 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.
Updated about 1 year ago