Перейти к основному содержимому

SetFiscalData

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

к сведению

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

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

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

Тип FiscalData

ИмяТипОписание
receipt_idStringУникальный порядковый номер платежа для Виртуального Фискального Модуля
status_codeNumberКод статуса, ниже приведен список кодов
messageStringДетальная информация об ошибке (если произошла ошибка при регистрации чека в ОФД)
terminal_idStringНомер Виртуального Фискального Модуля
fiscal_signStringФискальный Признак чека платежа
qr_code_urlStringURL адрес фискального чека
dateStringДата регистрации чека на стороне ОФД

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

{
"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"
}
}
}

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

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

Тип Result

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

Тип Error

ИмяТипОписание
codeNumberКод ошибки, ниже приведен список кодов
messageStringОписание ошибки

Коды ошибок

КодОписание
-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"
}
}
}