Gestionar los resultados de la transacción
Esta guía te muestra cómo gestionar los resultados de las transacciones devueltos por la aplicación Get Mini. Aprenderás a registrar el resultado de la transacción, comprobar el código de resultado y extraer los datos de la transacción de la respuesta.
Requisitos
Antes de seguir los pasos, asegúrate de tener:
- Completada una transacción utilizando Procesar un pago, Devolver un pago u Operaciones de consulta
ActivityResultLaunchercorrectamente registrado en tu Activity o Fragment
Registra siempre tu result launcher antes de iniciar cualquier intent de transacción.
Proceso de gestión de resultados
Esta sección te guía en la implementación del resultado para procesar las respuestas de transacción de la aplicación Get Mini.
Paso 1: Registrar el Activity Result Launcher
Registra un ActivityResultLauncher en el método onCreate() de tu Activity o en la inicialización del Fragment. Este launcher recibirá el resultado cuando la aplicación Get Mini complete la transacción.
El siguiente código muestra cómo registrar el launcher:
ActivityResultLauncher<Intent> paymentLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
// Handle the result here
handleTransactionResult(result);
}
);Paso 2: Comprobar el código de resultado
Cuando la aplicación Get Mini devuelve el control a tu aplicación, comprueba primero el código de resultado. Un código de resultado de RESULT_OK indica que la operación se completó correctamente, mientras que RESULT_CANCELED indica que se canceló o falló.
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());
}
}Paso 3: Extraer los datos de la transacción
Extrae los datos relevantes de los extras del intent según el tipo de operación. Para pagos exitosos, recibirás números de autorización y la ruta del ticket certificado. Para fallos, recibirás mensajes de error y el código de resultado (STATE).
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);
}
}Incluso cuando el código de resultado es RESULT_CANCELED, los extras del intent a menudo contienen información valiosa de depuración en los campos ERROR_MSG y STATE. Analiza siempre los extras para proporcionar comentarios significativos al usuario.
Próximos pasos
Ahora que sabes cómo gestionar los resultados de la transacción, puedes:
- Revisar Códigos de resultado y errores para obtener una lista completa de los campos de respuesta
- Obtener información sobre Gestión del ticket para mostrar la boleta de la transacción
- Implementar Gestionar la disponibilidad de la aplicación para comprobar si la aplicación Get Mini está instalada