Онлайн-кассы
Введение
С 1 июля 2017 года вступили в силу требования в рамках новой редакции закона 54-ФЗ об обязательном применении онлайн-касс для интернет-магазинов. Поправки к закону обязывают онлайн-магазины использовать специальную кассовую технику для отправки фискальных данных в Федеральную налоговую службу (ФНС). Чтобы обеспечить соответствие 54-ФЗ, мы предлагаем вам следующие решения для интернет-торговли (онлайн-кассы), которые уже поддерживает платежный шлюз и которые могут быть включены на платежном шлюзе:
Онлайн-кассы взаимодействуют с ОФД (операторами фискальных данных), которые подключают онлайн-кассы к своим центрам обработки данных, шифруют эти данные, систематизируют и передают налоговым органам в необходимом им формате. Заключение контракта с ОФД является обязательным для предпринимателя, использующего контрольно-кассовую технику.
Для подключения онлайн-кассы обратитесь к вашему менеджеру в банке
Сценарий работы
Ниже представлена схема работы при фискализации.
формирования чека B-->>-OS: Подтверждение
успешности оплаты
- После успешной продажи Интернет-магазин отправляет в Банк запрос с данными для чека.
- Банк передает данные для чека в Онлайн-кассу.
- Онлайн-касса передает данные о продаже ОФД.
- ОФД формирует чек, передает его в ФНС, а также отправляет Покупателю.
- ОФД регистрирует чек в онлайн-кассе.
- Онлайн-касса отправляет в Банк подтверждение формирования чека.
- Банк отправляет в Интернет-магазин подтверждение успешности оплаты.
Повторная регистрация чека
С 1 июля 2019 года владельцы онлайн-касс должны формировать чеки для зачёта и возврата предоплаты. Таким образом, если клиент получил товар или услугу не в момент оплаты, нужно формировать два чека: первый чек — в момент оплаты, второй чек — в момент отгрузки.
Платёжный шлюз позволяет зарегистрировать второй чек (чек закрытия) без создания нового заказа с помощью запроса closeOfdReceipt. При этом выполняются следующие условия:
- В запросе должен присутствовать либо параметр
orderNumber, либоmdOrder. - Если в запросе на закрытие передана корзина товаров (блок
orderBundle), корзина товаров будет передана в ОФД в том виде, в котором была передана в платежный шлюз в запросе на закрытие чека. - Если в запросе на закрытие корзина товаров (блок
orderBundle) отсутствует и заказ был завершен, то:- Если указана общая сумма (параметр
amount) и она совпадает с исходной суммой заказа, то в ОФД будет передана корзина из заказа. - Если исходный заказ был зарегистрирован без корзины или сумма заказа отличается от суммы закрытия, в ОФД будет отправлена корзина с одним элементом, выставленным в настройках по умолчанию.
- Если сумма не была передана, а в исходном заказе передавалась корзина — в ОФД будет отправлена корзина из исходного заказа.
- Если сумма не была передана, а в исходном заказе корзина не передавалась — в ОФД будет отправлена корзина с одним элементом, выставленным в настройках по умолчанию.
- Если указана общая сумма (параметр
- Если в запросе на закрытие корзина товаров (блок
orderBundle) отсутствует и по заказу был выполнен частичный возврат, то:- При частичном возврате на сумму — сумма исходного заказа пересчитывается и в ОФД отправляется изменённая корзина.
- При частичном возврате по позиции — сумма исходной позиции пересчитывается и в ОФД отправляется изменённая корзина.
Условия использования функциональности
Для использования этой функциональности должны быть соблюдены следующие условия:
- Заказ должен быть либо оплачен, либо по нему должен быть оформлен частичный возврат.
- По заказу должен быть успешно проведен первый чек с признаком способа расчета «Предоплата 100%».
- Второй чек к заказу может отправить только тот мерчант, который создал заказ.
- Количество чеков закрытия неограничено (т.к. товар может поступать отдельно по каждой товарной позиции).
- Если произошли возврат(ы) на всю сумму заказа (одним чеком или несколькими), то оформление второго чека будет недоступно.
Сценарий регистрации второго чека через API
- Мерчант отправляет в Платежный шлюз запрос регистрации заказа register.do c данными первого чека (при регистрации мерчант должен выставлять аттрибут
paymentMethod = 1, который находится вorderBundle.cartItems.items[].itemAttributes.attributes["name" == "paymentMethod" ]) . - Платежный шлюз отвечает на запрос регистрации.
- Платежный шлюз обменивается данными с ОФД.
- Мерчант отправляет в Платежный шлюз запрос закрытия чека closeOfdReceipt. При этом необходимо дублировать набор полей создания заказа и при регистрации выставлять аттрибут
paymentMethod = 1, который находится вorderBundle.cartItems.items[].itemAttributes.attributes["name" == "paymentMethod"]. - Платежный шлюз обменивается данными с ОФД.
- Платежный шлюз направляет Мерчанту подтверждение получения информации (ответ на запрос закрытия).
Версия формата фискального документа
Поддержка некоторых параметров определённых запросов API зависит от используемой версии формата фискального документа (ФФД).
Формат фискальных документов — это набор реквизитов, установленных законодательством, для обмена данными о фискальных операциях. ФФД определяет состав, формат и порядок реквизитов, которые должны отображаться во всех фискальных документах.
До недавнего времени использовалась версия 1.05, сейчас используется версия 1.2. В запросах, где набор используемых параметров изменился в связи с изменением версии ФФД, явно указано, с какой версией совместим тот или иной параметр. Где этого не указано явно, передача параметров поддерживается всеми версиями ФФД.
Изменить версию ФФД можно в настройках личного кабинета.