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