Михаил Зотов
Fullstack-разработчик

Услуга

Интеграция сайта с ЮKassa

Подключаю приём платежей через ЮKassa к сайту, интернет-магазину, личному кабинету или Telegram-боту: создание платежа на сервере, оплата картой, через СБП и другими способами, чеки по 54-ФЗ, обработка уведомлений, возвраты и автоплатежи для подписок. Заказ на сайте меняет статус сам — без ручной сверки с личным кабинетом ЮKassa.

Что можно подключить

  • Оплату заказа картой, через СБП, SberPay, T-Pay и ЮMoney
  • Платёжную форму ЮKassa: переход на страницу оплаты или виджет на сайте
  • Отправку данных для чеков по 54-ФЗ вместе с платежом
  • Обработку HTTP-уведомлений: оплачен, отменён, возврат проведён
  • Двухстадийные платежи: холдирование и списание после подтверждения заказа
  • Полные и частичные возвраты из админки сайта
  • Автоплатежи для подписок и регулярных списаний с сохранённого способа оплаты
  • Приём оплаты для самозанятых с автоотправкой чеков в «Мой налог»
  • Оплату по ссылке из CRM, Telegram-бота или письма

Какие задачи бизнеса решает

  • Начать принимать онлайн-оплату на сайте без ручной проверки поступлений
  • Автоматически переводить заказ в статус «Оплачен» и уведомлять менеджера
  • Закрыть вопрос с чеками по 54-ФЗ при онлайн-оплате
  • Запустить подписку или регулярные платежи без повторного ввода карты
  • Делать возвраты из своей админки, а не из личного кабинета ЮKassa

Как устроена интеграция

Сайт отправляет заказ на backend, сервер создаёт платёж в ЮKassa и перенаправляет покупателя на оплату. После оплаты ЮKassa присылает HTTP-уведомление (payment.succeeded, payment.canceled, refund.succeeded) на ваш сервер. Статус заказа я меняю именно по уведомлению с дополнительной проверкой через API — редирект «успешная оплата» можно подделать или не дождаться.

Безопасность и идемпотентность

Секретный ключ магазина хранится только в переменных окружения сервера. Каждый запрос к ЮKassa отправляется с Idempotence-Key, поэтому повторная отправка из-за сбоя сети не создаёт второй платёж. Обработчик уведомлений идемпотентный: одно и то же событие, пришедшее дважды, не начислит бонусы и не отправит заказ повторно.

Что нужно от вас

Договор с ЮKassa и заведённый магазин (подключение делаете вы, это занимает у ЮKassa свою проверку). От вас — доступ к тестовому магазину и ключи API, выбранная схема чеков (Чеки от ЮKassa или своя онлайн-касса), список способов оплаты и описание, что должно происходить с заказом после оплаты и возврата.

На каких сайтах делаю

Основная специализация — сайты и сервисы на Next.js, React и Node.js, а также самописные проекты с доступом к серверу. Для Tilda, WordPress или Битрикс у ЮKassa есть готовые модули — если их хватает, лучше взять модуль. Я подключаюсь, когда нужен нестандартный сценарий: подписки, сплит заказов, оплата из бота, своя логика статусов.

Сроки и от чего зависит цена

Разовая оплата заказа с уведомлениями на готовом backend — обычно несколько рабочих дней. Дольше, если нужны чеки с разными ставками НДС, двухстадийные платежи, автоплатежи, возвраты из админки или если backend ещё предстоит сделать. Точную оценку даю после разбора сценария и кода.

Примеры функционала

  • Платёж создаётся только на сервере — секретный ключ не попадает во frontend
  • Idempotence-Key на каждый запрос: повтор не создаст двойной платёж
  • Статус заказа меняется по уведомлению, а не по редиректу пользователя
  • Повторная проверка статуса платежа через API перед выдачей товара
  • Журнал платежей и ошибок для разбора спорных случаев
  • Отладка в тестовом магазине до выхода в боевой режим

Как проходит разработка

  1. 1.Разбираю сценарий оплаты: какие способы, одна или две стадии, нужны ли чеки и автоплатежи
  2. 2.Проверяю, что магазин в ЮKassa заведён, и получаю ключи тестового магазина
  3. 3.Реализую создание платежа, обработку уведомлений, возвраты и статусы заказа
  4. 4.Тестирую успешные, отменённые и повторные оплаты в тестовом магазине
  5. 5.Переключаю на боевые ключи, проверяю первый реальный платёж и передаю доступы

Подходящие кейсы и решения

Работаете с Т-Банком, а не с ЮKassa?

Подключу интернет-эквайринг Т-Банка: карты, СБП, T-Pay, чеки и рекуррентные платежи.

Интеграция сайта с интернет-эквайрингом Т-Банка →
Нужен интернет-магазин с оплатой под ключ?

Каталог, корзина, оформление заказа, онлайн-оплата и доставка в одном проекте.

Разработка интернет-магазина под ключ →
Нужно вести учёт оплат и задолженностей?

Система учёта платежей, которую можно связать с онлайн-оплатой на сайте.

Разработка системы учёта оплат и задолженности →
Нужны другие интеграции?

CRM, доставка, 1С, учётные системы и внутренние сервисы через API и webhooks.

Интеграции API →

Используемые технологии

ЮKassa API v3REST APIWebhooksNode.jsTypeScriptNext.jsExpressMongoDBPostgreSQL

FAQ

Сколько стоит подключить ЮKassa к сайту?

Зависит от сценария: разовая оплата заказа с уведомлениями — самый простой вариант, автоплатежи, возвраты из админки и чеки с разными ставками НДС добавляют работы. Оцениваю после разбора задачи и текущего кода. Комиссию за платежи берёт ЮKassa по своему тарифу — это отдельно от разработки.

Нужна ли онлайн-касса, если подключить ЮKassa?

Чеки по 54-ФЗ при онлайн-оплате, как правило, нужны. У ЮKassa есть собственное решение «Чеки от ЮKassa», также можно подключить стороннюю онлайн-кассу. Какой вариант подходит вам и нужен ли чек в вашем случае — уточните у бухгалтера; я настрою передачу данных для чека со стороны сайта.

Можно ли принимать оплату самозанятому?

Да, ЮKassa подключает самозанятых без статуса ИП. Для них есть автоотправка чеков: при платеже и возврате чек регистрируется или аннулируется в «Мой налог» автоматически. Технически интеграция сайта почти такая же, как у ИП.

Как сделать подписку с автосписанием через ЮKassa?

При первом платеже способ оплаты сохраняется, дальше сервер создаёт платежи с его идентификатором по расписанию — без участия покупателя. Сохранение поддерживают карты, СБП, SberPay, T-Pay и ЮMoney, но автоплатежи нужно отдельно согласовать с ЮKassa для вашего магазина.

Можно ли подключить СБП через ЮKassa?

Да, СБП — один из способов оплаты ЮKassa. Покупатель выбирает его на странице оплаты или в виджете и платит через приложение своего банка. Отдельной интеграции с банком для этого не нужно.

Что будет, если уведомление от ЮKassa не дошло?

ЮKassa повторяет отправку уведомлений, а я дополнительно делаю проверку статуса незавершённых платежей через API по расписанию. Так заказ не зависнет в статусе «Ожидает оплаты», даже если сервер был недоступен.

Михаил Зотов

Оценю стоимость задачи

Коротко опишите задачу — отвечу со стоимостью и сроком.

Работаю официально как самозанятый · договор и чек

Не хотите заполнять форму? Напишите мне напрямую

Написать в Telegram