Clase para gestionar comunicación de Sage50 con dispositivo PAYTEF para cobros por tarjeta. Soporta únicamente interficie PAYTEF EMV (HTTPV que existia en FOX deja de soportarse). El interface HTTPV esta obsoleto (según nos comentan desde el departamento técnico de PAYTEF), era para cuando se usaba el cobro con teclados que incorporaban lector de banda). Más...
Estructuras de datos | |
class | DatafonoPayTefFormaCob |
Clase para gestionar el cobro por datafono Paytef de una determinada forma de cobro. Más... | |
Tipos públicos | |
enum | ConfigInterface { ConfigInterface.NODETERMINADA = 0, ConfigInterface.HTTPV, ConfigInterface.EMV } |
Tipo de configuración física de datáfono PAYTEF. Más... | |
Métodos públicos | |
DatafonoPayTef () | |
Constructor. Más... | |
override Dictionary< string, object > | _Obtener_Filtros_SageReports (Dictionary< string, object > tdicParametros) |
Obtener los datos de la empresa Más... | |
override DataTable | _Obtener_Datos_SageReports (Dictionary< string, object > tdicParametros) |
Obtener los datos del cobro Más... | |
override bool | _ProcesarCobro (List< IMovCajaLinea > tlisMovCajaLineas) |
Método para realizar la transacción de cobro con tarjeta con un datáfono PAYTEF. Más... | |
override bool | _ObtenerDatosCobro (IMovCajaLinea mvlItem, ref string tcFormasCobro, ref string tcImporteCobro, ref string tcDevolucion) |
Obtener los datos del cobro efectuado en tarjeta. Más... | |
override bool | _ImprimirComprobanteOperacionCobro (IMovCajaLinea mvlItem) |
Imprimir comprobante de operación de tarjeta realizada por datáfono PAYTEF. Más... | |
Métodos públicos heredados desde sage.ew.tpv.Clases.DatafonoBase | |
DatafonoBase () | |
Constructor Más... | |
virtual bool | _Show_Print (int tnAbrirEn) |
Campos de datos | |
Dictionary< string, string > | _dicCodRespuesta |
Posibles códigos de respuesta recibidos en un campo de la trama de respuesta del servidor PAYTEF (respuesta correspondiente a la petición de cobro realizada con anterioridad). Más... | |
Propiedades | |
override IDocPrint | _DocPrint [get, set] |
DocPrint Más... | |
override String | _Nombre [get] |
Nombre Más... | |
override String | _ReportBase [get, set] |
ReportBase Más... | |
override string | _ReportTitlePreview [get, set] |
ReportBase Más... | |
ConfigInterface | _PayTefInterface [get, set] |
Tipo de interface (HTTP, EMV) Por compatibilidad con anteriores versiones se mantienen todos los elementos en la enumeración pero Sage50 solo trabaja con interficie EMV (no se soporta interficie HTTPV existente en Eurowin). El interface HTTPV está obsoleto (según nos comentan desde el departamento técnico de PAYTEF), era para cuando se usaba el cobro con lectores de banda. Más... | |
string | _PayTefLocalEquipo [get, set] |
IP del equipo local en el que estamos y que tiene el lector conectado en el USB con el software PAYTEF-USB instalado. Más... | |
int | _PayTefLocalPuerto [get, set] |
Puerto por el que el software del lector PAYTEF-USB se comunica con el sofware servidor de PAYTEF que atiende las peticiones del lector. Más... | |
string | _PayTefLocalLector [get, set] |
Nº de serie del lector, 74210525 por ejemplo. Más... | |
string | _PayTefLocalTCOD [get, set] |
Código TCOD del lector, por ejemplo, S4R3U Más... | |
string | _PayTefServEquipo [get, set] |
IP donde se encuentra instalado el programa de servidor de PAYTEF. Si se encuentra instalado en el mismo equipo donde está el lector está propiedad tendrá valor idéntico a _PayTefLocalEquipo En una instalación con varios PC con lector cada uno de ellos, se recomienda instalar en cada equipo el software PAYTEF-USB y el software PAYTEF, pero también se podría instalar el software PAYTEF-USB en cada equipo con lector, y el software PAYTEF únicamente en un equipo. Más... | |
int | _PayTefServPuerto [get, set] |
Nº de puerto por el que escucha el programa servidor de PAYTEF. Tiene que ser siempre un nº de puerto menos que donde escucha el software PAYTEF-USB. Si PAYTEF-USB escucha por el 8889, el software servidor de PAYTEF escuchará por el 8888. Más... | |
int | _PayTefServTiempoEspera [get, set] |
Tiempo de espera una vez se conecta al servidor en ms, antes de enviar la petición de transacción. No poner un valor demasiado alto p.e. 10 segundos pues se desconectaria al pasar tanto tiempo sin hacer nada. Poner 250 ms p.e. Más... | |
int | _PayTefLectorTipo [get, set] |
_PayTefLectorTipo Más... | |
string | _PayTefLectorSeparador [get, set] |
_PayTefLectorSeparador Más... | |
int | _PayTefLectorPuerto [get, set] |
_PayTefLectorPuerto Más... | |
int | _PayTefLectorTiempo [get, set] |
_PayTefLectorTiempo Más... | |
int | _PayTefContador [get, set] |
Contador interno de transacciones PAYTEF realizadas. Se guarda en TPV!CONF_TPV.CONT_OPER Más... | |
Propiedades heredados desde sage.ew.tpv.Clases.DatafonoBase | |
Boolean | _Imprimir [get, set] |
Indica si se ha de imprimir Más... | |
string | _Mensaje_Error [get, set] |
Mensaje de error caso de que alguna operación no se lleve a cabo correctamente. Más... | |
virtual String | _Fecha [get] |
Fecha Más... | |
virtual String | _Nombre [get] |
Nombre Más... | |
virtual String | _ReportBase [get, set] |
ReportBase Más... | |
virtual String | _ReportTitlePreview [get, set] |
Título para el preview Más... | |
virtual IDocPrint | _DocPrint [get, set] |
DocPrint Más... | |
virtual String | _Empresa [get, set] |
Empresa Más... | |
Propiedades heredados desde sage.ew.interficies.IDatafono | |
string | _Mensaje_Error [get, set] |
Mensaje de error caso de que alguna operación no se lleve a cabo correctamente. Más... | |
Boolean | _Imprimir [get, set] |
Imdica si se ha de imprimir el comprobante Más... | |
Propiedades heredados desde sage.ew.interficies.IDocumentoImprimible | |
string | _Fecha [get] |
Fecha Más... | |
string | _Empresa [get, set] |
Empresa que origina la impresión Más... | |
string | _ReportBase [get, set] |
Nombre del report que se va a utilizar para imprimir el documento Más... | |
string | _ReportTitlePreview [get, set] |
PE-103490 Nombre del documento que se va a utilizar para la previsualización el documento Más... | |
string | _Nombre [get] |
Nombre que se le va a dar al trabajo de impresión Más... | |
IDocPrint | _DocPrint [get, set] |
Referencia al objeto de impresión. Se utiliza para finalizar la interacción entre el Documento y el objeto de impresión una vez terminado el trabajo. Más... | |
Clase para gestionar comunicación de Sage50 con dispositivo PAYTEF para cobros por tarjeta. Soporta únicamente interficie PAYTEF EMV (HTTPV que existia en FOX deja de soportarse). El interface HTTPV esta obsoleto (según nos comentan desde el departamento técnico de PAYTEF), era para cuando se usaba el cobro con teclados que incorporaban lector de banda).
Al heredar de DatafonoBase, implícitamente ya cumple la interficie IDatafono.
Documentación técnica en: $.ES.Sage50.ES.Sage50
Definición en la línea 29 del archivo DatafonoPayTef.cs.
Tipo de configuración física de datáfono PAYTEF.
Por comptabilidad se mantienen los dos tipos que había en Eurowin, si bien en Sage50 se soporta únicamente interficie PAYTEF EMV (HTTPV que existia en Eurowin deja de soportarse). El interface HTTPV está obsoleto (según nos comentan desde el departamento técnico de PAYTEF), era para cuando se usaba el cobro con lectores de banda.
Valores de enumeraciones | |
---|---|
NODETERMINADA | Configuración PAYTEF no determinada todavía. |
HTTPV | Configuración HTTPV |
EMV | Configuración EMV |
Definición en la línea 40 del archivo DatafonoPayTef.cs.
|
inline |
Constructor.
Definición en la línea 696 del archivo DatafonoPayTef.cs.
|
inlinevirtual |
Imprimir comprobante de operación de tarjeta realizada por datáfono PAYTEF.
mvlItem | Item de movimiento caja linea que tiene el cobro efectuado en tarjeta. |
Para el caso de PAYTEF el report imprimido estará en función del tipo de interface PAYTEF (HTTP o EMV, según configuración de Addon TPV). Fox utilizaba en caso de interface HTTP el report COMPROBA.FRX, y en caso de interface EMV el report COMP_EMV.frx
Reimplementado de sage.ew.tpv.Clases.DatafonoBase.
Definición en la línea 1256 del archivo DatafonoPayTef.cs.
|
inlinevirtual |
Obtener los datos del cobro
tdicParametros |
Reimplementado de sage.ew.tpv.Clases.DatafonoBase.
Definición en la línea 1080 del archivo DatafonoPayTef.cs.
|
inlinevirtual |
Obtener los datos de la empresa
tdicParametros |
Reimplementado de sage.ew.tpv.Clases.DatafonoBase.
Definición en la línea 1064 del archivo DatafonoPayTef.cs.
|
inlinevirtual |
Obtener los datos del cobro efectuado en tarjeta.
mvlItem | Item de movimiento caja linea que tiene el cobro efectuado en tarjeta. |
tcFormasCobro | Variable de formas de cobro. |
tcImporteCobro | Variable de importe cobro. |
tcDevolucion | Variable devolución si/no. |
Reimplementado de sage.ew.tpv.Clases.DatafonoBase.
Definición en la línea 1189 del archivo DatafonoPayTef.cs.
|
inlinevirtual |
Método para realizar la transacción de cobro con tarjeta con un datáfono PAYTEF.
tlisMovCajaLineas | Lista con los importes que se entregan en las diferentes formas de cobro de TPV. Se pasan todas las cantidades declaradas por el usuario en las diferentes formas de cobro aunque el objeto de este método sea únicamente procesar la transacción en el datáfono con el importe declarado en la forma de cobro tarjeta, pero se pasan los importes declarados en todas las formas de cobro por si fuesen necesarios con algún objetivo dentro de la implementación de la transacción el datáfono. Lo normal será hacer uso del importe declarado en la forma de cobro que sea de tipo Tarjeta. |
Si la ejecución de Sage50 produce la llamada a este método es seguro que al menos una de las formas de cobro que se reciben en la lista es de tipo tarjeta y existe importe declarado en la misma, motivo por el cual se debe realizar la transacción con el datáfono y se delega dicha tarea en este método. Este método lo puede llamar Sage50 desde los diferentes formularios que permiten realizar cobro en tarjeta (frmCobrosCaja, frmCobrosCajaMultiples, frmCobrosVarios) La implementación que se haga de este método deberá hacer todo, es decir, conectar con el datáfono, realizar la transacción (positiva o negativa-devolución) y guardar los datos de la operación resultante en el campo TPV!TIKETS.NUMCOBRO, y el detalle de los resultados de la transacción en la tabla TPV!OP_TARJETA o TPV!OP_EMV en función de cómo se configura PAYTEF en el addon TPV.
Reimplementado de sage.ew.tpv.Clases.DatafonoBase.
Definición en la línea 1131 del archivo DatafonoPayTef.cs.
Dictionary<string, string> sage.ew.tpv.Clases.DatafonoPayTef._dicCodRespuesta |
Posibles códigos de respuesta recibidos en un campo de la trama de respuesta del servidor PAYTEF (respuesta correspondiente a la petición de cobro realizada con anterioridad).
Definición en la línea 668 del archivo DatafonoPayTef.cs.
|
getset |
DocPrint
Definición en la línea 64 del archivo DatafonoPayTef.cs.
|
get |
Nombre
Definición en la línea 80 del archivo DatafonoPayTef.cs.
|
getset |
Contador interno de transacciones PAYTEF realizadas. Se guarda en TPV!CONF_TPV.CONT_OPER
Definición en la línea 661 del archivo DatafonoPayTef.cs.
|
getset |
Tipo de interface (HTTP, EMV) Por compatibilidad con anteriores versiones se mantienen todos los elementos en la enumeración pero Sage50 solo trabaja con interficie EMV (no se soporta interficie HTTPV existente en Eurowin). El interface HTTPV está obsoleto (según nos comentan desde el departamento técnico de PAYTEF), era para cuando se usaba el cobro con lectores de banda.
Definición en la línea 517 del archivo DatafonoPayTef.cs.
|
getset |
_PayTefLectorPuerto
Definición en la línea 644 del archivo DatafonoPayTef.cs.
|
getset |
_PayTefLectorSeparador
Definición en la línea 637 del archivo DatafonoPayTef.cs.
|
getset |
_PayTefLectorTiempo
Definición en la línea 651 del archivo DatafonoPayTef.cs.
|
getset |
_PayTefLectorTipo
Definición en la línea 630 del archivo DatafonoPayTef.cs.
|
getset |
IP del equipo local en el que estamos y que tiene el lector conectado en el USB con el software PAYTEF-USB instalado.
Creo que esta propiedad no se utiliza por que la solicitud de transacción de cobro no se envía a lo que pone en esta propiedad sino a lo que pone en la propiedad _PayTefServEquipo que es la IP donde está el software PAYTEF que atiende las peticiones de cobro, y luego este software PAYTEF ya se comunica con el software PAYTEF-USB que es quien controla el lector.
Definición en la línea 534 del archivo DatafonoPayTef.cs.
|
getset |
Nº de serie del lector, 74210525 por ejemplo.
Contrariamente a las dos propiedades anteriores (_PayTefLocalEquipo, _PayTefLocalPuerto) esta propiedad sí que se utiliza.
Definición en la línea 559 del archivo DatafonoPayTef.cs.
|
getset |
Puerto por el que el software del lector PAYTEF-USB se comunica con el sofware servidor de PAYTEF que atiende las peticiones del lector.
Creo que esta propiedad no se utiliza por que la solicitud de transacción de cobro no se envía a lo que pone en esta propiedad sino a lo que pone en la propiedad _PayTefServPuerto que es el puerto por el que escucha el software PAYTEF que atiende las peticiones de cobro, y luego este software PAYTEF ya se comunica con el software PAYTEF-USB que es quien controla finalmente el lector.
Definición en la línea 548 del archivo DatafonoPayTef.cs.
|
getset |
Código TCOD del lector, por ejemplo, S4R3U
Contrariamente a las dos propiedades anteriores (_PayTefLocalEquipo, _PayTefLocalPuerto) esta propiedad sí que se utiliza.
Definición en la línea 570 del archivo DatafonoPayTef.cs.
|
getset |
IP donde se encuentra instalado el programa de servidor de PAYTEF. Si se encuentra instalado en el mismo equipo donde está el lector está propiedad tendrá valor idéntico a _PayTefLocalEquipo En una instalación con varios PC con lector cada uno de ellos, se recomienda instalar en cada equipo el software PAYTEF-USB y el software PAYTEF, pero también se podría instalar el software PAYTEF-USB en cada equipo con lector, y el software PAYTEF únicamente en un equipo.
Para más datos revisar el documento en TFS: $.ES.Sage50.ES.Sage50.paytef.txt
Las peticiones de transacción se envían a esta IP y puerto.
Definición en la línea 587 del archivo DatafonoPayTef.cs.
|
getset |
Nº de puerto por el que escucha el programa servidor de PAYTEF. Tiene que ser siempre un nº de puerto menos que donde escucha el software PAYTEF-USB. Si PAYTEF-USB escucha por el 8889, el software servidor de PAYTEF escuchará por el 8888.
Las peticiones de transacción se envían a esta IP y puerto.
Definición en la línea 599 del archivo DatafonoPayTef.cs.
|
getset |
Tiempo de espera una vez se conecta al servidor en ms, antes de enviar la petición de transacción. No poner un valor demasiado alto p.e. 10 segundos pues se desconectaria al pasar tanto tiempo sin hacer nada. Poner 250 ms p.e.
No confundir con el tiempo máximo de espera de la respuesta del servidor una vez se ha enviado la petición de transacción de cobro. Ese tiempo máximo lo prefijamos por código según lo que se aconseja en la documentación técnica de PAYTEF.
"El timeout esperando la respuesta de PAYTEF debe ser como mínimo de 2 minutos, para dar tiempo al usuario a solicitar la tarjeta al cliente y que la operación se efectúe, si bien recomendamos ampliarlo a 4 minutos, es decir, 240000 ms."
Definición en la línea 617 del archivo DatafonoPayTef.cs.
|
getset |
ReportBase
Definición en la línea 91 del archivo DatafonoPayTef.cs.
|
getset |
ReportBase
Definición en la línea 106 del archivo DatafonoPayTef.cs.