Всем привет! Совсем недавно мы рассказывали про внутреннюю кухню подключения к платежному сервису: как ускоряем и автоматизируем процессы в части заключения договора. А сегодня мы поговорим о технической стороне вопроса — об интеграции сайтов и сервисов с нашим платежным решением. Если начать по порядку, то для приема платежей интегрироваться с сервисом ЮKassa не обязательно — с помощью сервиса можно выставлять клиентам счета. Для этого в Личном кабинете ЮKassa можно создать ссылку для оплаты товара или услуги и отправить покупателю. Подробно мы рассказали про этот сервис в одной из Хабр-статей. А сейчас хотим рассказать, какие способы интеграции сайта и нашего платежного решения мы развиваем. Компаниям и предпринимателям, которые в онлайне предлагают небольшой ассортимент товаров или услуг, не нужны сложные системы управления сайтом. Благотворительные организации и фонды зачастую тоже создают сайты из 2-3 страниц для сбора пожертвований. Специально для таких простых случаев мы некоторое время назад сделали конструктор платежных форм. Цель конструктора — даже технически не подкованному человеку дать возможность быстро создать платежную форму для своего сайта. В конструкторе можно настроить «корзину» на один или несколько товаров и запрашивать контактные данные покупателя — электронную почту, адрес доставки. Можно сделать форму максимально простой с вводом произвольной суммы. Этот вариант подойдет благотворительным организациям, которые предлагают людям самим выбрать сумму перевода. Исходный код формы генерируется на лету при изменении любой из ее настроек. Сгенерированный код достаточно скопировать из конструктора и добавить на свой сайт. Процесс оплаты с помощью такой формы происходит просто. Когда пользователь нажимает  кнопку «Заплатить», форма отправляет запрос по API в наш бэкенд на создание платежа и переводит плательщика на форму оплаты. По итогам платежа отправляется webhook для уведомления о статусе. При успешной оплате на указанный при создании формы e-mail отправляется письмо с деталями о заказе — контактами покупателя для доставки товара. Но, конечно, полноценным интернет-магазинам конструктора не достаточно. Большинство интернет-магазинов, контентных платформ используют системы управления сайтом (CMS) для автоматизированной обработки заказов и учета товарного ассортимента или предоставления услуг. Для легкой интеграции с такими платформами используются готовые платежные модули. У ЮKassa есть такие модули для более 150 платформ. Это самый большой охват на рынке платежных решений. Некоторые модули — это разработки производителей самих CMS-платформ, другие — наши собственные: например, для InSales, Opencart и других. Пользователи CMS — это далеко не всегда разработчики. Поэтому и здесь наша задача — сделать так, чтобы широкой аудитории было доступно подключение нашего платежного сервиса. Расскажем о трех решениях, которые мы создали для того, чтобы максимально упростить процесс интеграции платежного модуля. Первое — это детектор CMS. После регистрации в ЮKassa пользователи указывают адрес сайта, на который хотят добавить  прием платежей. Наше решение — детектор CMS — анализирует страницы сайта и определяет CMS-платформу. Для анализа мы используем библиотеку сервиса wappalyzer.com. В ней есть база соответствия компонентов веб-приложения, основанная на регулярных выражениях в JS, CSS, meta-тегах, cookie и др. Детектор сопоставляет найденные компоненты со своей базой и определяет CMS-платформу, используемую на сайте. Информация о CMS-системе и существующих для нее платежных модулях поступает в Личный кабинет ЮKassa. Второе решение — это автоматическая настройка параметров под платежные модули. Получив данные о CMS-платформе от детектора, мы в Личном кабинете ЮKassa предзаполняем технические настройки под существующий платежный модуль — тип протокола и URL для уведомлений о платежах. Это избавляет пользователя от самостоятельного поиска адреса для уведомлений в инструкциях к платежному модулю. Дальше нужно в платежном модуле CMS-системы указать номер магазина (shop ID) и секретный ключ API из Личного кабинета ЮKassa. После этого интеграция будет завершена — кроме вставки двух параметров, больше не придется производить никаких других действий. Третье решение, которое еще больше упрощает подключение, — интеграция через OAuth-авторизацию. OAuth — это протокол авторизации, который позволяет получить доступ к правам стороннего сервиса для определенной площадки. Собственный OAuth-сервис ЮKassa помогает платежному модулю отправлять запросы на проведение платежей через API и получать уведомления об их статусах, проводить денежные возвраты. Для интеграции с модулем, который работает на OAuth, достаточно нажать на кнопку «Авторизоваться через ЮKassa» и подтвердить передачу прав. После этого интеграция начинает работать без каких-либо дополнительных настроек. Такая OAuth-авторизация сейчас реализована в модулях Shopify, InSales, amoCRM, Битрикс24. Эти три решения делают интеграцию ЮKassa с большинством систем очень простой, прозрачной и понятной даже для тех пользователей, которые не обладают навыками разработки. Конечно, многие сайты не используют CMS-системы и хотят получить больше возможностей от платежного сервиса — например, настроить сложный сценарий платежей. Для этого есть возможность самостоятельной интеграции  с ЮKassa по нашему API. Это уже отдельная история, но про некоторые возможности можно почитать в нашем блоге. Этими статьями мы хотели показать, что с помощью ЮKassa настроить прием платежей на любом сайте очень просто — и это доступно любому пользователю. А если вы разработчик и к вам обратились за помощью с интеграцией — можете вступить в нашу партнерскую программу и предложить своим клиентам выгодные условия для подключения к ЮKassa. Product Management