В този раздел ще научите как фискалната система генерира офлайн подпис (при отказ на TSE устройството) и какви данни се връщат в този случай от FiscalClient.
Понякога при комуникацията с TSE / TSS се получава съобщение за грешка (хардуерна повреда, Cloud TSE не може да се свърже с Cloud CSP и др.). В този случай продължете касовия процес както обикновено – фискалната система автоматично създава офлайн подписи и се грижи за автоматичното повторно подписване на касовата бележка, веднага щом TSE / TSS отново стане достъпно.
Има няколко възможности, по които фискалната система може да реагира при отказ на TSE:
- отказ на TSE само при createDocument
- отказ на TSE само при storeDocument/cancelDocument
- отказ на TSE при createDocument и storeDocument/cancelDocument
Във всички случаи фискалната система се справя с отпадането на TSE за POS системата и трябва да се поддържат само различните фискални реакции.
Отказ на TSE при createDocument
В този случай е настъпила грешка само при отварянето на транзакцията в TSE (createDocument).
Фискалната система връща специален фискален отговор:
{
"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."
}
}
Процесът за POS системата е същият като обикновено. Просто изпратете съхранените стойности на фискалния отговор (с номер на фискалния документ за грешка при свързване с TSE) при storeDocument. Самата фискална система се грижи за автоматичното създаване на транзакцията преди съхраняването на документа (подписване) и ще отговори с обичаен фискален отговор при storeDocument.
Грешка в TSE при storeDocument/cancelDocument
В този случай фискалната система ще върне фискален отговор за грешка:
{
"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."
}
}
След приключване на грешката в TSE фискалната система автоматично подписва отново всички касови бележки, генерирани и съхранени по време на прекъсването. POS системата не трябва да извършва никакви действия на този етап.
Отказ на TSE при createDocument и storeDocument/cancelDocument
При тези грешки на TSE процесът на изпращане на данни към фискалната система остава същият, POS софтуерът не се нуждае от адаптиране към тази ситуация, като единствената разлика е, че фискалният отговор се различава от обичайния отговор за подпис.
{
"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."
}
}
След отминаване на неизправността на TSE фискалната система автоматично подновява подписите на всички касови бележки, генерирани и съхранени по време на прекъсването. POS системата не трябва да извършва никакви действия в този момент.
Тази статия е преведена автоматично.
Коментари
0 коментара
Влезте в услугата, за да оставите коментар.