Escolar Documentos
Profissional Documentos
Cultura Documentos
Documentação
Versão 4.3.2
Obs.: O apk com o texto “universal-release” no nome, pode ser instalado no terminal debug. Os
outros apks na pasta “Rebatedor - Para simuladores” podem ser utilizados em emuladores “x86”
ou “armeabi-v7a”.
Atenção: Para que seu aplicativo seja aprovado em nosso processo de certificação é obrigatório
que ele funcione em todos os modelos de terminais do POS Digital, que são: Ingenico APOS A8
e Newland N910.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(RESULT_OK == resultCode && RESQUEST_CODE == requestCode){
foo();
}
}
}
URL Função
Prioridade de pagamento
É possível desabilitar os atalhos de “Pagamento”, “Pré-autorização” e “Estorno” da
aplicação de pagamento da Getnet, para que o cliente/usuário só possa realizar pagamentos
através da sua aplicação. Neste caso, é necessário que no arquivo AndroidManifest.xml no
elemento <application> da sua aplicação, seja inserido o meta-data conforme exemplo abaixo:
Modo Quiosque
O Modo Quiosque é uma funcionalidade que permiti que o POS Digital que estiver em
posse do Usuário funcione como um terminal de autoatendimento.
Principais características:
• Somente um aplicativo aberto: O usuário não poderá abrir outros aplicativos;
• Senha necessária para ativar e desativar o Modo Quiosque e para acessar
configurações do terminal;
• Tela sempre ligada;
• Pronto para ser colocado em um totem de autoatendimento;
Para que seu aplicativo possa ser utilizado no Modo Quiosque é necessário que no arquivo
AndroidManifest.xml no elemento <application> da sua aplicação, seja inserido o meta-data
conforme exemplo abaixo:
Quando houver o meta-data “kiosk_mode” com o valor igual a 1 (um), o aplicativo irá aparecer
na lista de aplicativos disponíveis para o Modo Quiosque, conforme a imagem a seguir:
Responsabilidade de Impressão
Ao utilizar a funcionalidade Responsabilidade de Impressão o aplicativo Pagamento não
vai imprimir os comprovantes do estabelecimento e do cliente. Seu aplicativo ficará
responsável pela impressão dos comprovantes.
Para utilizar esta funcionalidade seu aplicativo deve usar o deeplink especificado nas
seções Pagamento v3, Pré-autorização v2 ou Estorno e enviar “true” no parâmetro
allowPrintCurrentTransaction.
Atenção! Para que seu aplicativo possa utilizar este parâmetro é necessário usar em
conjunto um meta-data no arquivo AndroidManifest.xml no elemento <application> da sua
aplicação, este deve estar com o valor 1, conforme exemplo abaixo:
Integração Premmia
O Premmia é o programa de fidelidade da rede de postos Petrobras. Ao integrar com
este, você pode acumular e resgatar pontos em suas transações de pagamento. Para mais
informações, de como a integrar seu aplicativo com o Premmia, consulte a documentação
“Integração Premmia” que pode ser encontrada no Portal do Desenvolvedor, no menu
Documentação e SDKs.
Pix
Uma modalidade de pagamento desenvolvida pelo Banco Central onde a transação
ocorre em segundos. Gere o QR Code direto no POS Digital e o estabelecimento recebe o
dinheiro na conta bancária em até 10 segundos.
O estabelecimento pode acessar um dos canais digitais Getnet (Portal Minha Conta ou
App Getnet) e fazer a contratação por lá, digitando a mesma chave que cadastrou no seu
domicílio bancário que irá receber Pix. Com isso a opção de pagamento por Pix ficará disponível
no POS Digital do estabelecimento.
Para consultar uma transação Pix que ficou com o status Pendente, você pode utilizar
o deeplink Consulta Status. Ao utilizar esse deeplink, será feito uma verificação do status da
transação Pix e uma tela de sucesso ou falha será exibida, dependendo do status final da
transação. Se o Pix for aprovado a via do estabelecimento será impressa, a via do cliente ficará
disponível na tela para impressão e as informações da transação serão retornadas na resposta
da requisição. Dependendo do parâmetro allowPrintCurrentTransaction enviado na
requisição, as vias podem ser impressas ou não.
Atenção: Seu aplicativo somente pode iniciar transações Pix pelo deeplink Pagamento
v3. Integrações que ocorram de outras formas, com o sistema Pix, serão reprovadas na
certificação.
No final da transação de pagamento, se a transação for aprovada, irá apresentar a tela abaixo e
a impressão da via do estabelecimento iniciará automaticamente. Ao clicar em qualquer uma
das duas opções, irá apresentar a mensagem de "Remova seu cartão" e a aplicação de
pagamento irá responder somente após a remoção do cartão, com exceção das vendas com
tarja magnética.
Nas seções a seguir serão especificadas como utilizar as versões deste deeplink:
Pagamento v1 (Deprecated), Pagamento v2 e Pagamento v3.
Recomendamos fortemente que sempre utilize a última versão disponível dos deeplinks.
Exemplo de implementação
@Override
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Bundle bundle = new Bundle();
bundle.putString("amount", "000000001000");
bundle.putString("currencyPosition", "CURRENCY_AFTER_AMOUNT");
bundle.putString("currencyCode", "986");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("getnet://pagamento/v1/payment"));
intent.putExtras(bundle);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(REQUEST_CODE == requestCode && RESULT_OK == resultCode){
String result = data.getString(ARG_RESULT);
String resultDetails = data.getString(ARG_RESULT_DETAILS);
String amount = data.getString(ARG_AMOUNT);
String type = data.getString(ARG_TYPE);
String inputType = data.getString(ARG_INPUT_TYPE);
String installments = data.getString(ARG_INSTALLMENTS);
String nsu = data.getString(ARG_NSU);
String brand = data.getString(ARG_BRAND);
}
}
}
Request (Deprecated)
"CURRENCY_AFTER_AMOUNT" ou
"CURRENCY_BEFORE_AMOUNT"
OPCIONAL currencyPosition String
Default : “CURRENCY_BEFORE_AMOUNT”
Default: “986”
Default: “false”
Default: “false”
Default: “false”
Response (Deprecated)
Quando
Parâmetro Formato Descrição
retorna?
02 - Débito
11 - Crédito a vista
SEMPRE type String 12 - Crédito parcelado Lojista
13 - Crédito parcelado Emissor
03 - Voucher
Pagamento v2
Atenção! A partir desta versão alguns campos que eram opcionais se tornaram obrigatórios.
Request
"CURRENCY_AFTER_AMOUNT" ou
"CURRENCY_BEFORE_AMOUNT"
OPCIONAL currencyPosition String
Default : “CURRENCY_BEFORE_AMOUNT”
Default: “986”
Default: “false”
Default: “false”
Default: “false”
Response
Quando
Parâmetro Formato Descrição
retorna?
02 - Débito
11 - Crédito a vista
SEMPRE type String 12 - Crédito parcelado Lojista
13 - Crédito parcelado Emissor
03 - Voucher
Pagamento v3
Request
Obrigatoriedade Parâmetro Formato Descrição
"CURRENCY_AFTER_AMOUNT" ou
"CURRENCY_BEFORE_AMOUNT"
OPCIONAL currencyPosition String
Default : “CURRENCY_BEFORE_AMOUNT”
Default: “986”
Default: “false”
Default: “false”
Default: “false”
Default: “false”
Response
Quando
Parâmetro Formato Descrição
retorna?
02 - Débito
11 - Crédito a vista
12 - Crédito parcelado Lojista
SEMPRE type String
13 - Crédito parcelado Emissor
03 - Voucher
30 - Pix
Pré-autorização
Este deeplink pode ser utilizado para realizar uma pré-autorização. Ao ser utilizado irá iniciar o
app Pagamento na tela de Pré-autorização.
Exemplo de implementação
@Override
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Bundle bundle = new Bundle();
bundle.putString("amount", "000000001000");
bundle.putString("currencyPosition", "CURRENCY_AFTER_AMOUNT");
bundle.putString("currencyCode", "986");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("getnet://pagamento/v1/pre-authorization"));
intent.putExtras(bundle);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(REQUEST_CODE == requestCode && RESULT_OK == resultCode){
String result = data.getString(ARG_RESULT);
String resultDetails = data.getString(ARG_RESULT_DETAILS);
String amount = data.getString(ARG_AMOUNT);
String type = data.getString(ARG_TYPE);
String inputType = data.getString(ARG_INPUT_TYPE);
String installments = data.getString(ARG_INSTALLMENTS);
String nsu = data.getString(ARG_NSU);
String brand = data.getString(ARG_BRAND);
}
}
}
Pré-autorização v1
Request
"CURRENCY_AFTER_AMOUNT" ou
OBRIGATÓRIO currencyPosition String
"CURRENCY_BEFORE_AMOUNT"
Response
11 - Crédito a vista
SEMPRE type String
12 - Crédito parcelado Lojista
Pré-autorização v2
Foi adicionado o campo callerId. Neste campo seu aplicativo deve enviar um valor
único para cada requisição realizada (deeplink). Atenção: Este identificador é de
responsabilidade da automação e deve ser gerenciado corretamente para que se possa
consultar o status de transações a partir do deeplink Consulta Status.
Request
"CURRENCY_AFTER_AMOUNT" ou
OBRIGATÓRIO currencyPosition String
"CURRENCY_BEFORE_AMOUNT"
Default: “false”
Response
Quando
Parâmetro Formato Descrição
retorna?
11 - Crédito a vista
SEMPRE type String
12 - Crédito parcelado Lojista
Estorno
O deeplink getnet://pagamento/v1/refund irá iniciar o app de Pagamento na tela de estorno.
Se a requisição for enviada com todos os parâmetros preenchidos, a próxima tela a ser
mostrada será a de inserir o cartão para realizar o estorno.
Se a requisição for enviada com parâmetros faltando, a próxima tela a ser mostrada será a de
preenchimento manual dos parâmetros restantes. Ao preencher os parâmetros e tocar no
botão Continuar, a tela de inserir o cartão será mostrada.
Default: “false”
Response
Quando
Parâmetro Formato Descrição
retorna?
Exemplo de implementação
@Override
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("getnet://pagamento/v1/refund"));
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(REQUEST_CODE == requestCode && RESULT_OK == resultCode){
String result = data.getString(ARG_RESULT);
String resultDetails = data.getString(ARG_RESULT_DETAILS);
String amount = data.getString(ARG_AMOUNT);
}
Reimpressão
O deeplink getnet://pagamento/v1/reprint irá reimprimir o último comprovante.
Response
Exemplo de implementação
@Override
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("getnet://pagamento/v1/reprint"));
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(REQUEST_CODE == requestCode && RESULT_OK == resultCode){
String result = data.getString(ARG_RESULT);
}
}
}
Response
Exemplo de implementação
@Override
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("getnet://pagamento/v1/getinfos"));
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(REQUEST_CODE == requestCode && RESULT_OK == resultCode){
String result = data.getString(ARG_RESULT);
String ec = data.getString(ARG_EC);
Consulta Status
Utilize o deeplink getnet://pagamento/v1/checkstatus para verificar o status de transações Pix
que ficaram pendentes ou para receber as informações de transações que já foram aprovadas,
sejam elas crédito, débito, voucher ou Pix.
Ao utilizar a Consulta Status, enviando um callerId válido, três cenários podem ocorrer:
1. Pix pendentes: Se o callerId, enviado na requisição, for de uma transação Pix que ficou
pendente de resposta no terminal, será feito uma verificação do status desta transação
Pix e uma tela de sucesso ou falha será exibida, dependendo do status. A via do
estabelecimento será impressa, a via do cliente ficará disponível na tela para impressão
e as informações da transação serão retornadas na resposta da requisição, do mesmo
modo como ocorre ao fim de transações realizadas com o deeplink Pagamento v3.
Dependendo do parâmetro allowPrintCurrentTransaction enviado na requisição, as
vias podem ser impressas ou não.
2. Transações aprovadas: Se o callerId for de uma transação que foi aprovada, seja ela
crédito, débito, voucher ou Pix, as informações da transação serão retornadas na
resposta da requisição. A tela de sucesso de transação não será exibida e os
comprovantes não serão impressos. Os campos da resposta são os mesmos que
retornam em um deeplink Pagamento v3.
3. Transações que não foram aprovadas ou com callerId desconhecido: Se o callerId for
de uma transação que não foi aprovada (falhou, negada, cancelada) ou com um callerId
diferente do que temos armazenado no terminal, o resultado da requisição será de
falha, retornando que não foram encontrados dados para o callerId informado. Isso
ocorre para transações de Crédito, Débito, Voucher ou Pix.
Request
Default: “false”
Response
Quando retorna? Parâmetro Formato Descrição
02 - Débito
11 - Crédito a vista
OPCIONAL type String 12 - Crédito parcelado Lojista
13 - Crédito parcelado Emissor
03 - Voucher
NSU - Código de autorização da transação Getnet, este pode se repetir em terminais e dias
diferentes.
Parâmetro: nsu
Request
Exemplo JSON
{
"tags": [
{
"tag": "0000",
"value": "ABCDEF1234123"
}
]
}
Telas Adicionais
Ao utilizar a funcionalidade Telas Adicionais, será apresentada uma tela adicional após o
portador do cartão preencher a senha. Nesta tela adicional pode ser requisitado ao usuário
algum dado pessoal. Este parâmetro define as informações que vão aparecer nesta tela.
Request
Obrigatoriedade Campo Formato Descrição
"action":"skip"
Ignora o que foi
digitado pelo usuário
OBRIGATÓRIO extrascreens.pages[].buttons[].action String e fecha ou vai pra
próxima tela.
"action":"append"
Guarda o que o
usuário digitou e
fecha ou vai pra
próxima tela.
O nome/id para o
OBRIGATÓRIO extrascreens.pages[].buttons[].key String botão. Campo fixo:
usar “btn1” e “btn2”
"key":"cpf"
Utilize esta String
para requisitar ao
usuário o
OBRIGATÓRIO extrascreens.pages[].fields[].key String preenchimento de
CPF.
"key":"phone"
Utilize esta String
para requisitar ao
usuário o
preenchimento de
Celular.
Mensagem de erro
que aparece quando
OPCIONAL
não passar no
(Só utilize este campo extrascreens.pages[].fields[].v_cpf.err String 20
validador de CPF.
para CPF)
Tamanho máximo: 20
caracteres.
Habilita o validador
OPCIONAL de CPF ao mandar
(Só utilize este campo extrascreens.pages[].fields[].v_cpf.value String “true”.
para CPF) Opções de string:
“true” ou “false”
Mensagem de erro
que aparece quando
OPCIONAL
não passar no
(Só utilize este campo extrascreens.pages[].fields[].v_ phone.err String 20
validador de Celular.
para Celular)
Tamanho máximo: 20
caracteres.
Habilita o validador
OPCIONAL de Celular ao mandar
(Só utilize este campo extrascreens.pages[].fields[].v_ phone.value String “true”.
para Celular) Opções de string:
“true” ou “false”
Define o
preenchimento do
campo como
obrigatório. Verifica
OBRIGATÓRIO extrascreens.pages[].fields[].v_required
se o campo foi
preenchido pelo
usuário ao clicar no
botão “btn2”.
Mensagem de erro
mostrada ao usuário
quando o campo não
tiver sido preenchido
OBRIGATÓRIO eExtrascreens.pages[].fields[].v_required.err String 20
e o “btn2” for
apertado.
Tamanho máximo: 20
caracteres.
Habilita se o campo é
obrigatório para
OBRIGATÓRIO extrascreens.pages[].fields[].v_required.value String preencher.
Opções de string:
“true” ou “false”
Request
Exemplo JSON
{
"additional_info": [
{
"name": "Campo1",
"value": "Informação Adicional do PSP - Recebedor"
}
]
}
Payload do Pix
Neste parâmetro retornamos informações relacionadas a transações do tipo Pix.
Response
Exemplo JSON
{
"automationPixSlip": "", //Exemplo da resposta na seção Dados do Comprovante
"status": "00",
"transactionId": "000000050081910000120648"
}
Dados do Comprovante
Neste parâmetro enviamos as informações que devem ser incluídas nos Comprovantes do
estabelecimento e do cliente.
Atenção! Seu aplicativo só é obrigado a imprimir esses campos caso você opte por usar a
funcionalidade Responsabilidade de Impressão, pois nesse caso o aplicativo Pagamento não irá
imprimir os comprovantes.
• mandatory_all_receipts_fields:
Campos obrigatórios nas Vias do Cliente e do Estabelecimento;
• mandatory_client_fields:
Campos obrigatórios na Via do Cliente;
mandatory_ec_fields:
Campos obrigatórios na Via do Estabelecimento.
Dependendo do tipo da transação (Credito, Débito, Pix, Chip, Tarja, Qr Code e etc.) alguns
campos podem vir, ou não. O aplicativo Pagamento será responsável por retornar os campos
que devem ser impressos/armazenados, ou seja, todos os campos que vierem no JSON são
mandatórios.
Response
Nome no
Campo Descrição
comprovante
mandatory_all_receipts_fields.authorizationCo
AUT Código único de autorização
de
Os 4 últimos dígitos do
mandatory_all_receipts_fields.cardLastDigits
cartão
CPF ou CNPJ do
mandatory_all_receipts_fields.ecDocument CPF ou CNPJ
estabelecimento
Código de autorização da
transação na Getnet – ele é
mandatory_all_receipts_fields.nsu CV
único por transação/por
terminal.
Versão do aplicativo
mandatory_all_receipts_fields.version
Pagamento
Comprovante | Pix
Response
Nome no
Campo Descrição
comprovante
Cidade do
mandatory_all_receipts_fields.city
estabelecimento
Código de autorização da
transação na Getnet – ele
mandatory_all_receipts_fields.nsu CV
é único por
transação/por terminal.
Número lógico do
mandatory_all_receipts_fields.terminal TERM terminal, cadastrado na
Getnet.
Identificador da
mandatory_all_receipts_fields.transaction_id ID/TRANSAÇÃO
transação Pix
Documento do Cliente
mandatory_all_receipts_fields.payer.document
(CPF ou CNPJ)
PSP do Estabelecimento
mandatory_all_receipts_fields.receiver.pspName
(Ex: Banco)
Nome do
mandatory_all_receipts_fields.receiver.name
Estabelecimento
Documento do
mandatory_all_receipts_fields.receiver.document Estabelecimento (CPF ou
CNPJ)
Exemplo de comprovante
Em letras maiúscula, em negrito, com tamanho de fonte maior que dos outros campos e com
asteriscos antes e depois do texto. Esta regra vale para as Vias do Cliente e do
Estabelecimento.