Continuación del Proceso de Recolección Iterativa

El TPV debe llamar a esta función continuamente siempre que no haya más información disponible para que su aplicación pueda intercambiar con CliSiTef, de acuerdo con los resultados devueltos por esta rutina.

int ContinuaFuncaoSiTefInterativo (Command, FieldType, MinSize, MaxSize, TransferBuffer, BufferSize,
ContinuityFlag)

Tabla 5: Parámetros de función#

ParámetroTipoInterfaz EstándarDescripción
Command

Comando

Salida, por referenciaint *El regresa:

0 → Si CliSiTef está devolviendo algunos datos de transacción en el campo TransferBuffer

Otro valor → Indica el siguiente comando que el TPV debe ejecutar. Los comandos válidos se describen en Anexo B

FieldType

Tipo de campo

Salida, por referencialong *Contiene el código del tipo de campo que el TPV debe manejar. Para obtener una descripción de los tipos de campos, consulte el documento que describe las funciones disponibles en cada país
MinSize

Tamaño mín

Salida, por referenciashort *Cuando Command es para la recopilación de datos, contiene el tamaño mínimo del campo a ser leído
MaxSize

Tamaño máx

Salida, por referenciashort *Cuando Command es para la recopilación de datos, contiene el tamaño máximo del campo a ser leído
TransferBuffer

Buffer de transferencia

Entrada y salida, por valorchar *Área de transferencia de datos entre el TPV y CliSiTef. Debe tener al menos 20,000 bytes. Si el TPV no envía datos a CliSiTef, este campo debe pasarse vacío
BufferSize

Tamaño del búfer

Entrada, por valorintTamaño del área de transferencia reservada por el TPV para el campo TransferBuffer
ContinuityFlag

Bandera de continuidad

Entrada, por valorintContiene instrucciones para CliSiTef en el ejecutado Command de acuerdo con los siguientes códigos:

0 → Continuar la transacción

1 → Volver a recolectar el campo anterior, si es posible

2 → Reservado (No usar)

10000 → Continuar la transacción (ver nota a continuación)

-1 → Termina la transacción

Nota: Por lo general, el campo solicitado por esta rutina se presentará en la pantalla para ser ingresado y luego se devolverá a CliSiTef, pero habrá casos en los que un campo ya se recolectó anteriormente, es decir, al finalizar una venta y el TPV ya ha definido el número de pagos de esa venta. En este caso, el operador no tiene que recolectar el campo, y cuando CliSiTef solicita este campo, la aplicación TPV solo necesita informar esto en el campo TransferBuffer y continuar con la transacción, informando el valor 10000 sobre el ContinuityFlag.

Es importante tener en cuenta que estos datos deben presentarse al operador, por lo que se verifica su valor, antes de devolverlos a la biblioteca. Además, este es un tipo opcional de recolección de datos, ya que siempre se puede recolectar en la pantalla, y el uso de esta función puede interferir en el flujo de recolección, por lo que es importante consultar con Fiserv antes de usarlo.

Todas estas rutinas devuelven los mismos valores de IniciaFuncaoSiTefInterativo, con el valor "0" (cero) que significa que el pago fue aprobado por el emisor de la tarjeta.

Otras informaciones importantes sobre el uso de esta rutina son:

  • La primera llamada de función ContinuaFuncaoSiTefInterativo, que inicia el proceso iterativo (la primera realizada después de recibir el valor 10000 de la función IniciaFuncaoSiTefInterativo) debe hacerse con los campos Command, FieldType, MinSize, MaxSize y ContinuityFlag establecidos con ceros;

  • Como se indica en el diagrama de flujo en la Sección Diagrama de flujo del proceso de CliSiTef, la aplicación de TPV debe permanecer en el bucle llamando a los comandos devueltos por CliSiTef, hasta que obtenga un valor de retorno diferente de 10000.

  • Si el TPV decide cancelar el proceso, pasando el valor -1 en el campo ContinuityFlag, aún es necesario ejecutar la función ContinuaFuncaoSiTefInterativo en bucle hasta que devuelva un valor diferente a 10000.

  • El TPV nunca debe cambiar ninguno de los campos devueltos por CliSiTef, aparte del TransferBuffer.

Es obligatorio que todos los campos solicitados por CliSiTef sean recolectados por el TPV, incluso si no sabe qué tipo de campo es, o si no esperaba este campo en particular. Esto se debe a que el flujo del proceso está controlado por CliSiTef, y lo hace de acuerdo con un conjunto de reglas determinadas por Sitef y los emisores de la tarjeta.