Crear un pago
Esta guía te muestra cómo procesar una transacción de pago estándar utilizando la aplicación Get Mini. El pago cobra un importe especificado a una tarjeta en una sola operación. Esta integración depende de un PIN pad conectado por Bluetooth para gestionar la lectura de la tarjeta y la introducción del PIN.
Requisitos
Antes de empezar, asegúrate de tener:
- La aplicación Get Mini instalada en el dispositivo Android
- El dispositivo PIN pad emparejado por Bluetooth y conectado dentro de la aplicación Get Mini
- El ActivityResultLauncher registrado en tu Activity para recibir los resultados
Asegúrate de que el PIN pad está encendido y correctamente emparejado antes de iniciar las transacciones.
Proceso de la transacción de pago
Esta sección te guía en el proceso de creación y ejecución de una transacción de pago con la integración Get Mini App2App. Aprenderás a construir el intent y a gestionar el resultado de la transacción.
Paso 1: Crear e iniciar el intent de pago
Una transacción de pago implica crear un intent con la acción de Get Mini, añadir los parámetros de la transacción e iniciarlo utilizando tu ActivityResultLauncher. La aplicación Get Mini gestiona la interacción con el PIN pad y procesa el pago.
La siguiente tabla enumera los parámetros que debes incluir en tu intent:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
amount | double | Sí | El importe total a cobrar |
invoice | String | No | Número de pedido o identificador opcional para el seguimiento |
El siguiente ejemplo de código muestra cómo crear e iniciar un intent de pago:
// 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("invoice", "ORD-1001"); // Optional identifier
// Launch the Intent
paymentLauncher.launch(intent);Paso 2: Recibir y gestionar el resultado de la transacción
Una vez que el titular de la tarjeta completa la transacción en el PIN pad, la aplicación Get Mini devuelve el control a tu aplicación a través de la devolución de llamada (callback) ActivityResult. Debes comprobar que el código de resultado es RESULT_OK y extraer los detalles de la transacción de los extras del intent devuelto.
Un estado RESULT_OK indica que la aplicación ha devuelto el control correctamente. A continuación, debes inspeccionar el extra STATE para confirmar que la operación se ha realizado correctamente.
El siguiente ejemplo de código muestra cómo gestionar el resultado de la transacción:
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 obtener detalles completos sobre todos los campos de respuesta y la gestión de errores, consulta Gestionar los resultados de la transacción.
Próximos pasos
Ahora que has procesado correctamente una transacción de pago, puedes explorar más funciones de la integración Get Mini App2App:
- Gestionar los resultados de la transacción - Guía completa sobre el procesamiento de las respuestas de las transacciones
- Devolver un pago - Aprende a revertir transacciones
- Referencia de parámetros de solicitud - Especificaciones completas de los parámetros