TPVPC: Integración Java
Las aplicaciones de Punto de Venta (POS) basadas en Java se integran con Get Central a través de un wrapper Java nativo (JAR) que expone las mismas funciones principales que la biblioteca nativa, al tiempo que abstrae los detalles de la comunicación serie de bajo nivel. Esta guía describe el modelo de integración Java soportado, las dependencias requeridas y la forma correcta de inicializar y ejecutar operaciones de pago en un entorno JVM.
Esta guía se aplica a TpvpcImplantado.
Requisitos
Antes de comenzar, asegúrate de tener disponibles los siguientes componentes:
-
TpvpcImplantado.jar (wrapper Java proporcionado con Get Central)
-
Una biblioteca de comunicación serie soportada, dependiendo de tu entorno:
- jSSC (recomendado para entornos Java modernos)
- RXTX (opción heredada, requiere binarios nativos)
-
Bibliotecas nativas disponibles en el library path de la JVM
-
Un sistema operativo soportado con acceso al dispositivo PIN pad
En sistemas basados en Unix, el usuario que ejecuta la JVM debe tener permisos para acceder al dispositivo de puerto serie.
Proceso de integración Java
La integración Java refleja la API nativa de TpvpcImplantado. Las solicitudes se ejecutan mediante llamadas a métodos fuertemente tipados, y el XML se devuelve únicamente como respuesta, nunca se envía como solicitud.
Paso 1: Inicializar la comunicación
Antes de ejecutar cualquier transacción, el canal de comunicación debe inicializarse exactamente una vez durante el ciclo de vida de la aplicación.
Parámetros de inicialización
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
cComercio | String | Sí | Número de comercio. La entidad facilita este dato. |
cTerminal | String | Sí | Número de terminal. La entidad facilita este dato. |
cClaveFirma | String | Sí | Clave de firma del comercio. La entidad facilita este dato. |
cConfPuerto | String | No | Parámetro opcional que indica la configuración de puerto. Déjalo en blanco para usar la local. |
cVersion | String | No | Parámetro opcional que indica la versión de protocolo: 5.1, 6.1 u 8.1. |
import es.sermepa.TpvpcImplantado;
public class PaymentService {
private TpvpcImplantado tpv;
public void initialize() {
tpv = new TpvpcImplantado();
int result = tpv.fnDllIniTpvpcLatente(
"99999999",
"00000001",
"CLAVE123456",
"",
""
);
if (result != 0) {
throw new IllegalStateException("Initialization failed: " + result);
}
}
}Un valor de retorno de 0 indica que el canal de comunicación se ha inicializado correctamente.
Paso 2: Ejecutar una operación de pago
Una vez inicializada, se puede ejecutar un pago estándar con tarjeta presente o una preautorización utilizando el PIN pad.
Parámetros de pago
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
cImporte | String | Sí | Importe de la transacción en formato XXXXXXXXX.XX. |
cFactura | String | Sí | Referencia de compra. Este valor lo puede especificar el comercio. |
cTipoOper | String | Sí | Tipo de operación: PAGO o PREAUTORIZACION. |
iTamMaxResp | int | Sí | Tamaño máximo del buffer de respuesta (mínimo 8192). |
public String executePayment() {
int bufferSize = 8192;
String xmlResponse = tpv.fnDllOperPinPad(
"1.00",
"TEST0001",
"PAGO",
bufferSize
);
return xmlResponse;
}El método devuelve una cadena XML que contiene el resultado de la transacción.
Paso 3: Validar el resultado de la transacción
El código de retorno entero indica solo si la operación se ejecutó correctamente a nivel técnico. El resultado financiero debe determinarse analizando la respuesta XML.
Una transacción se considera autorizada solo si la respuesta contiene:
<estado>F</estado>
<resultado>Autorizada</resultado>Cualquier otro resultado debe tratarse como una transacción denegada.
Paso 4: Finalizar la comunicación
Cuando la aplicación ya no necesite realizar operaciones de pago, el canal de comunicación debe cerrarse para liberar los recursos del sistema.
public void shutdown() {
tpv.fnDllParaTpvpcLatente();
}Próximos pasos
Después de completar la integración en Java, puedes continuar con implementaciones adicionales:
- Para implementar devoluciones y confirmaciones, consulta la guía Procesar una Devolución.
- Para obtener detalles sobre cómo generar e imprimir recibos conformes desde tu aplicación Java, consulta la documentación Generar e Imprimir Recibos.
- Para gestionar tokens de tarjeta y modelos de suscripción, consulta la guía Gestionar Pagos Recurrentes.
- Para obtener un catálogo completo de los códigos de error de seguridad y los logs de diagnóstico, consulta la referencia de Códigos de Resultado y Errores y Logs y Solución de Problemas.