En esta sección se explica cómo genera el sistema fiscal una firma fuera de línea (fallo del dispositivo TSE) y qué datos devuelve en este caso el FiscalClient.
En ocasiones, la comunicación con el TSE/TSS devuelve un mensaje de error (fallo de hardware, el TSE en la nube no puede conectarse al CSP en la nube, etc.). En tal caso, continúe con el proceso de caja como de costumbre; el sistema fiscal crea automáticamente firmas fuera de línea y se encarga de volver a firmar automáticamente el recibo tan pronto como el TSE/TSS vuelva a estar disponible.
Existen varias posibilidades de reacción del sistema fiscal ante un fallo del TSE:
- Fallo del TSE únicamente en la operación «createDocument»
- Fallo del TSE únicamente en «storeDocument» o «cancelDocument»
- Fallo del TSE tanto en «createDocument» como en «storeDocument»/«cancelDocument»
En todos los casos, el sistema fiscal gestiona el fallo del TSE por parte del sistema de punto de venta y solo es necesario dar soporte a las diferentes respuestas fiscales.
Fallo de TSE en «createDocument»
En este caso, únicamente ha fallado la apertura de la transacción en el TSE (createDocument).
El sistema fiscal devuelve una respuesta fiscal especial:
{
"FiscalCountry":0,
"FiscalisationDocumentNumber": -99,
"FiscalisationDocumentRevision":0,
"FiscalDocumentStartTime":0,
"ProcessStartTime":0,
"ErrorDescription":"Tse connection error.",
"CashRegisterId":"3656-1",
"Signature":"Tse not connected.",
"UserMessage":"Tse not connected.",
"PrintMessage":"TSE ausgefallen.",
"RequestTime":"2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime":"2021-09-07T07:07:09.7981746+02:00",
"AdditionalFields":
{
"QrCodeDataString":"", -- empty
"TransactionStartTime":0, -- zero
"TransactionEndTime":1630991229,
"ProcessData":"", -- empty
"ProcessType":"Kassenbeleg-V1",
"TseSerial":"7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat":"unixTime",
"TseHashAlgorithm":"ecdsa-plain-SHA256",
"TsePublicKey":"", -- empty
"TseSignatureCounter":0, -- zero
"TseCertificate":"Tse not connected."
}
}
El flujo de procesamiento para el sistema de punto de venta permanece inalterado. Basta con remitir los valores almacenados en la respuesta fiscal (incluido el número de documento fiscal asociado al error de conexión con el TSE) en la llamada a «storeDocument». El propio sistema fiscal se encargará de crear automáticamente la transacción previa a la persistencia del documento (firmarlo) y devolverá una respuesta fiscal estándar en «storeDocument».
Error de TSE en «storeDocument»/«cancelDocument»
En este caso, el sistema fiscal devolverá una respuesta fiscal de error:
{
"FiscalCountry":0,
"FiscalisationDocumentNumber":0,
"FiscalisationDocumentRevision":0,
"FiscalDocumentStartTime":0,
"ProcessStartTime":0,
"ErrorDescription":"Tse connection error.",
"CashRegisterId":"3656-1",
"Signature":"Tse not connected.",
"UserMessage":"Tse not connected.",
"PrintMessage":"TSE ausgefallen.",
"RequestTime":"2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime":"2021-09-07T07:07:09.7981746+02:00",
"AdditionalFields":
{
"QrCodeDataString":"", -- empty
"TransactionStartTime":0, -- zero
"TransactionEndTime":1630991229,
"ProcessData":"", -- empty
"ProcessType":"Kassenbeleg-V1",
"TseSerial":"7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat":"unixTime",
"TseHashAlgorithm":"ecdsa-plain-SHA256",
"TsePublicKey":"", -- empty
"TseSignatureCounter":0, -- zero
"TseCertificate":"Tse not connected."
}
}
Al finalizar el fallo de TSE, el sistema fiscal vuelve a firmar automáticamente todos los recibos generados y almacenados durante la interrupción del servicio. El sistema TPV no tiene que realizar ninguna acción adicional en este momento.
Fallo de TSE en «createDocument» y «storeDocument»/«cancelDocument»
En caso de que se produzcan estos fallos del TSE, el proceso de envío de datos al sistema fiscal sigue siendo el mismo; no es necesario adaptar el software del TPV a esta situación, solo la respuesta fiscal difiere de una respuesta de firma habitual.
{
"FiscalCountry":0,
"FiscalisationDocumentNumber":0,
"FiscalisationDocumentRevision":0,
"FiscalDocumentStartTime":0,
"ProcessStartTime":0,
"ErrorDescription":"Tse connection error.",
"CashRegisterId":"3656-1",
"Signature":"Tse not connected.",
"UserMessage":"Tse not connected.",
"PrintMessage":"TSE ausgefallen.",
"RequestTime":"2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime":"2021-09-07T07:07:09.7981746+02:00",
"AdditionalFields":
{
"QrCodeDataString":"", -- empty
"TransactionStartTime":0, -- zero
"TransactionEndTime":1630991229,
"ProcessData":"", -- empty
"ProcessType":"Kassenbeleg-V1",
"TseSerial":"7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat":"unixTime",
"TseHashAlgorithm":"ecdsa-plain-SHA256",
"TsePublicKey":"", -- empty
"TseSignatureCounter":0, -- zero
"TseCertificate":"Tse not connected."
}
}
Al finalizar el fallo del TSE, el sistema fiscal vuelve a firmar automáticamente todos los recibos generados y almacenados durante la interrupción del servicio. El sistema TPV no tiene que realizar ninguna acción en este momento.
Este artículo ha sido traducido automáticamente.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.