TPVPC: Integración JavaScript
Las aplicaciones de Punto de Venta (POS) basadas en web se integran con Get Central a través del Servicio Local (Local Service), que actúa como un puente seguro entre el entorno del navegador y el TPVPC nativo. Esta guía describe el modelo de integración soportado y la interacción basada en eventos requerida para las implementaciones basadas en navegador.
Esta guía se aplica a TpvpcImplantado.
Requisitos
Antes de comenzar, asegúrate de tener:
- Servicio Local de Get Central instalado y en ejecución en la máquina cliente
- La biblioteca
tpvpc-impl.jsdisponible para tu aplicación web - Acceso de red al endpoint del Servicio Local
El Servicio Local expone endpoints HTTP y HTTPS en puertos locales predefinidos, dependiendo de la instalación y configuración.
Al utilizar HTTPS, el Servicio Local puede depender de un certificado generado localmente. El navegador debe confiar en este certificado para que las solicitudes se procesen con éxito.
Proceso de integración JavaScript
La integración JavaScript es asíncrona y basada en eventos. Toda la comunicación con el TPVPC se realiza a través de un objeto de integración global expuesto por el Servicio Local.
Paso 1: Suscribirse a eventos del dispositivo y de la transacción
Como las llamadas del navegador no son bloqueantes, las aplicaciones deben suscribirse a eventos para rastrear el ciclo de vida de la transacción y responder a las solicitudes de interacción del dispositivo.
El Servicio Local define los nombres de los eventos y los payloads, y estos pueden variar según la versión. Las aplicaciones deben estar preparadas para manejar múltiples notificaciones de eventos durante una sola transacción.
function handleEvent(eventData) {
console.log("Device event:", eventData);
}
// Example event subscriptions
tpvpcImpl.subscribeEvent("pinpadImplantadoEvent_1", handleEvent);
tpvpcImpl.subscribeEvent("pinpadImplantadoEvent_3", handleEvent);Los identificadores de eventos son específicos de la integración y no deben ser programados de forma rígida (hardcoded) sin consultar la documentación del Servicio Local para la versión instalada.
Paso 2: Ejecutar funciones del TPVPC
Las operaciones se ejecutan invocando funciones del TPVPC a través del Servicio Local. Las solicitudes se reenvían de forma asíncrona y los resultados se devuelven mediante la función de retorno OnResponse.
No se debe inferir ninguna lógica financiera de los eventos intermedios. El resultado de la transacción debe determinarse solo después de recibir la respuesta final.
tpvpcImpl.execFnDll(
"fnDllOperPinPad",
["1.00", "TEST0001", "PAGO"],
function (response) {
if (response && response.Response === 0) {
console.log("Transaction completed");
console.log(response.Result);
}
}
);La respuesta XML devuelta en response.Result debe analizarse para determinar el resultado financiero de la operación.
Paso 3: Validar el resultado de la transacción
La transacción se autoriza solo si la respuesta XML contiene:
<estado>F</estado>
<resultado>Autorizada</resultado>Cualquier otro resultado indica que la transacción fue denegada, independientemente del estado de la ejecución técnica.
Próximos pasos
Después de completar la integración en JavaScript, puedes continuar con implementaciones adicionales:
- Para procesar pagos estándar, consulta la guía Procesar un Pago en un Solo Paso.
- Para obtener detalles sobre cómo generar e imprimir recibos desde el navegador, consulta la documentación Generar e Imprimir Recibos.
- Para implementar modelos de suscripción o lógica de token recurrente, consulta la guía Gestionar Pagos Recurrentes.
- Para obtener una referencia completa de los códigos de salida técnicos y los logs de solución de problemas, consulta la documentación de Códigos de Resultado y Errores y Logs y Solución de Problemas.