ANEXO IX. Al llamar a la función de Pago, Preautorización, Confirmación o Devolución nos devuelve el código -2

ANEXO IX. Al llamar a la función de Pago, Preautorización, Confirmación o Devolución nos devuelve el código -2

 

En algunos casos, debido en la mayoría de los casos por un problema en la línea de conexión a Internet, o fallo en el dispositivo (en el caso de las operaciones de Pago o Preautorización realizadas desde el PinPad) las siguientes funciones nos pueden devolver el código de retorno -2:

 

¿Qué hacer en estos casos?

 

Esta práctica no es obligatoria, pero sí muy recomendable, ya que evitará el tener que consultar la operación manualmente desde el módulo de administración, para comprobar si la operación resultó Autorizada o Denegada.

De esta forma, la aplicación del comercio, automáticamente, podrá decidir si es necesario volver a enviar la transacción o simplemente, imprimir el recibo con el justificante del Pago.

 

Ejemplo: Se realiza una operación por 1.00 Euros

 

Capturamos la hora actual del Sistema: Por ejemplo, 20080109 101525. Todos los lenguajes de desarrollo disponen de funciones para recuperar la hora del Sistema.

Resultado = fnDllOperPinPad(“1.00”, “FAC123456789”, “PAGO”, cXMLResp, 1024)

 

Si Resultado es igual a -2:

Realizamos una operación de consulta con el intervalo temporal definido entre diez minutos antes y diez minutos después de la hora de la operación original.

ResultCstr = fnDllOperConsulta(null, null, “FAC123456789”, “20080109 100525”, “20080109 102525”, “PAGO”, null, “0”, cXMLResp, 1024);

 

Si ResultCstr es igual a 0, en la variable cXMLResp tendremos un xml como el que se muestra a continuación:

 

<?xml version="1.0" encoding="utf-8"?>

<consultas version="2.1">

<resultadoConsulta>

<operacion>

<tipoOper>Autorizacion</tipoOper>

<tarjeta>************2219</tarjeta>

<caducidad>4912</caducidad>

<importe>1.00</importe>

<moneda>978</moneda>

<terminal>1</terminal>

<pedido>2756</pedido>

<identificadorRTS>070001080109120353167980</identificadorRTS>

<identificadorRTSBase></identificadorRTSBase>

<fechaOperacion>2008-01-09 12:03:52.0</fechaOperacion>

<factura>FAC123456789</factura>

<estado>F</estado>

<resultado>AUTORIZADA</resultado>

<codigoRespuesta>2</codigoRespuesta>

</operacion>

<numoperaciones>1</numoperaciones>

<numpagina>0</numpagina>

<totalpaginas>1</totalpaginas>

<comercio>777888991</comercio>

<timestamp>20080109 120422</timestamp>

<firma>089A2555411FF75D1E0DE794421411CF110EF638</firma>

</resultadoConsulta>

</consultas>

NOTA: En este caso la operación resulto Autorizada.

 

Si ResultCstr es igual a -2, se deberá revisar la conexión a Internet, si el problema persiste, contactar con la entidad para informar de la Incidencia.