Ошибка при оплате безналом

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
nikitakls
Сообщения: 2
Зарегистрирован: 11 окт 2022, 22:45

Ошибка при оплате безналом

Сообщение nikitakls » 11 окт 2022, 22:58

Кейс такой - клиент платит по терминалу, который работает нестабильно.
При инициализации в ккм (команда 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": ""
}
====================== список устройств перед платежом List (когда нет терминала)

Код: Выделить всё

{
  "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
}
При этом запущена одна копия ККМ сервера.
По хорошему, если от ККМ приходит ошибка платежа, должна быть отмена операции, а в итоге платеж проходит.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Ошибка при оплате безналом

Сообщение Audim » 12 окт 2022, 15:17

Какихто прав не хватает.

Попробуйте запустить kkmserver из под администратора или сервисом.

Ответить