TPVPC: Inicio rápido: Tu primera transacción
Esta guía de inicio rápido te guía en la realización de tu primer pago de prueba utilizando Get Central. Al final de este tutorial, habrás:
Esta guía se aplica a TpvpcImplantado.
- inicializado el TPVPC,
- ejecutado una operación de pago usando
PAGO, y - validado el resultado de la transacción utilizando la respuesta XML.
Esta guía se centra estrictamente en el flujo mínimo, sin cubrir escenarios avanzados como devoluciones, preautorizaciones o pagos recurrentes.
Requisitos
Antes de comenzar, asegúrate de cumplir con los siguientes requisitos previos:
- Get Central (TPVPC) instalado en una estación de trabajo soportada
- Hardware PIN pad conectado y reconocido por el sistema operativo
- Credenciales de prueba (
cComercio,cTerminal,cClaveFirma) proporcionadas por tu entidad
Algunas instalaciones soportan entornos de simulación o prueba. La disponibilidad depende de las credenciales y la configuración proporcionadas por la entidad.
Proceso de la primera transacción
La primera transacción consta de tres pasos obligatorios:
- Inicializar el TPVPC
- Ejecutar una operación de pago (
PAGO) - Validar el resultado de la transacción
Paso 1: Inicializar el TPVPC
La inicialización debe realizarse una vez por ciclo de vida de la aplicación antes de ejecutar cualquier operación. Una inicialización exitosa prepara la comunicación con el PIN pad y habilita la ejecución de pagos.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
cComercio | String | Sí | Número de comercio. Este dato es facilitado por la entidad. |
cTerminal | String | Sí | Número de terminal. Este dato es facilitado por la entidad. |
cClaveFirma | String | Sí | Clave de firma del comercio. Este dato es facilitado por la entidad. |
cConfPuerto | String | No | Puerto de comunicación. Si está vacío, el valor se carga desde la configuración local. |
cVersion | String | No | Versión del protocolo: 5.1, 6.1 u 8.1. Si está vacío, se usa la configurada. |
A continuación, se muestra un ejemplo de cómo inicializar el TPVPC:
int result = fnDllIniTpvpcLatente(
"99999999", // cComercio
"00000001", // cTerminal
"CLAVE123456", // cClaveFirma
"", // cConfPuerto
"" // cVersion
);
if (result != 0)
{
// Initialization failed. Do not proceed.
}Un valor de retorno de 0 indica que el TPVPC está listo para operar. Cualquier otro valor indica un error técnico.
Paso 2: Ejecutar un pago de prueba (PAGO)
Una vez que la inicialización es exitosa, puedes ejecutar una operación de pago utilizando cTipoOper = "PAGO". Esta operación realiza un pago estándar con tarjeta presente y captura los fondos inmediatamente.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
cImporte | String | Sí | Importe de la transacción en formato decimal XXXXXXXXX.XX (por ejemplo, 1.00). |
cFactura | String | Sí | Referencia de compra. Cadena alfanumérica que el comercio usa para asociar la venta. |
cTipoOper | String | Sí | Debe establecerse en PAGO. |
La moneda está determinada por la configuración del terminal y no se pasa como parámetro en operaciones de pago con tarjeta presente.
A continuación, se muestra un ejemplo de cómo ejecutar una operación de pago:
StringBuilder xmlResponse = new StringBuilder(8192);
int result = fnDllOperPinPad(
"1.00", // cImporte
"TEST0001", // cFactura
"PAGO", // cTipoOper
xmlResponse,
xmlResponse.Capacity
);
if (result != 0)
{
// Execution failed. Handle technical error.
}Al iniciar la operación, el PIN pad solicita al titular de la tarjeta que inserte, deslice o acerque la tarjeta. Una vez completada la operación, se rellena el buffer de respuesta XML.
Paso 3: Validar el resultado de la transacción
Tras la ejecución, se debe procesar la respuesta XML para determinar si el pago fue autorizado.
| Etiqueta XML | Tipo | Descripción |
|---|---|---|
<estado> | String | Estado de la ejecución. Las operaciones finalizadas usan el valor F. |
<resultado> | String | Resultado financiero (Autorizada o Denegada). |
<codigoRespuesta> | String | Código de autorización o respuesta devuelto por el host. |
<pedido> | String | Número de pedido devuelto por el TPVPC. Es el valor que necesitas para una devolución referenciada. |
La transacción debe considerarse AUTORIZADA solo si el XML contiene:
<estado>F</estado>
<resultado>Autorizada</resultado>Cualquier otra combinación debe tratarse como DENEGADA, incluso si el código de retorno de la ejecución fue 0.
Conserva el pedido y el identificadorRTS devueltos, además de tu propia factura y los datos de autorización: el pedido es lo que identifica la operación en una devolución o una consulta.
Próximos pasos
Ahora que has procesado tu primera transacción, puedes profundizar en tu integración explorando:
- Arquitectura - Una vista detallada de los componentes del sistema y el flujo de datos.
- Procesar una Devolución - Aprende cómo realizar una devolución de un pago autorizado.
- Referencia de Parámetros de Solicitud - Lista completa de argumentos técnicos para todas las operaciones.