В этой статье пошагово рассмотрено подключение Точка Банк к Сейлбот. Вы узнаете, какие настройки необходимо выполнить, как правильно привязать банк к проекту и обеспечить корректный прием платежей через платформу.

Настройки в ЛК банка

Для подключения интеграции понадобятся следующие данные:

  • JWT токен
  • clientID
  • customerCode
  • merchantId

Шаг 1. Как получить JWT-токен

Чтобы получить JWT-токен перейдите в личный кабинет в Точка Банк, далее во вкладку "Сервисы", затем во вкладку "Интеграции и API".

Во вкладке "Интеграции и API" нажмите на JWT-ключи:

![](https://files.salebot.pro/uploads/documentation/92b6d9c21ed5eb75932f0c16c0088a29.png)

Нажмите на плашку и далее кликните по кнопке «Сгенерировать JWT-ключ». Тогда откроются настройки ключа, где необходимо выбрать доступы:

![](https://files.salebot.pro/uploads/documentation/995decb66f3edb1ea2b62e32af603a91.png)

Выберите следующие доступы:

  1. "Создание платежей",
  2. "Создание ссылки на оплату картой и через СБП"
  3. "Создание и получение вебхуков"

Далее пропишите название ключа (например, "Salebot"), затем придет sms с кодом для подтверждения.

Шаг 2. Как получить client_id

client_id находится внутри сгенерированного JWT-ключа (Точка Банка отобразит client_id после генерации JWT-ключа)

Шаг 3. Как получить siteUid (merchant_id) и customerCode

siteUid (merchant_id) - это идентификатор торговой точки в интернет-эквайринге (ID мерчанта)

customerCode — это ваш уникальный код клиента.

Для получения siteUid (merchant_id) необходимо обратиться в чат технической поддержки Точка Банка с запросом "Нужен siteUid (merchant_id) для интеграции интернет-эквайринга с внешним сервисом". После обращения, техническая поддержка направит уникальный идентификатор торговой точки.

Аналогично можно обратиться с запросом о customerCode.

Подключение в Salebot

В Salebot в разделе "Эквайринг" найдите Точка Банк и нажмите "Подключить":

![](https://files.salebot.pro/uploads/documentation/41f82909c55cf277875726637c8e1ae0.png)

В открывшемся окне укажите свои уникальные данные JWT токен, clientID, customerCode, merchantId в соответствующих полях:

![](https://files.salebot.pro/uploads/documentation/4c988f39284ba8dc83893415bef6ad8e.png)

Затем при необходимости укажите систему налогообложения и ставку НДС.

Интеграция готова к работе.

Формирование ссылки на оплату

Для формирования ссылки на оплату используется функция get_tochka_bank_payment_url

get_tochka_bank_payment_url(amount, description, recurrent, products_for_receipt, customer_email, customer_phone, full_name, expired, twostage)

Описание параметров

Параметр Описание параметры
amount сумма платежа
description описание платежа
recurrent включить рекуррентные платежи. Если параметр включен, после успешной оплаты будет возможность провести повторный платеж. Необязательный параметр
products_for_receipt данные для формирования чека. Необязательный параметр
Пример данных, передаваемых в products_for_receipt:
[{"name": "Тестовая услуга", "price": "100", "quantity": "1", "method": "full_prepayment", "object": "goods"}]
name Название товара/услуги. Обязательный параметр при формировании чека
price цена за единицу. Обязательный параметр при формировании чека
quantity количество. Обязательный параметр при формировании чека
method тип оплаты.
full_payment — полная оплата,
full_prepayment — полная предоплата.
Необязательный параметр, по умолчанию full_payment
object признак предмета расчёта. goods — товары, service — услуги, work — работа. Необязательный параметр, по умолчанию service
customer_email email клиента. Обязательный параметр при передаче products_for_receipt.
customer_phone телефон клиента. Необязательный параметр, может использоваться при передаче products_for_receipt
full_name имя клиента. Необязательный параметр, может использоваться при передаче products_for_receipt
expired время жизни ссылки в минутах. От 1 до 44 640 минут, по умолчанию 10080. Необязательный параметр
twostage Включить двухэтапную оплату. Не работает при передаче recurrent. Необязательный параметр

Пример формирования ссылки без чека:

![](https://files.salebot.pro/uploads/documentation/6c1710450f07d988a1c014510947e04a.png)

Пример формирования ссылки с чеком:

![](https://files.salebot.pro/uploads/documentation/ab52718c2b2305817919c34c1e482acc.png)

Обработка результата

В диалоге с клиентом при оплате автоматически придет колбек, который состоит из 10 символов clientID платежной системы, слова _success и через пробел сумма платежа.

![](https://files.salebot.pro/uploads/documentation/be2e457df60b02831f9a3e6adc8e08c4.png)

Например: ovg58keefc****_success**** 1999, где:

  • ovg58keefc : первые 10 символов секретного ключа платежной системы
  • _success : результат обработки запроса (успешный платеж)
  • 1999 : сумма платежа

Обращаем внимание!

Колбек о неуспешном платеже от Точка Банка НЕ приходят!

Для использования в настройках схемы достаточно скопировать колбек и вставить его в строку "Условие":

  1. Можно указать в условии полный текст колбека (тогда укажите выбор соответствия "Полное совпадение):
![](https://files.salebot.pro/uploads/documentation/e3cda955b49962a02f4e97abc741699a.png)
  1. Либо часть колбека (тогда необходимо указать выбор соответствия "По наличию ключевых слов"):
![](https://files.salebot.pro/uploads/documentation/0b487c257341861730044965d5489285.png)

Аналогично можно использовать колбек с блоком "Не состояние с условием", если вы не хотите выбивать клиента из основной воронки:

  1. Часть колбека в условии:
![](https://files.salebot.pro/uploads/documentation/01793642743c52b08a9adbf00c004c28.png)
  1. Весь текст колбека в условии:
![](https://files.salebot.pro/uploads/documentation/1f1fd7a415ffd0f26c91e57539c3b82d.png)

Либо продолжить вашу воронку и прописать текст колбека в условиях стрелки:

![](https://files.salebot.pro/uploads/documentation/f6d48968c6967cf0a29092048f0b907e.png)

Обращаем внимание

Также после успешного платежа, у клиента появится переменная tochka_bank_operation_id, которая может пригодиться для использования в функциях калькулятора.

Например, при возврате платежа.

Возврат платежа

Чтобы вернуть платеж, воспользуйтесь функцией tochka_bank_refund_payment(amount, operation_id)

Параметры Описание
amount сумма возврата. Не может быть больше суммы платежа.
operation_id

id платежа из tochka_bank_operation_id.

Необязательный параметр, если не указать, данные будут взяты из переменной tochka_bank_operation_id

![](https://files.salebot.pro/uploads/documentation/8636cf770fa89c2118bea3ee3cf432bf.png)

Обращаем внимание!

Возврат возможен только по успешный подтвержденным платежам (по которым пришел коллбек "_success")

Двухстадийная оплата (холдирование)

Чтобы использовать двухстадийную оплату (холдирование), в параметры функции get_tochka_bank_payment_url нужно передать соответствующий параметр twostage.

Внимание!

Описание параметров указано выше в параграфе "Формирование ссылки на оплату".

Если это кнопка для оплаты, то нужно поставить галочку "Двухстадийная оплата".

Теперь после успешной оплаты сначала придет коллбэк вида "eyJhbGciOi_authorized 10".

![](https://files.salebot.pro/uploads/documentation/45efb8fbdbc703644e40d922e4dc19ac.png)

Также у клиента в этот момент появится переменная "tochka_bank_operation_id_hold" - она пригодится, если нужно будет подтвердить оплату через бота:

  • чтобы подтвердить оплату и списать захолдированные средства, нужно использовать функцию "tochka_bank_capture_payment(self, operation_id)"

В параметр payment_id передается ранее сохраненный "tochka_bank_operation_id_hold". Также можно параметр не передавать, тогда он будет взят из переменной клиента tochka_bank_operation_id_hold

После подтверждения платежа уже придет привычный коллбэк "ovg58keefc_success 10"

Если платеж не подтвердить, он со подтверждается автоматически со временем со стороны Банка.

Рекуррентные платежи

После успешного платежа с включенным параметром recurrent или галочкой "Автоплатеж" в настройке кнопки, можно совершить повторный платеж

Для этого нужно воспользоваться функцией tochka_bank_recurrent_payment(amount, operation_id)

amount - сумма платежа

operation_id - id платежа из tochka_bank_operation_id. Необязательный параметр, если не указать, данные будут взяты из переменной tochka_bank_operation_id

Если платеж выполнен успешно, в ответе функции вернется "True".