Getnet DocsGetnet Docs

Parámetros de la petición

Esta referencia enumera las funciones públicas y los parámetros que expone la biblioteca Slim Pack, con sus nombres y firmas exactas.

Esta guía se aplica a Slim Pack.

Las siguientes tablas reflejan el modelo de invocación real utilizado por la biblioteca. Los parámetros se enumeran exactamente como deben aparecer en el código, sin alias, traducciones ni campos inferidos.

Funciones de inicialización y ciclo de vida

Estas son las funciones que se utilizan para inicializar y gestionar el ciclo de vida del TPVPC.

fnDllIniTpvpcLatente

Inicializa el TPVPC y abre la comunicación con el PIN pad. Esta función debe llamarse una vez cuando se inicia la aplicación.

Firma de la función (C#):

int fnDllIniTpvpcLatente(string cComercio, string cTerminal, string cClaveFirma, string cConfPuerto, string cVersion);

ParámetroTipoRequeridoDescripción
cComercioStringSíIdentificador del comercio (FUC) proporcionado por la entidad.
cTerminalStringSíIdentificador del terminal asignado al PIN pad.
cClaveFirmaStringSíClave de firma asociada al comercio y al terminal.
cConfPuertoStringNoConfiguración de puerto. Si está vacío o es nulo, el valor se carga desde la configuración local de TPVPC.
cVersionStringNoVersión del protocolo ("5.1", "6.1", "8.1"). Si está vacío, se utiliza la configuración por defecto.

Valor de retorno: 0 si la inicialización es exitosa. Cualquier otro valor indica un error a nivel de biblioteca.

fnDllParaTpvpcLatente

Detiene la comunicación y libera todos los recursos internos.

Firma de la función:

int fnDllParaTpvpcLatente();

Esta función no tiene parámetros de entrada.


Operaciones de pago y financieras

Todas las operaciones financieras se ejecutan a través de funciones exportadas que reciben parámetros tipados y devuelven un buffer de respuesta XML. Un valor de retorno de 0 solo indica que la operación fue procesada; la autorización siempre debe validarse a partir del XML.

fnDllOperPinPad

Ejecuta un PAGO o PREAUTORIZACION utilizando un PIN pad físico.

Firma de la función:

int fnDllOperPinPad(string cImporte, string cFactura, string cTipoOper, StringBuilder cXMLResp, int iTamMaxResp);

ParámetroTipoRequeridoDescripción
cImporteStringSíImporte en formato XXXXXXXXX.XX.
cFacturaStringSíReferencia de la operación del comercio.
cTipoOperStringSíTipo de operación: "PAGO" o "PREAUTORIZACION".
cXMLRespStringBufferSíBuffer de salida que recibe la respuesta XML.
iTamMaxRespIntegerSíTamaño máximo del buffer (recomendado: al menos 8192).

fnDllOperManualExt

Ejecuta un PAGO o PREAUTORIZACION mediante la introducción manual de los datos de la tarjeta.

Firma de la función:

int fnDllOperManualExt(string cTarjeta, string cCaducidad, string cCVC2, string cImporte, string cFactura, string cTipoOper, StringBuilder cXMLResp, int iTamMaxResp);

ParámetroTipoRequeridoDescripción
cTarjetaStringSíNúmero de la tarjeta (15–19 dígitos).
cCaducidadStringSíFecha de caducidad en formato AAMM.
cCVC2StringCondicionalCódigo de seguridad, requerido dependiendo de la configuración del comercio.
cImporteStringSíImporte en formato XXXXXXXXX.XX.
cFacturaStringSíReferencia de la operación del comercio.
cTipoOperStringSí"PAGO" o "PREAUTORIZACION".
cXMLRespStringBufferSíBuffer XML de salida.
iTamMaxRespIntegerSíTamaño máximo del buffer.

Operaciones de confirmación y devolución

Una confirmación captura una preautorización autorizada previamente; una devolución devuelve fondos. Las dos pasan por la misma familia de funciones, y la que debes llamar depende de dónde vengan la tarjeta y la referencia original.

FunciónCuándo usarlaParámetros
fnDllOperComContableTienes el pedido original. Sirve a las dos operaciones mediante cTipoOper.cNumPedido, cRTSOriginal, cImporte, cFactura, cTipoOper, cXMLResp, iTamMaxResp
fnDllComContableTrjLa tarjeta se lee de nuevo en el PIN pad.cImporte, cFactura, cNumPedido, cRTSOriginal, cXMLResp, iTamMaxResp
fnDllDevSinOrigTrjDevolución sin referencia original, con lectura en el PIN pad.cImporte, cFactura, cXMLResp, iTamMaxResp
fnDllOperDevSinOrigDevolución sin referencia original, con tarjeta introducida manualmente.cTarjeta, cCaducidad, cImporte, cFactura, cXMLResp, iTamMaxResp
fnDllOperComContableTerminalLa operación se hizo en otro terminal.cNumTerminal, cNumPedido, cRTSOriginal, cImporte, cFactura, cTipoOper, cXMLResp, iTamMaxResp

cTipoOper solo aparece en las dos funciones ComContable que sirven a las dos operaciones, y toma DEVOLUCION o CONFIRMACION. Las demás llevan la operación en su propio nombre.

ParámetroTipoDescripción
cNumPedidoStringNúmero de pedido de la operación original. El campo pedido se encuentra en todas las respuestas del TPVPC. Valor obligatorio en modo Transparente.
cRTSOriginalStringIdentificador RTS de la transacción original, del campo identificadorRTS. Valor opcional; en modo Transparente se recomienda su uso.
cImporteStringImporte que se quiere devolver o confirmar, en formato XXXXXXXXX.XX.
cFacturaStringCampo suministrado por el comercio para asociar una descripción a la operación. El TPVPC no realiza ninguna validación sobre él.
cTipoOperStringDEVOLUCION o CONFIRMACION.
cTarjeta / cCaducidadStringNúmero de tarjeta y caducidad, solo en la devolución con entrada manual.
cNumTerminalStringTerminal que ejecutó la operación original, solo en la variante entre terminales.
cXMLRespBufferBuffer que recibe el resultado XML.
iTamMaxRespIntegerTamaño máximo del buffer de respuesta.

Pagos recurrentes

El modo recurrente es un interruptor de sesión, no un parámetro. Dos funciones lo activan y lo desactivan, y ninguna recibe argumentos:

FunciónFirmaEfecto
fnDllActivaRecurrentevoid fnDllActivaRecurrente()Todas las operaciones a partir de aquí llevan token recurrente.
fnDllDesActivaRecurrentevoid fnDllDesActivaRecurrente()Las operaciones vuelven a ser pagos normales.

fnDllIniTpvpcLatente desactiva el modo recurrente, así que hay que activarlo de nuevo después de cada inicialización.

El token llega en el elemento <token> de la respuesta XML del pago.

Validación de autorización

Todas las operaciones financieras se consideran AUTORIZADAS solo si la respuesta XML contiene:

<estado>F</estado>
<resultado>Autorizada</resultado>

Cualquier otra combinación debe tratarse como DENEGADA, independientemente de los códigos numéricos o los valores de retorno de la biblioteca.