Getnet DocsGetnet Docs

Gerenciar com os Resultados da Transação

Este guia orienta você sobre como lidar com os resultados de transação retornados pelo aplicativo Get Mini. Você aprenderá como registrar um retorno de chamada (callback) de resultado, verificar o código de resultado e extrair dados da transação da resposta.

Requisitos

Antes de seguir os passos, certifique-se de ter:

Sempre registre seu result launcher antes de iniciar qualquer Intent de transação.

Processo de Tratamento de Resultados

Esta seção orienta você na implementação do callback de resultado para processar as respostas de transação do aplicativo Get Mini.

Passo 1: Registrar o Activity Result Launcher

Registre um ActivityResultLauncher no método onCreate() da sua Activity ou na inicialização do Fragment. Este launcher receberá o retorno de chamada quando o aplicativo Get Mini concluir a transação.

O código a seguir mostra como registrar o launcher:

ActivityResultLauncher<Intent> paymentLauncher = registerForActivityResult(
    new ActivityResultContracts.StartActivityForResult(),
    result -> {
        // Handle the result here
        handleTransactionResult(result);
    }
);

Passo 2: Verificar o Código de Resultado

Quando o aplicativo Get Mini retorna o controle para o seu aplicativo, primeiro verifique o código de resultado. Um código de resultado de RESULT_OK indica que a operação foi concluída com sucesso, enquanto RESULT_CANCELED indica que ela foi cancelada ou falhou.

private void handleTransactionResult(ActivityResult result) {
    if (result.getResultCode() == Activity.RESULT_OK) {
        // Transaction successful
        processSuccessfulTransaction(result.getData());
    } else if (result.getResultCode() == Activity.RESULT_CANCELED) {
        // Transaction cancelled or failed
        processFailedTransaction(result.getData());
    }
}

Passo 3: Extrair Dados da Transação

Extraia os dados relevantes dos extras do Intent com base no tipo de operação. Para pagamentos bem-sucedidos, você receberá números de autorização e caminhos de recibos. Para falhas, você receberá mensagens de erro e códigos de estado.

private void processSuccessfulTransaction(Intent data) {
    if (data != null) {
        String authNumber = data.getStringExtra("AUTHORIZATION_NUMBER");
        String order = data.getStringExtra("ORDER");
        String state = data.getStringExtra("STATE");

        // Display success message
        showSuccessMessage("Payment approved. Auth: " + authNumber);
    }
}

private void processFailedTransaction(Intent data) {
    if (data != null) {
        String errorMsg = data.getStringExtra("ERROR_MSG");
        String state = data.getStringExtra("STATE");

        // Display error message
        showErrorMessage("Transaction failed: " + errorMsg);
    }
}

Mesmo quando o código de resultado é RESULT_CANCELED, os extras do Intent frequentemente contêm informações valiosas de depuração nos campos ERROR_MSG e STATE. Sempre analise os extras para fornecer um feedback significativo ao usuário.

Próximos Passos

Agora que você sabe como lidar com os resultados da transação, você pode: