PayKeeper — это платёжный сервис, который подключает эквайринг банка к вашему сайту и берёт на себя приём карт, СБП и фискализацию. В 1С-Битрикс он работает как отдельный обработчик платёжной системы: покупатель уходит на защищённую форму PayKeeper, а магазин узнаёт об оплате через обратный вызов. Ниже — практическая схема подключения без лишней теории.
Что такое PayKeeper и как он работает с Битрикс
PayKeeper — это не банк, а процессинговый шлюз: он стоит между вашим сайтом и банком-эквайером, формирует платёжную форму, принимает карты, СБП и электронные кошельки, а деньги банк зачисляет на ваш расчётный счёт. Для магазина на 1С-Битрикс это означает, что реквизиты карты покупатель вводит на стороне PayKeeper, а не на вашем домене — сайту не нужен сертификат PCI DSS.
Схема обмена стандартная для внешних платёжных систем в Битрикс:
- покупатель оформляет заказ и выбирает способ оплаты
PayKeeper; - Битрикс формирует запрос с суммой и номером заказа и перенаправляет пользователя на форму оплаты вида
https://company.server.paykeeper.ru/order/; - после оплаты PayKeeper отправляет на сайт обратный вызов (callback) с параметрами платежа и подписью;
- обработчик проверяет подпись и переводит заказ в статус «оплачен».
company.server.paykeeper.ru — этот адрес пригодится и для входа в настройки, и для формирования формы оплаты.Подготовка: личный кабинет и параметры
До настройки Битрикс подготовьте доступы и параметры в личном кабинете PayKeeper (раздел Настройки → Получение информации о платежах и Настройки → СМС/e-mail информирование). Ключевые значения, которые понадобятся на стороне сайта:
| Параметр | Где взять | Зачем |
|---|---|---|
| Адрес формы | Поддомен кабинета | Куда перенаправлять покупателя |
| Секретное слово | Настройки безопасности кабинета | Подпись формы оплаты |
| Секретный ключ обратного вызова | Раздел обратных вызовов | Проверка подписи callback |
| Логин/пароль API | Личный кабинет | Возвраты и запросы статуса |
Договоритесь с менеджером PayKeeper о способе интеграции: форма оплаты POST (самый распространённый вариант для Битрикс) или API-инициация платежа. Для большинства магазинов достаточно формы. Также заранее уточните кодировку — Битрикс-магазин чаще работает в UTF-8, и в кабинете должна стоять та же кодировка, иначе кириллица в наименовании товара «поедет».
Установка обработчика в Битрикс
PayKeeper не входит в стандартную поставку 1С-Битрикс, поэтому обработчик добавляется одним из двух способов:
- Готовый модуль из Маркетплейса. PayKeeper распространяет официальное решение; после установки в
Marketplace → Установленные решенияобработчик появляется в списке платёжных систем автоматически. - Ручной обработчик. Файлы кладутся в каталог обработчиков платёжных систем: в старой модели заказа это
/bitrix/php_interface/include/sale_payment/paykeeper/с файлами.description.phpиpayment.php; в новой модели заказа (Sale, D7) — пользовательский платёжный шлюз, привязанный к платёжной системе.
/bitrix/php_interface/ или в собственном модуле — иначе обновление главного модуля sale затрёт правки, и оплата отвалится в самый неподходящий момент.Проверьте редакцию продукта: платёжные системы доступны в редакциях со «Стандартом» и выше (в первую очередь «Малый бизнес» и «Бизнес»). В «Старте» модуля интернет-магазина нет.
Настройка платёжной системы в админке
Перейдите в Магазин → Настройки → Платёжные системы (в новой модели — Магазин → Способы оплаты) и создайте платёжную систему на базе обработчика PayKeeper. Заполните бизнес-настройки обработчика:
- Адрес формы оплаты — поддомен вашего кабинета PayKeeper;
- Секретное слово — то же значение, что в кабинете, для подписи формы;
- Секретный ключ обратного вызова — для проверки callback;
- Поля соответствия — сумма заказа (
PAYMENT_SHOULD_PAYили свойство заказа), e-mail и телефон покупателя из свойств заказа.
Привяжите платёжную систему к нужному типу плательщика (например, «Физическое лицо»), иначе покупатель не увидит способ оплаты на шаге выбора. Если магазин многосайтовый, убедитесь, что платёжная система активна для нужного сайта. Сумма и валюта передаются из заказа автоматически, но проверьте, что валюта заказа совпадает с валютой, настроенной в договоре PayKeeper.
Обратный вызов и подтверждение оплаты
Ключевой момент интеграции — обратный вызов. Без него заказ никогда не станет «оплаченным», даже если деньги прошли. В личном кабинете PayKeeper в настройках обратных вызовов укажите URL вашего обработчика, например https://вашсайт.ru/bitrix/tools/sale_ps_result.php или адрес пользовательского скрипта, который принимает POST.
Логика приёма callback:
- PayKeeper шлёт POST с параметрами
id,sum,orderid,clientidи подписью; - обработчик пересчитывает подпись по секретному ключу и сверяет её — при несовпадении запрос отклоняется;
- сверяется сумма платежа с суммой заказа, заказ помечается оплаченным;
- в ответ обработчик обязан вернуть строку вида
OK md5-хэш— только тогда PayKeeper считает уведомление доставленным и не повторяет его.
sum с реальной стоимостью заказа защищает от подмены суммы на форме. Никогда не помечайте заказ оплаченным, полагаясь лишь на возврат покупателя на success-страницу.Фискализация по 54-ФЗ
Приём онлайн-оплаты в России требует пробития кассового чека по 54-ФЗ. PayKeeper поддерживает подключение онлайн-кассы и передачу чека при платеже, поэтому в большинстве случаев фискализация настраивается на стороне сервиса, а не в Битрикс.
Чтобы чек был корректным, магазин должен передать состав заказа: наименование позиций, количество, цену, ставку НДС и признак предмета расчёта. Здесь есть выбор:
- передавать позиции из формы оплаты Битрикс, если обработчик это поддерживает;
- или пробивать чек по данным, которые PayKeeper получает в запросе.
cashbox), согласуйте с PayKeeper, кто именно пробивает чек — иначе покупатель получит два чека на одну покупку.Отдельно проверьте ставки НДС в товарах каталога: расхождение ставки в карточке товара и в чеке — частая причина отказа ОФД.
Тестирование и типичные ошибки
Перед запуском обязательно прогоните тестовый платёж. PayKeeper выдаёт тестовый кабинет или тестовые карты — оплатите заказ на минимальную сумму и убедитесь, что он перешёл в статус «оплачен» и пришёл обратный вызов. Частые проблемы:
| Симптом | Вероятная причина |
|---|---|
| «Неверная подпись» на форме | Секретное слово в Битрикс и в кабинете не совпадают |
| Оплата прошла, заказ не оплачен | Не настроен обратный вызов или он не отдаёт OK |
| Кракозябры в названии товара | Разная кодировка сайта и кабинета |
| Callback не доходит | URL закрыт .htaccess, WAF или требует авторизации |
Смотрите журнал в Магазин → Настройки → Журнал и историю обратных вызовов в кабинете PayKeeper — они быстро показывают, на каком шаге рвётся цепочка. Если планируете возвраты, отдельно настройте API-доступ: возврат инициируется запросом к PayKeeper, а не кнопкой «отменить» в заказе.
Итог
Подключение PayKeeper к 1С-Битрикс сводится к четырём вещам: получить параметры в личном кабинете, установить обработчик, настроить платёжную систему с секретным словом и корректно принять обратный вызов с проверкой подписи и суммы. Отдельно продумайте фискализацию по 54-ФЗ и обязательно протестируйте реальный платёж до открытия продаж.
Если не хочется разбираться с ручным обработчиком, синхронизацией сумм и чеками — мы подключаем и отлаживаем платёжные системы на Битрикс под ключ: настраиваем обратные вызовы, возвраты, фискализацию и оставляем магазин с корректной оплатой на всех типах плательщиков.
Частые вопросы
PayKeeper есть в стандартной поставке Битрикс?
Нет, встроенного обработчика PayKeeper в 1С-Битрикс нет. Его добавляют модулем из Маркетплейса или ручным обработчиком платёжной системы.
Нужен ли сайту сертификат PCI DSS?
Нет. Реквизиты карты покупатель вводит на защищённой форме PayKeeper, поэтому сертификация PCI DSS для вашего сайта не требуется.
Почему оплата прошла, а заказ остался неоплаченным?
Почти всегда дело в обратном вызове: он не настроен в кабинете, не доходит до сайта или обработчик не возвращает строку OK с корректным хэшем.
Что такое секретное слово и секретный ключ?
Секретное слово используется для подписи платёжной формы, а секретный ключ обратного вызова — для проверки подписи уведомлений о платеже. Значения задаются в кабинете PayKeeper и дублируются в настройках Битрикс.
Как настроить фискализацию по 54-ФЗ?
PayKeeper поддерживает подключение онлайн-кассы и пробитие чека на своей стороне. Важно передать состав заказа с ценами и ставками НДС и договориться, кто именно формирует чек, чтобы не задвоить его.
Можно ли делать возвраты через PayKeeper?
Да, но возврат инициируется запросом к API PayKeeper по логину и паролю из кабинета, а не только кнопкой в заказе Битрикс. API-доступ настраивается отдельно.
В каких редакциях Битрикс доступен PayKeeper?
Платёжные системы работают в редакциях с модулем интернет-магазина — «Малый бизнес», «Бизнес» и выше. В редакции «Старт» модуля магазина нет.
Как проверить подключение перед запуском?
Проведите тестовый платёж на минимальную сумму, проверьте статус заказа, приход обратного вызова и записи в журнале магазина и истории вызовов PayKeeper.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.