Ошибка при оплате безналом
Добавлено: 11 окт 2022, 22:58
Кейс такой - клиент платит по терминалу, который работает нестабильно.
При инициализации в ккм (команда LIST) нет в списке экварингового терминала
При оплате выбираем безнал, ккм пытается оплатить приходит ошибка "Error": "<Не определено>", "Status": 3, "Command": "RegisterCheck"
А после ккм успешно снимает деньги у клиента и отсылает чек в налоговую.
====================== список устройств List (когда терминал видится)
====================== список устройств перед платежом List (когда нет терминала)
====================== на нашей стороне
команда
в ответе приходит:
====================== на стороне ккм такой ответ
Текст команды:
IdType: GateArcus2, IdModel: 0, ver: 2.2.12.17, Width: 0, Firmware: <Не определено>, IP client:
Текст ошибки:
Низкоуровневые команды:
exe: 00:00.000000: C:\Arcus2\CommandLineTool\bin\CommandLineTool.exe
arg: 00:00.000000: /o1 /a550000 /c643 /v /r
rez: 01:55.170944: 000
Время выполнения команды:01:55.184331
Текст ответа:
При этом запущена одна копия ККМ сервера.
По хорошему, если от ККМ приходит ошибка платежа, должна быть отмена операции, а в итоге платеж проходит.
При инициализации в ккм (команда LIST) нет в списке экварингового терминала
При оплате выбираем безнал, ккм пытается оплатить приходит ошибка "Error": "<Не определено>", "Status": 3, "Command": "RegisterCheck"
А после ккм успешно снимает деньги у клиента и отсылает чек в налоговую.
====================== список устройств List (когда терминал видится)
Код: Выделить всё
{
"Error": "",
"Status": 0,
"Command": "List",
"Message": "",
"Warning": "",
"ListUnit": [
{
"IP": "192.168.10.1",
"INN": "3461065911",
"Port": "5555",
"OnOff": true,
"Active": true,
"InnOfd": "*",
"AddDate": "2021-09-22T15:41:36",
"BSOMode": false,
"FnNumber": "9961440300157990",
"IdDevice": "a9a1fa3f-8b20-4d53-b127-704b2b317d06",
"UnitName": "",
"KktNumber": "00106120060796",
"NumDevice": 1,
"OFD_Error": "",
"PaperOver": false,
"RegNumber": "0005807371040881",
"FFDVersion": null,
"FN_DateEnd": "2024-09-17T00:00:00",
"NameDevice": "АТОЛ 30Ф",
"TaxVariant": "2",
"TypeDevice": "Фискальный регистратор",
"FN_IsFiscal": false,
"ServiceMode": false,
"FFDVersionFN": null,
"IdTypeDevice": "KkmAtol_5",
"AddressSettle": "*",
"FFDVersionKKT": null,
"FN_MemOverflowl": false,
"IsRegisterCheck": true,
"OFD_NumErrorDoc": 0,
"Firmware_Version": "5.8.3",
"NameOrganization": "<Не определено>",
"OFD_DateErrorDoc": "1970-01-01T00:00:00"
},
{
"IP": "",
"INN": "",
"Port": "",
"OnOff": true,
"Active": true,
"InnOfd": "",
"AddDate": "2021-10-05T12:13:32",
"BSOMode": false,
"FnNumber": "",
"IdDevice": "d6dab130-cc4a-48eb-a8c0-a7471a06a3c8",
"UnitName": "",
"KktNumber": "",
"NumDevice": 2,
"OFD_Error": "",
"PaperOver": false,
"RegNumber": "",
"FFDVersion": "1.05",
"FN_DateEnd": "0001-01-01T00:00:00",
"NameDevice": "ARCUS 2: Платежный терминал",
"TaxVariant": "",
"TypeDevice": "Эквайринговый терминал",
"FN_IsFiscal": false,
"ServiceMode": false,
"FFDVersionFN": "1.0",
"IdTypeDevice": "GateArcus2",
"AddressSettle": "",
"FFDVersionKKT": "1.1",
"FN_MemOverflowl": false,
"IsRegisterCheck": false,
"OFD_NumErrorDoc": 0,
"Firmware_Version": "<Не определено>",
"NameOrganization": "<Не определено>",
"OFD_DateErrorDoc": "0001-01-01T00:00:00"
}
],
"IdCommand": ""
}
Код: Выделить всё
{
"Error": "",
"Status": 0,
"Command": "List",
"Message": "",
"Warning": "",
"ListUnit": [
{
"IP": "192.168.10.1",
"INN": "3461065911",
"Port": "5555",
"OnOff": true,
"Active": true,
"InnOfd": "7605016030",
"AddDate": "2021-09-22T15:41:36",
"BSOMode": false,
"FnNumber": "9961440300157990",
"IdDevice": "a9a1fa3f-8b20-4d53-b127-704b2b317d06",
"UnitName": "",
"KktNumber": "00106120060796",
"NumDevice": 1,
"OFD_Error": "",
"PaperOver": false,
"RegNumber": "0005807371040881",
"FFDVersion": null,
"FN_DateEnd": "2024-09-17T00:00:00",
"NameDevice": "АТОЛ 30Ф",
"TaxVariant": "2",
"TypeDevice": "Фискальный регистратор",
"FN_IsFiscal": true,
"ServiceMode": false,
"FFDVersionFN": null,
"IdTypeDevice": "KkmAtol_5",
"AddressSettle": "*",
"FFDVersionKKT": null,
"FN_MemOverflowl": false,
"IsRegisterCheck": true,
"OFD_NumErrorDoc": 0,
"Firmware_Version": "5.8.3",
"NameOrganization": "*",
"OFD_DateErrorDoc": "1970-01-01T00:00:00"
}
],
"IdCommand": ""
}
команда
Код: Выделить всё
{
"Cash": "0.00",
"Credit": "0.00",
"InnKkm": "",
"Command": "RegisterCheck",
"NotPrint": false,
"KktNumber": "",
"NumDevice": 0,
"TypeCheck": 0,
"is_evator": false,
"TaxVariant": 2,
"CashierName": "*",
"CashierVATIN": "*",
"CheckStrings": [
{
"Register": {
"Tax": -1,
"Name": "В01.003.004.001 Анестезия внутриротовая",
"Price": "500.00",
"Amount": "500.00",
"Quantity": 1,
"Department": 0,
"SignCalculationObject": 4,
"SignMethodCalculation": 4
}
},
{
"Register": {
"Tax": -1,
"Name": "A16.07.002 Лечение кариеса ",
"Price": "2500.00",
"Amount": "2500.00",
"Quantity": 1,
"Department": 0,
"SignCalculationObject": 4,
"SignMethodCalculation": 4
}
},
{
"Register": {
"Tax": -1,
"Name": "A16.07.002 Лечение кариеса ",
"Price": "2500.00",
"Amount": "2500.00",
"Quantity": 1,
"Department": 0,
"SignCalculationObject": 4,
"SignMethodCalculation": 4
}
}
],
"NumberCopies": 0,
"CashProvision": 0,
"ClientAddress": "",
"IsFiscalCheck": true,
"ReceiptNumber": "invoice-980",
"AdvancePayment": "0.00",
"PayByProcessing": true,
"ElectronicPayment": "5500.00",
"NumDeviceByProcessing": null
}
в ответе приходит:
Код: Выделить всё
{
"Error": "<Не определено>",
"Status": 3,
"Command": "RegisterCheck",
"Message": "",
"Warning": "",
"IdCommand": ""
}
====================== на стороне ккм такой ответ
Текст команды:
IdType: GateArcus2, IdModel: 0, ver: 2.2.12.17, Width: 0, Firmware: <Не определено>, IP client:
Код: Выделить всё
{
"Command": "PayByPaymentCard",
"NumDevice": 0,
"IdCommand": "1d0e675d-b8e0-4c26-8c9b-20632fc8dc59",
"Timeout": 0,
"NotPrint": true,
"CheckStrings": [],
"GoodCodeDatas": [],
"Amount": 5500.00,
"CheckProps": [],
"ReceiptNumber": "invoice-980"
}
Низкоуровневые команды:
exe: 00:00.000000: C:\Arcus2\CommandLineTool\bin\CommandLineTool.exe
arg: 00:00.000000: /o1 /a550000 /c643 /v /r
rez: 01:55.170944: 000
Время выполнения команды:01:55.184331
Текст ответа:
Код: Выделить всё
{
"UniversalID": "CN:************9997;RN:invoice-980;RRN:100077;AC:309314",
"Amount": 5500.00,
"CardNumber": "************9997",
"ReceiptNumber": "invoice-980",
"RRNCode": "100077",
"AuthorizationCode": "309314",
"Slip": " Терминал: F1013393\r\n Чек: 512\r\n Расчет\r\n ОДОБРЕНО\r\nСУММА: 5500.00 RUB\r\nкомиссия банка-эквайера: 0.00 RUB\r\nКарта:SBP PAN:************9997\r\nНомер ссылки\r\nRRN:QRCID=AD100077JVQ42UK8T6AFIO0O2\r\nD8060L|TID=B2248075923925150000195AE\r\n25FCA8D Mstripe\r\nID транзакции: 25421682910\r\nКод авторизации:309314\r\n Код\r\nответа:001\r\nДата (терминал): 05/09/22 10:57:34\r\n ПОДПИСЬ КЛИЕНТА НЕ ТРЕБУЕТСЯ\r\n \r\n ________________________\r\n (Подпись кассира)\r\n",
"PrintSlipOnTerminal": false,
"Command": "PayByPaymentCard",
"Error": "",
"Warning": "",
"Message": "",
"Status": 0,
"IdCommand": "1d0e675d-b8e0-4c26-8c9b-20632fc8dc59",
"NumDevice": 2
}
По хорошему, если от ККМ приходит ошибка платежа, должна быть отмена операции, а в итоге платеж проходит.