4.3 Realizar un Pago o una Preautorización utilizando un dispositivo PinPad

 

Parámetros de entrada/salida:

 

cImporte, importe de la transacción en formato XXXXXXXXX.XX. Ejemplo: 1.23, 33.05, 0.01, etc.

cFactura, referencia de compra. Este valor lo puede especificar el comercio para ayudarle a identificar la transacción.

cTipoOper, indica el tipo de operación a realizar. Valores posibles:

“PAGO” -> Se realizará un Pago.

“PREAUTORIZACION” -> Se realizará una preautorización.

cXMLResp, buffer, que almacenará una cadena XML con el resultado de la operación de pago o preautorización. El formato de este XML se encuentra detallado en la documentación "Conexión con TPVPC a través de WEB SERVICE" versión 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 resaltar 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.

Siempre que se devuelva el código -2, es necesario realizar una consulta de la última operación realizada

int fnDllOperPinPad(LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR cTipoOper, LPTSTR cXMLResp, int iTamMaxResp);

 

Ejemplo de llamada en C# .NET:

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

 

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperPinPad Lib "dllTpvpcLatente.dll" (ByVal cImporte As String, ByVal cFActura As String, ByVal cTipoOper As String, ByVal cXMLResp As String, ByVal iTamMaxREsp As Integer) As Integer