
Для подключения к платежной системе paykeeper нужны следующие данные:
- Логин и пароль для входа в учетную запись (можете создать отдельного пользователя, но не забудьте выдать ему необходимые права),
- ссылка на домен, через который выполняется вход в учетную запись (имеет вид https://demo.paykeeper.ru, вместо demo будет что-то свое)
- ключ для верификации платежей.
Перейдите в раздел "Платежные системы" в проекте, найдите платежную систему PayKeeper и кликните на "Подключить":

Введите необходимые данные в настройках подключения:

Генерация ключа для верификации платежей
Ключ для верификации платежей генерируется при настройке вебхука. Для этого перейдите в личный кабинет Paykeeper.

После входа в личный кабинет перейдите в настройки. Выберите пункт 'Получение информации о платежах'.

В пункте 'Способ получения уведомления о платежах' выберите POST-оповещения.
Далее укажите url для вебхуков: https://chatter.salebot.pro/paykeeper_callback/result

После этого нажмите кнопку "Сгенерировать". Появится секретное слово, что необходимо для получения вебхуков.
Генерация ссылки платежа
После подключения платежной системы можете сгенерировать ссылку на платеж, для этого есть 2 способа:
- через объявление переменной payment_sum.
В переменной payment_sum указываем сумму платежа, если нужно использовать почту клиента, то до объявления payment_sum нужно объявить переменную paykeeper_email.
Аналогично нужно действовать с остальными параметрами:
| Параметры | Значение |
|---|---|
| paykeeper_service_name | эта переменная объявляется для передачи названия товара |
| paykeeper_client_name | эта переменная объявляется для передачи фио клиента |
| paykeeper_phone | эта переменная объявляется для передачи телефона клиента |
| paykeeper_email | эта переменная объявляется для передачи почты клиента |
| paykeeper_tax | ставка НДС для чека, например vat22. Если не объявлена, берётся ставка из настроек подключения. Коды ставок — в разделе «Передача НДС в чеке» |
| paykeeper_item_type | признак предмета расчёта, например service (услуга). Если не объявлена, Paykeeper подставит значение по умолчанию |
| paykeeper_payment_type | признак способа расчёта, например full (полный расчёт). Если не объявлена, Paykeeper подставит значение по умолчанию |
| products_for_receipt | список позиций чека, если в чеке должно быть несколько товаров. Формат — в разделе «Передача НДС в чеке» |
- С помощью функции paykeeper_generate_payment_url, которая имеет следующие параметры:
| Параметры | Значение |
|---|---|
| amount | (обязательный параметр) сумма платежа |
| service_name | (необязательная параметр) название товара, |
| client_name | (необязательная параметр) фио клиента, |
| (необязательная параметр) mail клиента, | |
| phone | (необязательная параметр) телефон клиента. |
В первом случае сгенерируется ссылка с сохранением в переменную paykeeper_pay_url.
Во втором - ссылку возвращает функция.
Важно! Для второго способа не забудьте результат выполнения функции поместить в переменную.
Передача НДС в чеке
Ставка НДС передаётся в Paykeeper вместе с позициями чека. Её можно задать двумя способами:
- в настройках подключения, поле «Ставка НДС» — действует для всех платежей;
- переменной paykeeper_tax перед объявлением payment_sum — действует для конкретного платежа и важнее настройки.
Если ставка не задана ни там, ни там, чек не передаётся, и Paykeeper использует ставку по умолчанию из своего личного кабинета.
Коды ставок НДС:
| Код | Ставка |
|---|---|
| none | без НДС |
| vat0 | НДС 0% |
| vat5 | НДС 5% |
| vat7 | НДС 7% |
| vat10 | НДС 10% |
| vat20 | НДС 20% |
| vat22 | НДС 22% |
| vat105 | НДС по расчётной ставке 5/105 |
| vat107 | НДС по расчётной ставке 7/107 |
| vat110 | НДС по расчётной ставке 10/110 |
| vat120 | НДС по расчётной ставке 20/120 |
| vat122 | НДС по расчётной ставке 22/122 |
Значения для paykeeper_item_type: goods (товар), service (услуга), work (работа), payment (аванс, задаток, предоплата), ip (права на результаты интеллектуальной деятельности), agent (агентское вознаграждение).
Значения для paykeeper_payment_type: prepay (предоплата 100%), part_prepay (частичная предоплата), advance (аванс), full (полный расчёт).
Чек из нескольких позиций
По умолчанию в чек уходит одна позиция на всю сумму платежа с названием из paykeeper_service_name. Если позиций несколько, объявите переменную products_for_receipt со списком позиций до объявления payment_sum:
products_for_receipt = '[{"name": "Курс", "price": 1000, "quantity": 1, "tax": "vat22"}, {"name": "Консультация", "price": 500, "quantity": 2}]'
payment_sum = 2000
| Поле позиции | Значение |
|---|---|
| name | название позиции |
| price | цена за единицу |
| quantity | количество, по умолчанию 1 |
| sum | (необязательное поле) сумма позиции, по умолчанию цена × количество |
| tax | (необязательное поле) ставка НДС позиции. Если не указана, берётся paykeeper_tax или ставка из настроек подключения |
Важно! Сумма всех позиций должна совпадать с payment_sum, а у каждой позиции должна быть ставка НДС — своя, из paykeeper_tax или из настроек подключения. Иначе ссылка не создастся, и в переменную paykeeper_pay_url запишется текст ошибки.
После успешной оплаты будет возвращен callback вида xxxxxx_success 101.00, где:
- xxxxxx - это первые 6 символов секретного ключа,
- а вместо 101.00 будет сумма платежа.
Чтобы настроить реакцию на колбек (успешный платеж), укажите колбек в условии:
Можно указать в условии блока "Стартовое условие":

Также колбек можно указать в условии блока "Не состояние с условием":

Если вы не хотите выбивать клиента из основной схемы чат-бота, воспользуйтесь блоком "Не состояние с условием" — в этот блок нельзя перейти, поэтому клиента после оплаты не выбьет из основной воронки и при этом он получит уведомление об успешной оплате.
А если вам нужно продолжить воронку с реакции на успешную оплату, то используйте блок "Стартовое условие", тогда клиент из блока оплаты перейдет в блок "Стартовое условие", с которого вы можете продолжить воронку.
Подробнее о блоках с условием рассказали в одноименной статье.