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