Заказать демо
Документация · версия 8.0

Подключение оплаты ЮKassa

KIN DIGITAL CRM+. Правообладатель: ИП Коробкин Иван Николаевич.

Оплата в приложении «Мобильный Юрист» (модуль M28): клиент заказывает проверку документа, переходит на страницу оплаты ЮKassa (карта, СБП и другие способы, которые вы включили), после оплаты заказ автоматически получает статус «в работе» и отметку «оплачен» в разделе «Мобильный Юрист».

1. Что нужно заранее

  1. Организация или ИП с расчётным счётом. Договор с ЮKassa заключает лицензиат CRM, деньги поступают на его счёт.
  2. Адрес CRM в интернете с HTTPS, например https://crm.ваш-домен.ru. Без него ЮKassa не сможет присылать уведомления, а клиенты не откроют приложение /app. Сертификат и ключ указываются в data\settings.env (HTTPS_CERT_FILE, HTTPS_KEY_FILE), порт для уведомлений ЮKassa - 443 или 8443.
  3. Страница, где видно услугу, цену, контакты и условия оказания услуги (оферту). ЮKassa проверяет её при подключении магазина. Подойдёт страница сайта со ссылкой на приложение.
  4. Решение по кассовым чекам (раздел 6): продажа услуг гражданам онлайн требует чека по 54-ФЗ.

2. Сначала тестовый магазин

Тестовый магазин позволяет проверить всю цепочку без договора и без настоящих денег.

  1. Откройте https://yookassa.ru/joinups?createTestShop=true и зарегистрируйтесь. Данные компании для тестового магазина не нужны.
  2. В личном кабинете тестового магазина: - Настройки → Магазин: скопируйте shopId (числовой идентификатор магазина); - Интеграция → Ключи API: выпустите секретный ключ. Тестовый ключ начинается с test_. Ключ показывается один раз: сразу сохраните его.
  3. Перейдите к разделу 4 и 5 этой инструкции, а затем проверьте оплату (раздел 8) тестовой картой 5555 5555 5555 4444, срок действия любой будущий, код CVC любой.

3. Настоящий магазин

  1. На yookassa.ru нажмите «Подключиться» и заполните анкету: ИНН, реквизиты, сайт или страница с услугой, описание услуг.
  2. Выберите способы оплаты (банковские карты, СБП и другие).
  3. Подпишите договор в личном кабинете и дождитесь проверки магазина. Сроки проверки указывает ЮKassa.
  4. После создания магазина возьмите его shopId (Настройки → Магазин) и выпустите боевой секретный ключ (Интеграция → Ключи API, начинается с live_).

4. Настройка CRM

Откройте файл data\settings.env в папке программы (например C:\KINDIGITAL-CRM\data\settings.env) и добавьте строки:

PUBLIC_URL=https://crm.ваш-домен.ru
YOOKASSA_SHOP_ID=123456
YOOKASSA_SECRET=live_...
  • PUBLIC_URL - внешний адрес CRM: на него ЮKassa вернёт клиента после оплаты.
  • Ключи читаются из файла без перезапуска программы. Если оплата не появилась в приложении через минуту, перезапустите программу.
  • Секретный ключ даёт доступ к платежам магазина. Храните его только в settings.env, не пересылайте в мессенджерах. При подозрении на утечку выпустите новый ключ в ЮKassa и замените его в файле.

Стоимость проверки документа задаётся в CRM: Мобильный Юрист → Настройки → Стоимость проверки документа.

5. Уведомления об оплате

В личном кабинете ЮKassa откройте Интеграция → HTTP-уведомления:

  1. Адрес для уведомлений: https://crm.ваш-домен.ru/api/v1/public/app/payments/yookassa
  2. Включите событие payment.succeeded (платёж прошёл).
  3. Сохраните.

Получив уведомление, CRM не доверяет его содержимому, а сама запрашивает статус платежа у ЮKassa по секретному ключу. Подделать оплату отправкой ложного уведомления нельзя. Если уведомление не дошло, статус проверяется ещё раз, когда клиент открывает заказ в приложении.

Требования ЮKassa к адресу: протокол HTTPS, порт 443 или 8443, TLS 1.2 и выше.

6. Кассовые чеки (54-ФЗ)

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

  • «Чеки от ЮKassa» - облачная касса ЮKassa, подключается в личном кабинете ЮKassa;
  • своя онлайн-касса у партнёра ЮKassa (подключается в личном кабинете ЮKassa).

После подключения кассы в ЮKassa включите передачу данных для чека в CRM, добавив в data\settings.env:

YOOKASSA_RECEIPT=true
YOOKASSA_VAT_CODE=1
YOOKASSA_TAX_SYSTEM=2
Параметр Значения
YOOKASSA_VAT_CODE ставка НДС: 1 - без НДС, 11 - 22%, 7 - 5%, 8 - 7%, 2 - 0% (полный список - в справочнике ЮKassa по 54-ФЗ)
YOOKASSA_TAX_SYSTEM система налогообложения: 1 - общая, 2 - УСН доходы, 3 - УСН доходы минус расходы, 6 - патент. Указывайте, если в кассе зарегистрировано несколько систем

В чек передаются: телефон клиента из приложения (и e-mail, если клиент указал его в профиле), наименование услуги, сумма, признак «услуга» и «полный расчёт». Ставку НДС и систему налогообложения согласуйте с бухгалтером.

7. Возвраты

Возврат денег клиенту оформляется в личном кабинете ЮKassa (раздел платежей). После возврата смените статус заказа в CRM вручную (Мобильный Юрист → заказ → статус «отменён»).

8. Проверка

  1. Откройте на телефоне https://crm.ваш-домен.ru/app, войдите по номеру телефона.
  2. Заказы → Обратиться к юристу → Проверка документа, приложите файл, нажмите «Перейти к оплате».
  3. Оплатите (в тестовом магазине - тестовой картой).
  4. После возврата в приложение заказ должен иметь статус «в работе», в CRM в разделе Мобильный Юрист - отметку «оплачен», у ответственного - задача.

9. Если что-то не работает

Признак Причина и решение
Кнопка «Отправить» вместо «Перейти к оплате» В settings.env нет YOOKASSA_SHOP_ID или YOOKASSA_SECRET, или ошибка в имени параметра
Ошибка «ЮKassa: HTTP 401» Неверная пара shopId и секретный ключ (например, тестовый ключ с боевым shopId)
Ошибка про чек (receipt) Касса в ЮKassa не подключена, а YOOKASSA_RECEIPT=true; или у клиента нет телефона
Оплата прошла, заказ «ожидает оплаты» Не настроены HTTP-уведомления или адрес недоступен из интернета. Откройте заказ в приложении: статус проверится заново
После оплаты клиент попадает не туда Проверьте PUBLIC_URL

Справочные материалы ЮKassa: https://yookassa.ru/developers, справочник параметров чека: https://yookassa.ru/developers/54fz/parameters-values, уведомления: https://yookassa.ru/developers/using-api/webhooks.