Processar um Pagamento em Etapa Única
Este guia orienta você no processamento de uma transação de pagamento padrão usando o aplicativo Get Mini. Um pagamento em etapa única cobra um valor especificado em um cartão em uma única operação. Esta integração depende de um PIN pad conectado por Bluetooth para lidar com a leitura do cartão e a entrada do PIN.
Requisitos
Antes de começar, certifique-se de ter:
- O aplicativo Get Mini instalado no dispositivo Android
- O dispositivo PIN pad emparelhado via Bluetooth e conectado dentro do aplicativo Get Mini
- O ActivityResultLauncher registrado na sua Activity para receber os resultados
Certifique-se de que o PIN pad está ligado e emparelhado com sucesso antes de iniciar as transações.
Processo de 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 Mini App2App. Você aprenderá como construir o Intent e lidar com o resultado da transação.
Passo 1: Criar e Iniciar o Intent de Pagamento
Uma transação de pagamento envolve criar um Intent com a ação do Get Mini, adicionar os parâmetros da transação e iniciá-lo usando o seu ActivityResultLauncher. O aplicativo Get Mini gerencia a interação com o PIN pad e processa o pagamento.
A tabela abaixo lista os parâmetros que você precisa incluir no seu Intent:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
amount | double | Sim | O valor total a ser cobrado |
type | int | Sim | Defina como 1 para transações de venda |
invoice | String | Não | Número do pedido ou identificador opcional para rastreamento |
O exemplo de código a seguir mostra como criar e iniciar um Intent de pagamento:
// Initialize the Intent with the Get Mini action
Intent intent = new Intent("es.redsys.paysys.mPOSRedsys_PAYMENT_REQUEST");
// Add transaction parameters
intent.putExtra("amount", 25.50);
intent.putExtra("type", 1); // 1 = Sale
intent.putExtra("invoice", "ORD-1001"); // Optional identifier
// Launch the Intent
paymentLauncher.launch(intent);Passo 2: Receber e Lidar com o Resultado da Transação
Após o portador do cartão concluir a transação no PIN pad, o aplicativo Get Mini retorna o controle para o seu aplicativo por meio do callback ActivityResult. Você deve verificar se o código de resultado é RESULT_OK e extrair os detalhes da transação dos extras do Intent retornado.
Um status RESULT_OK indica que o aplicativo retornou corretamente. Em seguida, você deve inspecionar o extra RESULT em busca do valor AUTORIZADA para confirmar que os fundos foram capturados.
O exemplo de código a seguir mostra como lidar com o resultado da transação:
private final ActivityResultLauncher<Intent> paymentLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
if (result.getResultCode() == Activity.RESULT_OK) {
Intent data = result.getData();
if (data != null) {
String transactionResult = data.getStringExtra("RESULT");
if ("AUTORIZADA".equals(transactionResult)) {
// Transaction successful - extract response data
String authCode = data.getStringExtra("AUTHORIZATION");
String orderId = data.getStringExtra("ORDER");
// Process successful payment
} else {
// Transaction denied
// Handle error appropriately
}
}
} else {
// Transaction cancelled or failed
// Handle cancellation
}
}
);Para obter detalhes completos sobre todos os campos de resposta e tratamento de erros, consulte Lidar com os resultados da transação.
Próximos Passos
Agora que você processou com sucesso uma transação de pagamento em etapa única, você pode explorar mais recursos da integração Get Mini App2App:
- Lidar com os resultados da transação - Guia completo sobre o processamento de respostas de transação
- Estornar um pagamento - Saiba como reverter transações
- Referência de parâmetros de solicitação - Especificações completas dos parâmetros