Для закрытия чека используется запрос closeOfdReceipt.do
.
С 1 июля 2019 года владельцы онлайн-касс должны формировать чеки для зачёта и возврата предоплаты. Платёжный шлюз позволяет зарегистрировать второй чек (чек закрытия) без создания нового заказа с помощью запроса closeOfdReceipt
.
В запросе должен присутствовать либо параметр orderNumber
, либо mdOrder
.
Содержимое чека закрытия зависит от того, передавалась ли в запросе на закрытие корзина заказа (orderBundle
)
Корзина передавалась | Корзина товаров будет передана в ОФД в том виде, в котором была передана в шлюз в запросе на закрытие чека. |
---|---|
Корзина не передавалась | Для завершённого заказа
Для возврата Закрытие чека может быть сделано, только если для заказа был осуществлён частичный, а не полный возврат.
|
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
Все версии. |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
Все версии. |
|
ANS..36 | Обязательно передать либо mdOrder , либо orderNumber |
Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза. |
Все версии. |
|
ANS..32 | Обязательно передать либо mdOrder , либо orderNumber |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно |
Все версии. |
|
N..12 | Нет |
Сумма платежа в минимальных единицах валюты. |
Все версии. |
|
Строка | Нет | В настоящее время не используется |
Все версии. |
|
Блок данных для передачи дополнительных параметров ОФД | Да |
Некоторые параметры блока Передача этого блока возможна только при использовании следующих ОФД:
| |
|
Не актуально | Да |
Блок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже. |
Все версии. |
orderBundle
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..21 | Нет |
Дата создания заказа в формате |
Все версии. |
|
Не актуально | Нет |
Блок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Да |
Блок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже. |
Все версии. |
|
массив ANS..19 | Нет | Ниже представлены параметры блока agent . (Перейти к описанию.) |
Все версии. |
|
массив ANS..19 | Нет |
Массив телефонов поставщика в формате +N. |
Все версии. |
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Да (если передаётся блок) |
Тип агента, доступны следующие значения:
|
|
|
Нет |
|
|
|
Нет |
|
|
массив ANS..19 | Нет |
Массив телефонов оператора по приему платежей в формате +N. |
|
массив ANS..19 | Нет |
Массив телефонов оператора перевода в формате +N. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
|
N10..12 | Нет |
ИНН оператора перевода. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
customerDetails
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..40 | См. примечание ниже. |
Электронная почта покупателя, на которую будут отправлен кассовый чек. В большинстве ОФД отправка чека поддерживается только на один электронный адрес. Некоторые ОФД поддерживают отправку чека на несколько электронных адресов — в этом случае можно указать несколько адресов электронной почты через запятую и без пробелов. О возможности отправки чека на несколько адресов уточняйте у вашего ОФД. Обязательно следует передать один из двух параметров: email или phone. |
Все версии. |
|
NS..12 | См. примечание ниже. |
Номер телефона клиента. Примеры:
В случае передачи номера в отдельном параметре и в дополнительных параметрах, в качестве основного использоваться будет номер, указанный в настоящем параметре
При использовании АТОЛ фискализации параметр |
Все версии. |
|
ANS..40 | Нет |
Способ связи с покупателем. |
Все версии. |
|
|
Нет |
Все версии. |
|
|
ANS..100 | Нет |
Фамилия, имя и отчество плательщика. Параметр возвращается только в том, случае если был передан партнером при регистрации. |
1.05 и более поздние версии. |
|
ANS..100 | Нет |
Серия и номер паспорта плательщика в следующем формате: |
1.05 и более поздние версии. |
|
N..12 | Нет |
Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. Параметр возвращается только в том, случае если был передан партнером при регистрации. |
1.05 и более поздние версии. |
Обязательно следует передать один из двух параметров: email
или phone
.
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
deliveryInfo
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Нет |
Способ доставки. |
Все версии. |
|
A..2 | Да |
Двухбуквенный код страны доставки. |
Все версии. |
|
ANS..40 | Да |
Город доставки. |
Все версии. |
|
ANS..255 | Да |
Адрес доставки. |
Все версии. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
cartItems
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
Не актуально | Да |
Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items. Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза. |
Все версии. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
items
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..12 | Да |
Уникальный идентификатор товарной позиции внутри корзины заказа. |
Все версии. |
|
ANS..100 | Да |
Наименование или описание товарной позиции в свободной форме.
Используйте |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. Ограничение размера поля - 1024 байт. |
Все версии. |
|
N..18 | Да |
Элемент, описывающий общее количество товарных позиций одного |
Все версии. |
|
N..12 | Нет |
Сумма стоимости всех товарных позиций одного
При расчёте параметра |
Все версии. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. |
Все версии. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
Во всех методах передача артикула |
Все версии. |
|
Не актуально | Только для магазинов с настройками фискализации |
Дополнительный тег с атрибутами описания налога. Описание вложенных тегов представлено ниже. |
Все версии. |
|
N..18 | Только для магазинов с настройками фискализации |
Стоимость одной товарной позиции в минимальных единицах валюты. Обязательно для продавцов с фискализацией.
|
Все версии. |
|
См. описание. | Только для магазинов с настройками фискализации |
Блок атрибутов товарной позиции. См. описание ниже. |
1.05 и более поздние версии. |
Ниже представлены параметры блока itemAttributes (см. пример и таблицу ниже).
"itemAttributes": [{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 |
Да |
Тип оплаты возможны следующие значения:
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentMethod значением по умолчанию является 1 (полная предварительная оплата до момента передачи предмета расчета). |
1.05 и более поздние версии. |
|
N..2 |
Да |
Тип оплачиваемой позиции, возможны следующие значения:
Указанные выше значения доступны для ФФД 1.05.
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentObject значением по умолчанию является 1 (товар). |
1.05 и более поздние версии. |
|
ANS | да (если передан markQuantity ) |
Код товарной позиции. Принимаются только первые 256 байт. Возможные форматы для передачи:
|
1.05 и более поздние версии. |
|
| Нет |
Дробное количество маркированного товара. |
1.2 и более поздние версии. |
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Нет |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Наименование поставщика. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН поставщика. |
1.05 и более поздние версии. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
quantity
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного |
Все версии. |
|
ANS..20 | Да |
Мера измерения количества товарной позиции. |
Все версии. |
Если ФФД версии 1.2 и более поздней, то здесь передаются параметры:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N1 | Да |
Количество товарных позиций данного positionId. Для версии ФФД 1.2+ значение всегда 1. |
1.2 и более поздние версии. |
|
N..3 | Да |
Единица измерения количества предмета расчета. При ФФД версии 1.2+ , если переданы параметры nomenclature и markQuantity, значение всегда 0. В остальных случаях принимает значения |
1.2 и более поздние версии. |
Возможные значения measure
Значение | Описание |
---|---|
0 | Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами (а также в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации (передан mark_code )) |
10 | Грамм |
11 | Килограмм |
12 | Тонна |
20 | Сантиметр |
21 | Дециметр |
22 | Метр |
30 | Квадратный сантиметр |
31 | Квадратный дециметр |
32 | Квадратный метр |
40 | Миллилитр |
41 | Литр |
42 | Кубический метр |
50 | Киловатт час |
51 | Гигакалория |
70 | Сутки (день) |
71 | Час |
72 | Минута |
73 | Секунда |
80 | Килобайт |
81 | Мегабайт |
82 | Гигабайт |
83 | Терабайт |
255 | Применяется при использовании иных мер измерения |
Параметры тэга markQuantity:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..12 | да |
Числитель дробной части предмета расчета. |
|
N..12 | да |
Знаменатель дробной части предмета расчета. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
itemDetails
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Да |
Дополнительная информация по товарной позиции. Представляет собой массив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции. |
Все версии. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
itemDetailsParams
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams . |
Дополнительная информация по товарной позиции. |
Все версии. |
|
AN..255 | Условно. Обязательно при наличии параметра itemDetailsParams . |
Наименование параметра описания детализации товарной позиции. |
Все версии. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
tax
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Нет |
Ставка НДС, доступны следующие значения:
Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом). |
Все версии. |
|
N..18 | Нет |
Сумма налога, высчитанная продавцом. Указывается в минимальных единицах валюты. |
Все версии. |
additionalOfdParams
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Нет |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
A..256 | Нет |
ФИО кассира. |
1.05 и более поздние версии. |
|
ANS..16 | Нет |
Дополнительный реквизит чека. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Наименование дополнительного реквизита пользователя. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Значение дополнительного реквизита пользователя. |
1.05 и более поздние версии. |
|
N..12 | Нет |
ИНН кассира |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Адрес покупателя (клиента). |
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата рождения покупателя (клиента) в формате «dd.mm.yyyy» |
1.2 и более поздние версии. |
|
N3 | Нет |
Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ. |
1.2 и более поздние версии. |
|
N2 | Нет |
Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ). |
1.2 и более поздние версии. |
|
NS11 | Нет |
Серия и номер паспорта плательщика: |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
NS..19 | Нет |
Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
N12 | Нет |
ИНН покупателя. |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Наименование покупателя (клиента). |
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: |
1.2 и более поздние версии. |
|
ANS | Нет |
Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ. |
1.2 и более поздние версии. |
|
N..32 | Нет |
Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Состав значений, определенных нормативным актом федерального органа исполнительной власти |
1.2 и более поздние версии. |
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
A..5 | Да |
Указывает на успешность запроса. Доступны следующие значения:
|
Все версии. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
Все версии. |
|
|
Нет |
|
Все версии. |
Код ошибки | Текст ошибки |
---|---|
1 | [mdOrder ] или [orderNumber ] не задан. |
5 | Неверная сумма. |
6 | Заказ не найден. |
6 | mdOrder и orderNumber относятся к разным заказам. |
6 | Заказ на предоплату не найден. |
7 |
Системная ошибка. |
7 | Нет прав на закрытие ОФД чека для текущего заказа. |
7 | Отключена возможность отправки документов в ОФД. |
7 | Невозможно закрыть ОФД чек при текущем состоянии заказа. |
7 | Не найден изначальный ОФД чек по заказу. |
7 | Текущая активная ОФД система мерчанта не совпадает с ОФД системой последнего чека. |
7 | Тип оплаты для всех позиций в корзине изначального чека отличен от типа 'Полная предоплата'. |
7 | Тип оплаты для всех позиций в корзине отличен от типа 'Полная оплата'. |
7 | Срок превышен. |
7 | Создание ОФД чека должно быть выключено, если передан mdOrder заказа на предоплату в качестве параметр заказа. |
7 | Нет прав на создание заказа на частичную оплату для указанного заказа на предоплату. |
7 | Невозможно создать заказ на частичную оплату для заказа на предоплату в текущем состоянии. |
7 | Отсутствуют успешные ОФД чеки для заказа на предоплату. |
7 | Текущая активная ОФД система мерчанта не совпадает с ОФД системой последнего чека. |
7 | Способ метода расчета для заказа на предоплату отличен от 'Предоплата'(2) и 'Аванс'(3). |
7 | Предыдущий заказ(ы) для указанного заказа на предоплату не был оплачен. |
7 | Нет прав на создание ОФД чека вручную. |
7 | Неизвестная ОФД система. |
7 | ОФД система из запроса не совпадает с активной ОФД системой мерчанта. |
7 | Продавец с указанным id не найден. |
8 | [orderBundle ] неверен. |
8 | [additionalOfdParams ] неверен. |
8 | [jsonParams ] неверен. |
8 | Общая сумма неверна. |
userName=username-api&password=testPwd&orderBundle={"customerDetails":{"phone":"%2B79888888866","inn":"516974792202","passport":"4507 443564"},"cartItems":{"items":[{"positionId":1,"name":"По-аджарски \"Лодочка\" SMALL","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"4"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}}]}}&mdOrder=c4626bfb-96f8-7882-80f1-28ce0128092a
password:password; amount:100000; additionalOfdParams:{"additional_check_props":"test"}; jsonParams:{"email":"test@test.com"}; userName:atolUser; mdOrder:9766d33c-7c32-7e55-a150-f61e0cc4a648
{ "success": true }