Getnet DocsGetnet Docs

Criar um Pagamento de Etapa Única

Este guia orienta você no processamento de uma transação de pagamento padrão (Venda) usando a aplicação Get Smart. Uma transação de pagamento cobra um valor específico no cartão do cliente em uma única etapa. Este é o caminho de integração mais comum para aplicações de ponto de venda (PDV).

Requisitos

Antes de começar, certifique-se de que você possui:

  • Aplicação Get Smart instalada e configurada no dispositivo Android
  • Credenciais de conta de estabelecimento fornecidas pela Get Smart
  • Permissão para lançar Intents externos em sua aplicação

Entre em contato com seu representante Get Smart para obter as credenciais de estabelecimento e verificar se sua aplicação Get Smart está configurada corretamente.

Processo da Transação de Pagamento

Esta seção orienta você no processo de criação e execução de uma transação de pagamento com a integração Get Smart App2App. Você aprenderá como lançar o Intent e tratar o resultado da transação.

Passo 1: Criar e Lançar o Intent de Pagamento

Uma transação de pagamento envolve a criação de um Intent com a ação Get Smart, a adição dos parâmetros da transação e o seu lançamento usando startActivityForResult. A aplicação Get Smart processa o pagamento e retorna o resultado para sua aplicação.

A tabela abaixo lista os parâmetros que você precisa incluir em seu Intent:

ParâmetroTipoObrigatórioDescrição
amountdoubleSimO valor total a ser cobrado
typeintSimDefinido como 1 para transações de Venda
invoiceStringNãoNúmero do pedido ou identificador opcional para rastreamento

Sempre envolva o lançamento do Intent em um bloco try-catch para tratar casos em que a aplicação Get Smart não esteja instalada no dispositivo.

O exemplo de código a seguir mostra como criar e lançar um Intent de pagamento:

// Define request code for result handling
static final int REQUEST_CODE_PAYMENT = 1001;

// Initialize the Intent with the Get Smart action
Intent intent = new Intent("es.android.redsys.mPOS.movil.tpvAndroid_PAYMENT_REQUEST");

// Add transaction parameters
intent.putExtra("amount", 25.90);
intent.putExtra("type", 1); // 1 = Sale
intent.putExtra("invoice", "INV-12345"); // Optional tracking ID

// Launch the Intent with error handling
try {
    startActivityForResult(intent, REQUEST_CODE_PAYMENT);
} catch (ActivityNotFoundException e) {
    // Display a message to the user to install the Get Smart app
    new AlertDialog.Builder(this)
        .setTitle("Get Smart App Not Found")
        .setMessage("Please install and configure the Get Smart application.")
        .setPositiveButton("OK", null)
        .show();
}

Passo 2: Receber e Tratar o Resultado da Transação

Após a aplicação Get Smart processar o pagamento, ela devolve o controle para sua aplicação por meio do método de callback onActivityResult. Você deve verificar se o resultCode é RESULT_OK e extrair os detalhes da transação dos extras do Intent retornado.

Ao final de uma transação bem-sucedida, você receberá um código de autorização e um ID de pedido, que são usados para identificar e rastrear este pagamento.

O exemplo de código a seguir mostra como tratar o resultado da transação:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE_PAYMENT) {
        if (resultCode == RESULT_OK && data != null) {
            // Transaction successful - extract response data
            String authCode = data.getStringExtra("AUTHORIZATION");
            String orderId = data.getStringExtra("ORDER");
            // Process successful payment
        } else {
            // Transaction cancelled or failed
            // Handle error appropriately
        }
    }
}

Para detalhes completos sobre todos os campos de resposta e tratamento de erros, consulte Tratar Resultados da Transação.

Próximos Passos

Agora que você processou com sucesso uma transação de pagamento de etapa única, você pode explorar mais recursos da integração Get Smart App2App: