SetFiscalData

Для получения данных о фискализации чеков, мерчанты которые работают по Merchant API должны на своей стороне реализовать RPC метод SetFiscalData. Через этот метод мерчантам передаются данные о фискализации чека.

Данный метод не обязателен к реализации. Запрос посылается в биллинг поставщика, после перехода чека в успешный статус, не зависимо от реализованного протокола

Параметры запроса

Имя Тип Описание
id String Уникальный id чека в БД Payme
type String Тип чека, принимает два значения “PERFORM” и “CANCEL” для чеков оплаты и отмены соответственно
fiscal_data FiscalData Данные о фискализации чека


Тип FiscalData

Имя Тип Описание
receipt_id String Уникальный порядковый номер платежа для Виртуального Фискального Модуля
status_code Number Код статуса, ниже приведен список кодов
message String Детальная информация об ошибке (если произошла ошибка при регистрации чека в ОФД)
terminal_id String Номер Виртуального Фискального Модуля
fiscal_sign String Фискальный Признак чека платежа
qr_code_url String URL адрес фискального чека
date String Дата регистрации чека на стороне ОФД


Пример запроса чека для оплаты

{
    "method": "SetFiscalData",
    "params": {
        "id": "61396aaed8b87a4c215ae556",
        "type": "PERFORM",
        "fiscal_data": {
            "receipt_id": 121,
            "status_code": 0,
            "message": "accepted",
            "terminal_id": "EP000000000025",
            "fiscal_sign": "800031554082",
            "qr_code_url": "fiscal receipt url",
            "date": "20220706221021"
        }
    }
}


Пример запроса чека для отмены

{
    "method": "SetFiscalData",
    "params": {
        "id": "61396aaed8b87a4c215ae556",
        "type": "CANCEL",
        "fiscal_data": {
            "receipt_id": 123,
            "status_code": 0,
            "message": "accepted",
            "terminal_id": "EP000000000025",
            "fiscal_sign": "800031554082",
            "qr_code_url": "fiscal receipt url",
            "date": "20220706221021"
        }
    }
}


Параметры ответа

Имя Тип Описание
result Result Результат вызова метода, возвращается при успешной обработке данных
error Error Объект ошибки, содержит код и сообщение ошибки, возвращается только в случае возникновения ошибок


Тип Result

Имя Тип Описание
success Boolean При успешной обработке данных принимает значение true. В других случаях метод возвращает ошибки: -32001; -32700; -32602


Тип Error

Имя Тип Описание
code Number Код ошибки, ниже приведен список кодов
message String Описание ошибки


Коды ошибок

Код Описание
-32001 Чек с таким id не найден
-32700 Отправлен не валидный JSON объект
-32602 Не валидные параметры (что за параметр не валидный указывается в поле message)


Пример успешного ответа

{
    "result": {
        "success": true
    }
}


Пример ответа если возникла ошибка

{
    "error": {
        "code": -32001,
        "message": "Чек с таким id не найден"
    }
}


На стороне ГНК формируется два разных фискальных чеков для чеков оплаты и отмены, поэтому если метод SetFiscalData вызывается с параметром type: “CANCEL“, то необходимо сохранить данные из поле fiscal_ data как отдельный фискальный чек.

Пример

{
    "fiscal": {
        "perform_data": {
            "receipt_id": 121,
            "status_code": 0,
            "message": "accepted",
            "terminal_id": "EP000000000025",
            "fiscal_sign": "800031554082",
            "qr_code_url": "fiscal receipt url",
            "date": "20220706221021"
        },
        "cancel_data": {
            "receipt_id": 123,
            "status_code": 0,
            "message": "accepted",
            "terminal_id": "EP000000000025",
            "fiscal_sign": "900031555055",
            "qr_code_url": "fiscal receipt url",
            "date": "20220706231125"
        }
    }
}