4.8 Realizar una operación de Devolución con lectura desde el Pinpad

 

Una devolución, como su propio nombre indica, realiza el abono o devolución del importe indicado, a la tarjeta con la que se realizó la operación original. Para mayor seguridad, se puede obligar a pasar la tarjeta original con la que se hizo el pago, de forma que el cliente esté presente.

 

Es importante señalar que este tipo de devolución no está soportada en Windows Mobile.

 

Parámetros de Entrada:

 

cImporte, importe que se quiere devolver, en formato XXXXXXXXX.XX. Ejemplo: 1.23, 33.05, 0.01, etc. Valor obligatorio en Modo Transparente.

cFactura, campo suministrado por el comercio, para asociar una descripción o valor a la operación. Este valor es generado por el comercio y el TPVPC no realizará ninguna validación sobre el mismo.

cNumPedido, número de pedido de la operación original. El campo pedido se encuentra en todas las respuestas de peticiones de operaciones realizadas al TPVPC. Valor obligatorio en Modo Transparente.

cRTSOriginal, identificador RTS de la transacción original. El campo identificadorRTS se encuentra en todas las respuestas de peticiones de operaciones realizadas al TPVPC. Valor Opcional, en cualquiera de los modos. En modo Transparente se recomienda su uso.

cXMLResp, buffer, que almacenará una cadena XML con el resultado de la operación de DEVOLUCION. El formato de este XML se encuentra detallado en la documentación "Conexión con TPVPC a través de WEB SERVICE" version 6.0.

iTamMaxResp, indica el tamaño máximo del buffer donde se almacenará la cadena xml con el resultado de la operación. Se recomienda al menos un tamaño de 1024 bytes.

 

Valor de retorno:

Valor 0, indica que la operación se ha procesado correctamente. Muy importante indicar que este resultado NO INDICA QUE LA OPERACIÓN ESTÉ AUTORIZADA, tan sólo es el resultado de su proceso.

Valor distinto de 0, Código de error indicando el motivo del fallo. En el Anexo III, se detallan estos errores.

 

int fnDllComContableTrj(LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR cNumPedido, LPCTSTR cRTSOriginal, LPTSTR cXMLResp, int iTamMaxResp);

 

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllComContableTrj(String cImporte, String cFactura, String cNumPedido, String cRTSOriginal, StringBuilder cXMLResp, int iTamMaxResp);

 

Ejemplo de llamada en Visual Basic .NET:

Public Declare Function fnDllComContableTrj Lib "dllTpvpcLatente.dll" (ByVal cImporte As String, ByVal cFactura As String, ByVal cNumPedido As String, ByVal cRTSOriginal As String, ByVal cXMLResp As String, ByVal iTamMaxREsp As Integer) As Integer