amoCRM ⇄ ЮKassa

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

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

Связка ЮKassa и amoCRM объединяет приём платежей и управление продажами в одной воронке. Без интеграции менеджер вручную проверяет личный кабинет ЮKassa, сверяет оплату с заказом клиента, переносит сделку на нужный этап и вносит данные в карточку. Из-за этого возникают задержки, ошибки и «потерянные» оплаты. Когда клиент заплатил, а менеджер узнал об этом только через несколько часов, страдает скорость обработки заказа и лояльность клиента.

После настройки интеграции каждое событие в ЮKassa автоматически отражается в amoCRM. При успешной оплате (`payment.succeeded`) сделка переходит на этап «Оплачено», в карточку добавляется примечание с суммой, датой и номером платежа, а ответственному менеджеру приходит уведомление или создаётся задача на выдачу товара, доступ к курсу или запуск услуги. При отмене платежа или возврате (`payment.canceled`, `refund.succeeded`) сделка возвращается на нужный этап или помечается для дополнительной работы. Ссылку на оплату можно формировать прямо из сделки и отправлять клиенту через мессенджер, почту или чат.

Для бизнеса это даёт прозрачную воронку с реальными данными об оплатах, точную аналитику по выручке, конверсии и среднему чеку, меньше рутины у менеджеров и бухгалтерии, а также быструю реакцию на проблемные платежи. Это особенно полезно интернет-магазинам, онлайн-школам, сервисным компаниям и студиям, где оплата запускает следующий этап процесса.

Важно: прямой «нативной» интеграции в один клик между ЮKassa и amoCRM обычно нет. Связь настраивают тремя способами: через виджеты и приложения из маркетплейса amoCRM, через платформы-коннекторы (Make, Zapier, APIX-Drive и аналогичные) или через собственную доработку по API и HTTP-уведомлениям (webhook). Перед выбором стоит проверить актуальный набор виджетов в маркетплейсе amoCRM.

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

- **Шаг 1. Подготовьте доступы и структуру воронки.** В личном кабинете ЮKassa убедитесь, что магазин подключён и активен. Скопируйте `shopId` и создайте секретный ключ в разделе «Интеграция → Ключи API». В amoCRM откройте воронку и создайте этапы, которые будут меняться автоматически, например «Ожидает оплаты», «Оплачено», «Оплата отменена», «Возврат». Заранее решите, как связывать платёж со сделкой. Самый надёжный вариант: передавать ID сделки amoCRM в `metadata` платежа ЮKassa (например, `lead_id`). Если ID нет, сопоставляйте по email или телефону клиента, но такой способ менее точен. Также проверьте, что у вас есть права администратора в amoCRM для установки интеграций.

- **Шаг 2. Выберите способ подключения.** Есть три основных варианта:
1. **Виджет из маркетплейса amoCRM.** В разделе «amoМаркет» найдите виджет для приёма платежей через ЮKassa, установите его и введите `shopId` и секретный ключ. Это самый простой путь, если нужны счета и ссылки на оплату прямо из сделки.
2. **Платформа-коннектор** (Make, Zapier, APIX-Drive). Создайте сценарий, где триггером выступает событие ЮKassa, а действием — обновление сделки в amoCRM. Это гибкий вариант без программирования. В APIX-Drive коннекторы к обоим сервисам можно подключить через авторизацию, а в Make и Zapier, если готового модуля ЮKassa нет, используют универсальные модули Webhooks и HTTP.
3. **Собственная разработка** по API обоих сервисов. Подходит для нестандартной логики и больших объёмов платежей.

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

- **Шаг 4. Настройте действия в amoCRM.** Для события `payment.succeeded` задайте цепочку: найти сделку по `lead_id` из метаданных (или по контакту), перенести её на этап «Оплачено», обновить поле «Сумма» или «Статус оплаты», добавить примечание с суммой, датой и ID платежа, создать задачу менеджеру («Передать заказ в работу»). Для `payment.canceled` перенесите сделку на этап «Оплата отменена» и создайте задачу связаться с клиентом. Для `refund.succeeded` отметьте возврат в примечании и измените этап. Добавьте обработку ошибок: если сделка не найдена, отправляйте уведомление администратору в почту или Telegram, чтобы платёж не потерялся.

- **Шаг 5. Протестируйте интеграцию и запустите в работу.** Включите тестовый режим магазина ЮKassa (тестовые `shopId` и ключ) и создайте тестовую сделку в amoCRM. Сформируйте платёж с `lead_id` и оплатите его тестовой картой из документации ЮKassa. Проверьте по порядку:
1. В истории сценария коннектора или в логах появился webhook.
2. Сделка перешла на этап «Оплачено».
3. В карточке появились примечание с корректной суммой и задача менеджеру.
4. Отмена платежа и тестовый возврат тоже обновляют сделку.
5. При повторной отправке одного и того же уведомления дубли задач и примечаний не создаются.

После успешных проверок переключите сценарий на боевые ключи, обновите HTTP-уведомления в рабочем магазине, проведите первый реальный платёж на небольшую сумму и в течение первых дней следите за журналом ошибок.

Сервисы: #amoCRM#ЮKassa