ЮKassa ⇄ Яндекс Таблицы

Интеграция Яндекс Таблицы с ЮKassa

💡 Зачем нужна эта интеграция

Компании, которые принимают оплату через ЮKassa, обычно ведут заказы, счета и учёт клиентов в таблицах. Яндекс Таблицы удобны для этого: они входят в экосистему Яндекс 360, поддерживают совместную работу и просты для менеджеров и бухгалтерии. Без связки сотрудникам приходится вручную сверять личный кабинет ЮKassa с таблицей заказов, переносить суммы и статусы платежей, искать неоплаченные счета и фиксировать возвраты. Это занимает время и приводит к ошибкам: дублям записей, неверным суммам, пропущенным платежам и расхождениям в отчётности.

Интеграция автоматизирует этот процесс. Каждый новый платёж, отмена или возврат в ЮKassa сразу появляется в Яндекс Таблице отдельной строкой или обновляет статус существующей. В таблицу попадают ID платежа, сумма, валюта, дата, способ оплаты, описание и номер заказа из метаданных. Можно построить и обратный сценарий: менеджер добавляет в таблицу строку с заказом, а система создаёт платёж в ЮKassa и записывает в таблицу ссылку на оплату, которую остаётся отправить клиенту. Таблица становится актуальным реестром платежей: по ней строят сводные отчёты, контролируют дебиторскую задолженность, сверяют поступления с банковской выпиской и передают данные бухгалтеру.

Важно учитывать, что у Яндекс Таблиц и ЮKassa нет простой «коробочной» интеграции в виде кнопки «подключить» в личном кабинете. Настройку выполняют через платформы-коннекторы и автоматизации, например Make, Zapier, APIX-Drive или российские аналоги и low-code-сервисы. Альтернативы: официальные виджеты и готовые решения из маркетплейсов, например Яндекс 360 или каталога платёжных модулей вашей CMS или CRM, либо собственный обработчик на HTTP-запросах. ЮKassa отправляет уведомления о платежах по webhook, а запись в таблицу выполняется через API Яндекс 360 или промежуточный сервис. Набор доступных модулей зависит от выбранной платформы, поэтому перед стартом проверьте актуальный каталог приложений коннектора.

🛠️ Как настроить интеграцию

- **Подготовьте таблицу и доступы в обоих сервисах.** Создайте в Яндекс Таблицах документ для платежей. В первой строке задайте заголовки: «ID платежа», «Дата», «Сумма», «Валюта», «Статус», «Способ оплаты», «Описание», «Номер заказа», «Email клиента», «Ссылка на оплату», «Сумма возврата». Чтобы платформа могла записывать данные, убедитесь, что у аккаунта есть права редактирования, и при необходимости подготовьте OAuth-токен приложения на oauth.yandex.ru с доступом к нужным API. В личном кабинете ЮKassa найдите shopId и создайте секретный ключ в разделе «Интеграция → Ключи API». Храните ключ только в защищённых полях подключения и никогда не вставляйте его в таблицу. Для первых проверок удобно использовать тестовый магазин ЮKassa, чтобы не проводить реальные платежи.

- **Выберите способ подключения и создайте сценарий в коннекторе.** Откройте Make, Zapier, APIX-Drive или другую платформу и создайте новый сценарий (связь). Первым шагом поставьте триггер «Webhook» или готовый модуль ЮKassa, если он есть в каталоге. Вторым шагом выберите действие записи в таблицу. Если готового модуля для Яндекс Таблиц нет, используйте универсальный HTTP-модуль с запросом к API Яндекс 360 и токеном авторизации. Если API недоступен для вашего тарифа или сценария, примените обходной путь: выгружайте платежи в CSV или Excel-файл на Яндекс Диске и импортируйте его в Таблицы либо используйте виджет из маркетплейса. Для повторяющихся операций, например ежедневной сверки, настройте запуск по расписанию.

- **Настройте приём уведомлений от ЮKassa.** Скопируйте URL вебхука из коннектора. В личном кабинете ЮKassa откройте «Интеграция → HTTP-уведомления» и вставьте этот URL. Отметьте события, которые нужно получать: `payment.succeeded` (успешная оплата), `payment.canceled` (отмена), `payment.waiting_for_capture` (ожидает подтверждения, если используется двухстадийная оплата) и `refund.succeeded` (успешный возврат). При создании платежей передавайте в поле `metadata` номер заказа, чтобы позже однозначно сопоставлять платёж со строкой таблицы. После сохранения запустите сценарий в режиме ожидания данных, чтобы платформа распознала структуру входящего уведомления.

- **Сопоставьте поля и задайте логику записи.** В модуле записи свяжите данные из уведомления с колонками таблицы: `object.id` с «ID платежа», `object.amount.value` с «Сумма», `object.amount.currency` с «Валюта», `object.status` со «Статусом», `object.created_at` с «Датой», `object.description` с «Описанием», `object.metadata.order_id` с «Номером заказа». Чтобы не создавать дубли, перед записью добавьте поиск строки по ID платежа. Если строка найдена, обновите статус, а если нет, добавьте новую. Для возвратов обновляйте колонку «Сумма возврата» в строке исходного платежа. Если нужен обратный сценарий, настройте триггер «Новая строка в