Архив
 
Оплата по 54-ФЗ
Это старая версия API. Переходите на API Яндекс.Кассы.
По закону 54-ФЗ интернет-магазины обязаны передавать в налоговую фискальные данные (с названиями и ценами товаров, ставкой НДС и другой необходимой информацией). Яндекс.Касса готова участвовать в этом процессе.
 
Термины
Онлайн-касса — специальный кассовый аппарат с фискальным накопителем (ККТ), подключается к интернету, постоянно находится в онлайне и передает фискальные данные в ОФД.
ОФД — оператор фискальных данных, посредник между онлайн-кассами и налоговой.
КЭП — квалифицированная электронная подпись, нужна для регистрации онлайн-кассы в налоговой.
 
Решение Яндекс.Кассы по 54-ФЗ
 
Чем поможет Яндекс.Касса
Яндекс.Касса может собирать данные в нужном виде и отправлять их в онлайн-кассу в момент оплаты или возврата. Из этих данных онлайн-касса сформирует чек и отправит его в ОФД, а ОФД — в налоговую.
Яндекс.Касса не отправляет электронный чек покупателю: даже если ему приходит электронное письмо об оплате, оно не считается полноценным чеком. Отправлять чеки покупателям можно через ОФД.
 
Что для этого нужно сделать
  1. Подключить онлайн-кассу одного из партнеров Яндекс.Кассы.
  2. Заключить договор с оператором фискальных данных (ОФД).
  3. Получить квалифицированную электронную подпись (КЭП).
  4. Зарегистрировать онлайн-кассу на сайте налоговой (в личном кабинете юрлица).
  5. Поменять настройки в личном кабинете Яндекс.Кассы.
  6. Передавать Яндекс.Кассе данные для формирования чека (то есть реализовать изменения протокола, описанные в этом документе).
 
Какие особенности процесса
  • В запросы к Яндекс.Кассе добавляются новые параметры (например, название, цена и ставка НДС для каждого товара в заказе).
  • Проведение платежа или возврата зависит от отправки фискальных данных в онлайн-кассу: при некоторых настройках платежи перестанут проходить, если онлайн-касса не отвечает. (См. Отправка данных для чека)
 
Кому нужны эти доработки
Только тем, кто собирается использовать решение Яндекс.Кассы для отправки данных для чека в свою онлайн-кассу. Если вы собираетесь настраивать взаимодействие с онлайн-кассой самостоятельно, ничего менять не нужно.
 
Настройки в личном кабинете Яндекс.Кассы
В личном кабинете Яндекс.Кассы необходимо указать:
  • что вы будете использовать решение Яндекс.Кассы по работе 54-ФЗ;
  • партнера Яндекс.Кассы, у которого вы покупаете или арендуете онлайн-кассу;
  • когда отправлять фискальные данные вашей онлайн-кассе: до уведомления о платеже (
    paymentAviso
    ) или вместе с ним:
  • электронный адрес, на который будут приходить письма с ошибками;
  • адрес вашего магазина (физический адрес или URL вашего сайта, он будет указан в чеке).
 
Изменения в сценарии проведения оплаты
Процесс оплаты зависит от того, когда отправляются данные для чека: до уведомления об успешной оплате (
paymentAviso
) или вместе с ним, это настраивается в личном кабинете Яндекс.Кассы.
Подробнее в разделе Отправка данных для чека
 
Передача данных для чека в платежной форме
Параметры для передачи фискальных данных добавляются в стандартную платежную форму Яндекс.Кассы.
В форму добавляется один дополнительный параметр, в котором передаются все нужные данные (
ym_merchant_receipt
).
 
Возвраты платежей
Метод returnPayment отвечает за проведение возвратов.
Параметры для чека нужно передавать только в случаях, когда состав чека меняется:
  • при частичном возврате;
  • если платеж, который нужно вернуть, проводился без отправки чека.
В этом случае в запросе появляется параметр
receipt
, в котором передаются параметры для чека (по товарам, за которые возвращаются деньги).
Параметры для чека не нужно передавать при полных возвратах (если при платеже уже отправлялся чек).
Подробнее в описании метода returnPayment.
 
Автоплатежи, повторы платежей, привязка карты
Метод repeatCardPayment отвечает за повтор платежей с банковских карт и за привязку карт для платежей в конкретном магазине.
Параметры для чека нужно передавать, если:
  • меняется сумма платежа;
  • меняется состав заказа;
  • платеж, который нужно повторить, проводился без отправки чека.
В этом случае к запросу добавляется параметр
ym_merchant_receipt
, данные отправляются в формате JSON (так же, как в платежной форме).
В остальных случаях используются данные для чека, которые передавались при исходном платеже.
Подробнее в описании метода repeatCardPayment
 
Предавторизация
 
Подтверждение платежа
Метод confirmPayment позволяет подтвердить отложенный платеж с банковской карты (если вы проводите платежи с карт с предавторизацией).
Параметры для чека нужно передавать, если:
  • сумма платежа отличается от исходной, переданной в платежной форме (проводится частичный клиринг);
  • платеж, который нужно подтвердить, проводился без отправки чека.
В этом случае к запросу добавляется параметр
ym_merchant_receipt
, данные отправляются в формате JSON (так же, как в платежной форме).
В остальных случаях используются данные для чека, которые передавались при исходном платеже.
Подробнее в описании метода confirmPayment
 
Отмена платежа
Метод cancelPayment позволяет отменить отложенный платеж с банковской карты (если вы проводите платежи с карт с предавторизацией).
Параметры для чека нужно передавать, если платеж, который нужно отменить, проводился без отправки чека.
В этом случае к запросу добавляется параметр
ym_merchant_receipt
, данные отправляются в формате JSON (так же, как в платежной форме).
В остальных случаях используются данные для чека, которые передавались при исходном платеже.
Подробнее в описании метода cancelPayment
 
Инвойсинг
Метод createInvoice позволяет провести списание со счета пользователя во внешних платежных системах (Сбербанк Онлайн, Webmoney).
Данные для чека передаются обязательно, в параметре
ym_merchant_receipt
, в формате JSON (так же, как в платежной форме).
 
Что почитать еще
Параметры для формирования чека