# Т-банк

{% hint style="danger" %}
Обращаем внимание!&#x20;

При подключении интеграции на стороне Salebot (в разделе "Эквайринг") без указания значений в полях "Ставка НДС" и "Система налогообложения" платежная система работать не будет.&#x20;

В случае, если у вас уже подключена интеграция, введите значения в указанные поля, иначе все платежи будут приостановлены!
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F50WIwJNW2lTTH0BIZa1K%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2013.54.35.png?alt=media&#x26;token=3b6cbcd2-5ebe-402c-92f9-32ea1215d5a0" alt="" width="563"><figcaption><p>Рис. 1. Форма подключения эквайринга от Т-банка на стороне Сейлбот</p></figcaption></figure>

## Как подключить

{% hint style="danger" %}
Вам необходимо создать новый терминал. Нельзя использовать тот, который у вас подключен еще куда-то.
{% endhint %}

Для подключения интернет-эквайринга Т-банк в первую очередь нужно подать заявку и получить идентификатор терминала и пароль. Это можно сделать перейдя по [ссылке](https://www.tinkoff.ru/kassa/form/partner/salebot/).

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FCUpcdkKqp7XVzScRw4IN%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.56.08.png?alt=media&#x26;token=adcaad8b-b053-47b4-8d2a-91af2e26a40d" alt=""><figcaption></figcaption></figure>

После рассмотрения вашей заявки, вам выдадут тестовый терминал и пароль к нему.

![Рис. 3. Тестовые данные](https://lh3.googleusercontent.com/RaQ_PSEfHR8z7GrCmMYW7ZLGZOjf0kXLnfPDkPTDtaH44UQ0HTFKFEYa8WbXFW1tybCtIwQvjxPNajNzyGS1u-KyQOxM29dgiVTjhOCQlNrEXzU_WAtQFgePojmRvHcTkUk2ymGj)

Переходим в проект на salebot.pro и в разделе **Эквайринг - Т-банк** прописываем ключи тестового терминала.

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FYdiVBXu7stswBlDrNaex%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-07-01%20%D0%B2%2009.21.56.png?alt=media&#x26;token=0f72f8fd-0ba6-4c6d-9eb0-70206727cb7d" alt=""><figcaption></figcaption></figure>

**поле Система налогообложения.** Можно выбрать систему налогообложения, которая будет передана в чеке.

**поле Ставка НДС.** Необходимо указать подходящий код для передачи значения НДС. Например,  none если без НДС  или vat0   если ставка НДС 0% .

<table><thead><tr><th width="260.45703125">Доступные варианты ставки НДС </th><th>Значение</th></tr></thead><tbody><tr><td>vat120</td><td>20/120</td></tr><tr><td>vat110</td><td>10/110</td></tr><tr><td>vat20</td><td>20%</td></tr><tr><td>vat10</td><td>10%</td></tr><tr><td>vat0</td><td>0%</td></tr><tr><td>none</td><td>без НДС</td></tr><tr><td>vat5 </td><td>5%</td></tr><tr><td>vat7 </td><td>7%</td></tr><tr><td>vat105 </td><td>5/105</td></tr><tr><td>vat107</td><td> 7/107</td></tr></tbody></table>

{% hint style="danger" %}
Обращаем внимание!&#x20;

Без указания значений в полях "Ставка НДС" и "Система налогообложения" платежная система работать не будет.&#x20;

В случае, если у вас уже подключена интеграция, введите значения в указанные поля, иначе все платежи будут приостановлены!
{% endhint %}

Далее вам в личном кабинете Т-банка нужно пройти тесты на формирование ссылки, чека и оплаты с тестовых карт банка.&#x20;

Как протестировать платежи на стороне Т-банка, [написано здесь](https://www.tbank.ru/business/help/business-payments/internet-acquiring/how-involve/integrate/?card=q16).&#x20;

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

{% hint style="warning" %}
Для совершения повторного платежа обязательно необходимо обнулить payment\_sum, ранее сформированную ссылку и уже после переназначить переменную **payment\_sum** для получения свежей ссылки. Можно указать предыдущее значение.
{% endhint %}

![Рис. 5. Тестовые платежи](https://lh3.googleusercontent.com/jTLAZEv_KagFqa8sOoVHRG3ZrEmi9gOUa7r8u18xyrDdn_YR_-S2r2oEBgwvnA2Ay9TWBHtPOXkzqZRptgNzBaVMIlQmky0WpImZfmS1A3gOAeakrPLUb-Ux7fVQLnBUaRbpzykX)

![Рис. 6. Тестовые платежи](https://lh6.googleusercontent.com/LnFu1aY22F8LG81bdin3n4ueny3soh270WXBJDFzQSryLBZrqjymRfAZ_sSKgGWYlwvb4TJS2X0KoefZDqEjCsbe6Zn2fDQjafnl91ifz0KofFKpvIyQ8LNNmjp4nALAsFfjWZnl)

{% hint style="info" %}
Обратите внимание на Тест 3 (отмена платежа) на рис. 6, вам нужен будет идентификатор платежа PaymentId, найти его можно после совершения платеж в переменной **tinkoff\_payment\_id**
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Ff50JBJkLzobIQJPtHknn%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2014.40.53.png?alt=media&#x26;token=2d554689-eb68-4ee6-9e64-317fe8c5abd3" alt=""><figcaption><p>Рис. 7. Переменные сделки</p></figcaption></figure>

{% hint style="danger" %}
Обращаем внимание!

Для корректной работы интеграции и отсутствия ошибок при подключении, после прохождения проверок (тестов) интеграции необходимо ПЕРЕПОДКЛЮЧИТЬ Т-банк на работающий терминал.&#x20;
{% endhint %}

## Как сформировать ссылку на оплату

{% hint style="success" %}
Сформировать ссылку на оплату в блоке можно **ОДНИМ ИЗ** из доступных способов:

* [Кнопка с функцией Оплата ](#knopka-s-funkciei-oplata)или
* [Функция get\_tinkoff\_payment\_url в Калькуляторе](#funkciya-get_tinkoff_payment_url-v-kalkulyatore) или
* [Создание ссылки с помощью переменной payment\_sum  и дополнительных параметров ](#sozdanie-ssylki-s-pomoshyu-peremennoi-payment_sum-i-dopolnitelnykh-parametrov)(устаревшая работающая версия)
  {% endhint %}

## Кнопка с функцией Оплата

Ссылку на оплату можно создавать в кнопке с функцией "Оплата".&#x20;

{% hint style="info" %}
О том как создавать такую кнопку  рассказано в статье "[Кнопки](https://docs.salebot.pro/integracii/platezhnye-sistemy/broken-reference)".
{% endhint %}

### **Обязательные параметры кнопки Оплата для Т-банк**

Для формирования ссылки на оплату в настройках кнопки  необходимо указать  <mark style="color:green;">**обязательные параметры: Сумма  и Описание товара.**</mark>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FrOec3E3zESDhxrKWZp8I%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2014.10.00.png?alt=media&#x26;token=70420481-2105-43d0-92d0-94be5b6bfa23" alt="" width="563"><figcaption><p>Рис. 8. Форма для настройки кнопки оплаты в боте</p></figcaption></figure>

**поле Текст.** Данный текст будет указан на кнопке с ссылкой на оплату в сообщении

**поле Функция.** Для создания кнопки для выдачи ссылки на оплату выбираем функцию Оплата

**поле Платежная система.** В списке отображаются подключенные к проекту платежные системы. Выбираем T-банк

{% hint style="warning" %}
Если к проекту не подключены платежные системы данный тип кнопок будет не доступен
{% endhint %}

**поле Описание товара (обязательное).** В данном поле нужно указать название товара. Максимально количество символов для данного поля: 250\
Чем точнее указано описание товара, тем лучше. Например: не Телефон, а Смартфон Xiaomi модель&#x20;

{% hint style="danger" %}
**НЕЛЬЗЯ** использовать **двойные кавычки** в описании товара: удалите или замените на одинарные кавычки.&#x20;
{% endhint %}

**поле Сумма (обязательное).**  В этом поле указываем стоимость товара.&#x20;

**чекбокс Автоплатеж.** Для подключения автоплатежа включите в настройках платежной системы в Сейлбот ползунок и поставьте галочку в данном чек-боксе в настройке кнопки. По умолчанию, отключен.

**меню Данные для формирования чека.** При клике по данной кнопке откроются дополнительные обязательные и необязательные поля для формирования чека

{% hint style="info" %}
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ.\
Прочитайте особенности формирования чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией. &#x20;
{% endhint %}

* Наименование товара
* Цена за единицу товара в копейках
* Количество
* Произведение количества на цену за единицу товара
* Способ расчёта
* Предмет расчета
* Переменная с email покупателя
* Переменная с номером телефона покупателя

**меню Дополнительная информация.** При клике по данной кнопке откроются дополнительные поля для формирования ссылки

* Язык страницы оплаты

**чекбокс С уведомление о клике.** Для отслеживания перехода по ссылке для оплаты можно поставить галочку. В таком случае, при клике по кнопке в диалог с клиентом в Сейлбот придет уведомление о том, что был совершен переход по ссылке

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fa70tL3EHGpX0sBVKPexq%2Fimage.png?alt=media&#x26;token=5a9a719e-1ccc-4a97-b0f7-041ecc7f7044" alt=""><figcaption><p>Рис. 9. Уведомление о клике</p></figcaption></figure>

На данное уведомление можно настраивать дальнейшую логику работы бота.&#x20;

### Дополнительные параметры для формирования чека и ссылки

**выпадающее меню** "**Данные для формирования чека"**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fz7neAEwlxxetAYgVSprf%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2014.55.55.png?alt=media&#x26;token=6912b99a-badc-4082-aae7-ea6e58ed8c29" alt="" width="563"><figcaption><p>Рис. 10. Меню настроек кнопки Оплата: "Данные для формирования чека"</p></figcaption></figure>

**поле Наименование  товара** . В данном поле нужно указать название товара. Чем точнее указано название товара, тем лучше. Например: не Телефон, а Смартфон Xiaomi модель ххх

{% hint style="danger" %}
**НЕЛЬЗЯ** использовать **двойные кавычки** в Наименовании товара: удалите или замените на одинарные кавычки.&#x20;
{% endhint %}

**поле Цена за единицу товара в руб.** Обратите внимание, в данном поле указывается цена в рублях.&#x20;

**поле Количество.** Количество или вес товара. Передать можно целое или дробное число через точку. Пример, 5 или 10.3

**поле Произведение количества на цену за единицу товара.** В данном поле необходимо указать сумму равную произведению количества на цену за единицу товара. Например, если Цена за единицу товара в руб равна 5000 и количество товаров 1, то Сумма заказа 5000 руб,&#x20;

**поле Способ расчёта.** Можно передать одно из значений признака способа расчета:

<table><thead><tr><th width="329">Значение признака способа расчета</th><th>Описание</th></tr></thead><tbody><tr><td>full_payment </td><td>полный расчет</td></tr><tr><td>full_prepayment</td><td>предоплата 100% - полная предварительная оплата, которая осуществляется клиентом до получения товара/оказания услуги</td></tr><tr><td>prepayment </td><td>предоплата - частичная предварительная оплата, которая осуществляется клиентом до получения товара/оказания услуги</td></tr><tr><td>advance</td><td>аванс - предоплата в случаях, когда заранее нельзя определить перечень товаров/работ/услуг</td></tr><tr><td>partial_payment</td><td>частичный расчет и кредит</td></tr><tr><td>credit </td><td> передача в кредит</td></tr><tr><td>credit_payment </td><td>оплата кредит</td></tr></tbody></table>

**поле Предмет расчёта.** Дополнительно можно передать предмет расчета (если не передать, будет commodity (товар)).

Может принимать следующие значения:

<table><thead><tr><th width="326">Значения</th><th>Описание</th></tr></thead><tbody><tr><td>commodity </td><td>товар</td></tr><tr><td>excise </td><td>подакцизный товар</td></tr><tr><td>job</td><td>работа</td></tr><tr><td>service </td><td>услуга</td></tr><tr><td>gambling_bet</td><td>ставка азартной игры</td></tr><tr><td>gambling_prize</td><td>выигрыш азартной игры</td></tr><tr><td>lottery </td><td>лотерейный билет</td></tr><tr><td>lottery_prize </td><td>выигрыш лотереи</td></tr><tr><td>intellectual_activity </td><td>предоставление результатов интеллектуальной деятельности</td></tr><tr><td>payment</td><td>платеж</td></tr><tr><td>agent_commission</td><td>агентское вознаграждение</td></tr><tr><td>composite </td><td>составной предмет расчета</td></tr><tr><td>another</td><td>иной предмет расчета</td></tr></tbody></table>

**Поле Переменная с email покупателя** (необязательный, если передан Номер телефона) В данном поле указывается Email пользователя  (клиента). Можно указывать переменную, в которой хранится  email пользователя.&#x20;

Например, #{email}

**Поле Переменная с номером телефона покупателя** (необязательный, если передан Email). В данном поле можно указать переменную, в которой записан  номер телефона покупателя в формате 79000000000\
Например, #{phone}

{% hint style="danger" %}
Обязательно должен присутствовать email и/или телефон
{% endhint %}

**выпадающее меню "Дополнительная информация"**

**поле Язык страницы оплаты.**  По умолчанию, язык страницы оплаты русский. Можно изменить на английский

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FELfUPLKkE7x4UF953cOi%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2015.34.39.png?alt=media&#x26;token=814741ed-3564-46ec-9e9c-d57867fc6bd3" alt="" width="563"><figcaption><p>Рис. 11. Меню дополнительной информации</p></figcaption></figure>

**поле Время жизни ссылки** — по умолчанию поле пустое, но указав в нем значение в виде дд.мм.гггг, --:-- (в виде даты и времени), можно установить до какого момента времени клиент сможет осуществить платеж по данной ссылке.&#x20;

### Переменные клиента

Как только пользователь получит блок с кнопкой "Оплата" автоматически будут созданы переменные клиента:

Служебная переменная клиента **`__payments`** , которая хранит сумму, идентификатор созданной ссылки, нужна для идентификации хука от платежной системы.

{% hint style="danger" %}
Служебную переменную клиента \_\_payments НЕЛЬЗЯ удалять или изменять!
{% endhint %}

Переменная клиента **`error_payment_button`** создается, если при формировании кнопки возникла ошибка.

В значение переменной error\_payment\_button запишется либо текст ошибки, либо ответ платежной системы с ошибкой.

{% hint style="warning" %}
Значение переменных становятся актуальными при переходе в следующий блок&#x20;
{% endhint %}

### Страницы завершения оплаты

После завершения оплаты клиенту по умолчанию будет предложено перейти обратно в чат с ботом. При этом клиент узнаёт о статусе платежа только по сообщению в чате.

Обычно содержание такого сообщения формируется в зависимости от типа колбека, который вы получили от Т-банка Касса.

Иногда колбек приходит с задержкой, поэтому в таких случаях у вас не получится моментально информировать клиента.

Чтобы избежать подобных ситуаций, отключите функцию перехода в бот в оплатах по ссылкам, сформированным через:

* переменную payment\_sum - перед указанием payment\_sum, присвойте переменной apply\_redirects значение 0 (ноль);
* функцию get\_tinkoff\_payment\_url - последним параметром укажите значение 0 (ноль);

При отключенной функции Тинькофф использует свои страницы завершения оплаты с информацией об успешном или неудавшемся платеже клиента.

Обработав колбек, вы можете дополнительно сообщить клиенту о статусе его платежа.

### Как обработать результат

**Успешный платеж.**

в бота <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_success и через пробел сумма платежа. \
\&#xNAN;*Для использования в настройках схемы достаточно его скопировать.*&#x20;

Например: `ovg58keefc_success 44`, где:&#x20;

ovg58keefc : первые первые 10 символов секретного ключа платежной системы

\_success : результат обработки запроса (успешный платеж)

44 : сумма платежа

{% hint style="info" %}
Колбеки (уведомления) от платежной системы пользователь НЕ ВИДИТ. Они отображаются только во вкладке Клиенты и видны оператору.
{% endhint %}

Пример использования:\
Шаг 1. В блоке "с кнопкой Оплата" добавляем кнопки с функцией Оплата.&#x20;

Шаг 2. В поле Условие соединения от этого блока к блоку "Успешная оплата" указываем колбэк. Аналогично работает, если указать колбэк об успешной оплате в поле Условие блока Первостепенной проверки условия.

{% hint style="warning" %}
Важно: выбор соответствия Полное совпадение. Также можно использовать По наличию ключевых слов, если указать часть колбэке без сумм оплаты
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FUPUIrm9aq34cZIdZ2oyR%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2015.38.29.png?alt=media&#x26;token=50860259-1dfa-47d2-a50c-705a603c0f17" alt=""><figcaption><p>Рис. 12. Пример № 1. Колбэк об успешной оплате в поле Условие блока "Стартовое условие"</p></figcaption></figure>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FJk56wmrjxw40tFujn3Cy%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2015.44.29.png?alt=media&#x26;token=368c8ee8-0bd5-4377-a289-47a765ea77df" alt=""><figcaption><p>Рис. 13. Пример № 2. Колбэк об успешной оплате в поле Условие блока "Не состояние с условием"</p></figcaption></figure>

Отличие примера № 1 (рис. 12) и примера № 2 (рис. 13) в том, что при использовании блока "Не состояние с условием" клиент не переходит в блок не состояние и не выбивается из основной воронки. Это удобно, например, если вы хотите продолжать вести клиента далее по воронке.&#x20;

{% hint style="success" %}
Подробнее о том, как использовать условные блоки в Сейлбот рассказали в статье "[Блоки с условием](https://docs.salebot.pro/integracii/platezhnye-sistemy/broken-reference)".
{% endhint %}

**Платеж с ошибкой**

<mark style="color:blue;">**При ошибке проведения оплаты**</mark> в бота <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_fail и через пробел сумма платежа

Например, `ovg58keefc_fail 44` , где

`ovg58keefc` : 10 символов секретного ключа платежной системы

`_fail` : результат обработки запроса -  платеж не выполнен или с ошибкой.&#x20;

`44` : сумма платежа

{% hint style="warning" %}
Зависит от платежной системы. Не все платежные системы присылают колбэк об ошибке платежа.
{% endhint %}

Если сумма указанная в настройках кнопки <mark style="color:blue;">**отличается от суммы, которую клиент оплатил**</mark>, то <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_different\_amounts и через пробел уникальный ID платежа

Например: `ovg58keefc_different_amounts 123456` , где:&#x20;

`ovg58keefc` : 10 символов секретного ключа платежной системы

`_different_amounts` : результат обработки запроса (сумма оплаты отличается от суммы в ссылке)

`123456` : уникальный ID платежа

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FBoYE5hItVrppch2DEgro%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2015.49.18.png?alt=media&#x26;token=925ae233-ce6c-4529-b112-81a2ae502a03" alt=""><figcaption><p>Рис. 12. Пример № 1. Колбэк об ошибке платежа в поле Условие блока "Стартовое условие"</p></figcaption></figure>

## Функция get\_tinkoff\_payment\_url в Калькуляторе

Для формирования ссылки на оплату можно воспользоваться функцией `get_tinkoff_payment_url` в Калькуляторе блоке.

В поле Калькулятор  переменной присвоим значение функции `get_tinkoff_payment_url`&#x20;

{% hint style="info" %}
Название переменной задаете самостоятельно.  На скринах примеры названия переменных.&#x20;
{% endhint %}

В эту переменную запишется ссылка на оплату. Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Оплатить".&#x20;

**ПРИМЕР ссылки на оплату:** *<https://securepay.tinkoff.ru/new/xoYnWrb6>*

{% hint style="info" %}
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ.\
Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.
{% endhint %}

{% tabs %}
{% tab title="Калькулятор" %}
Пример 1:&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FIqyZxeCcVhc5FkxxBeTm%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.00.13.png?alt=media&#x26;token=cd01afa6-7ed1-498e-b7af-f5667914c039" alt=""><figcaption><p>Рис. 13. Пример формирования ссылки: переданы только обязательные параметры</p></figcaption></figure>

Пример 2:&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FPYpVYYD61DiEwybDAwjX%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.02.37.png?alt=media&#x26;token=911b664e-6f76-4e29-809e-3117d0a29559" alt="" width="563"><figcaption><p>Рис. 14. Пример формирования ссылки: переданы все параметры</p></figcaption></figure>
{% endtab %}

{% tab title="Описание параметров" %}
`link = get_tinkoff_payment_url(amount, description, recurrent, products_for_receipt, customer_phone, customer_email, expired, taxation, language, extra_params, apply_redirects)`

#### Параметры функции:

<table><thead><tr><th width="213">Параметр</th><th>Описание параметра</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td><mark style="background-color:blue;">Сумма к оплате.</mark>  В этом поле указываем стоимость товара в рублях <strong><code>(обязательный параметр)</code></strong> </td></tr><tr><td><strong><code>description</code></strong></td><td><p><mark style="background-color:blue;">Описание заказа.</mark>  В этом поле можно использовать только символы английского или русского алфавита, цифры и знаки препинания. </p><p></p><p><em>Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение</em> <em><code>None</code></em> </p></td></tr><tr><td><strong><code>recurrent</code></strong></td><td><mark style="background-color:blue;">Подключение автоплатежа.</mark> Если автоплатеж включен, то передать значение 1, если отключен передайте значение None. </td></tr><tr><td><p><strong><code>products_for_</code></strong></p><p><strong><code>receipt</code></strong></p></td><td><p><mark style="background-color:blue;">Параметры для формирования чеков.</mark>  <em>Чтобы пропустить данный параметр передайте вместо него пару одинарных / пару двойных кавычек или значение</em> <em><code>None</code></em></p><p><br>Имеет следующий вид: </p><p><em>[{"name":"ТОВАР1","amount":"1200","vat_code":"5","method":"FullPrepayment","object":"Commodity"}]</em></p><p></p><p><strong>Важно! Используйте двойные кавычки для формирования словаря {"ключ": "значение"}</strong></p><p></p><p><strong>name</strong> - Наименование товара</p><p></p><p><strong>amount -</strong> Полная сумма в рублях за все количество данного товара с учетом всех возможных скидок, бонусов и специальных цен.</p><p></p><p><strong>vat_code</strong> - cтавка НДС. Этот параметр устанавливает налоговую ставку в ККТ. Возможные значения данного параметра: </p><p>'1' - Без НДС </p><p>'2' - НДС по ставке 0% </p><p>'3' - НДС по ставке 10% </p><p>'4' - НДС чека по ставке 20% </p><p>'5' - НДС чека по расчетной ставке 10/110 </p><p>'6' - НДС чека по расчетной ставке 20/120</p><p>'8' – НДС по ставке 5%</p><p>'9' – НДС по ставке 7%</p><p>'10' – НДС чека по расчетной ставке 5/105</p><p>'11' – НДС чека по расчетной ставке 7/107<br></p><p><strong>method</strong> - дополнительный параметр для формирования чека. Признак способа расчёта. </p><p>Пример значения параметра: full_payment — полный расчет<br></p><p>Остальные доступные варианты можно найти в документации Тинькофф : <a href="https://www.tinkoff.ru/kassa/develop/api/receipt/#Items">https://www.tinkoff.ru/kassa/develop/api/receipt/#Items</a><br></p><p><strong>object</strong> - дополнительный параметр для формирования чека.  Предмет расчета может принимать разные значения. Например, commodity — товар</p><p>Остальные доступные варианты можно найти в документации Тинькофф : <a href="https://www.tinkoff.ru/kassa/develop/api/receipt/#Items">https://www.tinkoff.ru/kassa/develop/api/receipt/#Items</a></p><p></p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td><p><mark style="background-color:blue;">номер телефона покупателя</mark>, не обязательно, если передан параметр <code>customer_email</code> </p><p></p><p>Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки</p></td></tr><tr><td><strong><code>customer_email</code></strong></td><td><p><mark style="background-color:blue;">емейл покупателя</mark>, не обязательно, если передан параметр <code>customer_phone</code> </p><p></p><p>Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</p></td></tr><tr><td><strong><code>expired</code></strong></td><td><p><mark style="background-color:blue;">время жизни ссылки на оплату</mark>, в формате <strong>дд.мм.гггг</strong> (например 25.01.2021). Также можно в поле "Калькулятор<em>"</em> указать: <em>expired = current_date + 2</em> (ссылка будет действительна 2 дня до 00:00) .  <code>expired</code> так же можно указать дату с точным временем, через пробел, в формате <strong>дд.мм.гггг чч:мм</strong> (например: <em>25.01.2021 12:23</em>). Так же можно использовать стандартные переменные, например зададим время действия ссылки 30 минут: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br><em>Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение</em> <em><code>None</code></em> </p><p></p><p>Максимальное значение: 90 дней от текущей даты. Минимальное значение: 1 минута от текущей даты.</p><p>Если не передан, принимает значение 24 часа для платежа и 30 дней для счета</p></td></tr><tr><td><mark style="background-color:blue;"><strong><code>taxation</code></strong></mark></td><td><p><mark style="background-color:blue;">Система налогообложения.</mark>  <br><br>Возможные значения данного параметра:<br></p><p>'1' - Общая система налогообложения </p><p>'2' - Упрощенная (УСН, доходы) </p><p>'3' - Упрощенная (УСН, доходы минус расходы) </p><p>'4' - Единый налог на вмененный доход (ЕНВД) </p><p>'5' - Единый сельскохозяйственный налог (ЕСН) </p><p>'6' - Патентная система налогообложения<br><br><br><em>Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение</em> <em><code>None</code></em></p></td></tr><tr><td><strong><code>language</code></strong></td><td><p><mark style="background-color:blue;">Язык страницы оплаты.</mark>  По умолчанию, язык страницы оплаты русский. <br>Можно изменить на английский. Для это передайте значение -  'en'</p><p></p><p><em>Чтобы пропустить данный параметр,  передайте вместо него пару одинарных/ пару двойных кавычек или значение None.</em></p></td></tr><tr><td><strong><code>extra_params</code></strong></td><td>дополнительные параметры, которых нет в данной функции.<br>Возможные дополнительные параметры можно посмотреть по ссылке в документации работы с API  платежной системы <a href="https://www.tinkoff.ru/kassa/develop/api/payments/init-request/">https://www.tinkoff.ru/kassa/develop/api/payments/init-request/</a><br>Пример: <code>extra_params = {"DATA":{"Name":"Tovar22", "Description":"Tovar12", "Phone":"+71234567891", "Email":"a@test.com"}}</code><br><br><em>Чтобы пропустить данный параметр,  передайте вместо него пару одинарных/ пару двойных кавычек или значение None.</em><br>Передачу дополнительных параметров в уведомлении от Т-банка нужно подключать по заявке в поддержку. Изначально они выключены в терминале.</td></tr><tr><td><code>apply_redirects</code></td><td><p>Индикатор необходимости перенаправить клиента в бота после нажатия на кнопку "Оплатить". </p><p>Ожидаемые значения 0 (ноль) или 1 (один, по умолчанию): </p><ul><li>0 (ноль) - оставить клиента в виджете оплаты, применяются стандартные страницы завершения платежа Тинькофф Касса; </li><li>1 (один) - немедленно перенаправить в бота после нажатия на кнопку "Оплатить". </li></ul><p>О статусе платежа можно сообщить в ответ на колбек.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Пример кода для копирования" %} <mark style="color:green;">Пример 1: Ссылка на оплату без чека</mark>\
\
`link_tinkoff = get_tinkoff_payment_url(1200, 'Купи меня')`\
\ <mark style="color:green;">Пример 2: Ссылка на оплату с чеком</mark>\
\
`extra_params = {"IP": "66.249.72.248"}`&#x20;

`receipt = [{"name":"ТОВАР1","price":"1200","quantity":"1","amount":"1200","vat_code":"2","method":"full_payment","object":"commodity"}]`&#x20;

`link_tinkoff = get_tinkoff_payment_url(1200, 'Купи меня', '', receipt, '77777777777', 'exam@mail.com', '28.03.2023 14:25', '2', 'en', extra_params)`

<mark style="color:green;">Пример 3: Ссылка на оплату с чеком + Автоплатеж</mark>\
\
`receipt = [{"name":"ТОВАР1","price":"1200","quantity":"1","amount":"1200","vat_code":"2","method":"full_payment","object":"commodity"}]`&#x20;

`link_tinkoff = get_tinkoff_payment_url(1200, 'Купи меня', '1', receipt, '77777777777', 'exam@mail.com', '28.03.2023 14:25', '2')`
{% endtab %}
{% endtabs %}

{% hint style="info" %}
Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Купить".&#x20;
{% endhint %}

{% hint style="warning" %}
Если в блоке несколько функций для получения ссылки и допущена ошибка, то значение ошибки будет записано в переменной  **`error_payment_func`**

\
Ошибка запишется по последней функции в Калькуляторе.

После успешной оплаты в бота <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_success и через пробел сумма платежа. \
\&#xNAN;*Для использования в настройках схемы достаточно его скопировать.*&#x20;

Например: `ovg58keefc_success 44`, где:&#x20;

ovg58keefc : первые первые 10 символов секретного ключа платежной системы

\_success : результат обработки запроса (успешный платеж)

44 : сумма платежа
{% endhint %}

### Сплитование платежей в Т-банк и работа с ними

Для старта работы нам потребуется выполнить четыре шага: \
\
1\. Переходим [по ссылке](https://www.tinkoff.ru/kassa/industries/marketplace/)\
2\. Оставляем заявку менеджеру и ожидаем связи от него. \
3\. Заключаем договор с банком и запрашиваем в банке логин и пароль\
4\. Получаем токен через функцию tinkoff\_sm\_register\_get\_token()\
\
**tinkoff\_sm\_register\_get\_token(username, password, test) -** функция токена \
\
Функция принимает три параметра: \
\ <mark style="color:green;">Обязательные параметры:</mark>\
**username** - логин\
**password** - пароль\ <mark style="color:orange;">Необязательный параметр:</mark>\
**test** - параметр на случай если проводите настройки в тестовой среде, в параметр можно передать 1 и запрос будет отправлен в тестовую среду. Если не используете такой тип настройки, проигнорируйте данный параметр НЕ указывая его в функции.&#x20;

<mark style="color:orange;">**ВАЖНО!**</mark> Если у вас возникают сложности на этапе получения токена, то добавьте список IP адресов salebot в белый лист, запросить адреса можно в службе поддержки на сайте или мессенджере. \
\
После того как вы получили токен, необходимо сделать запрос на  регистрацию точки с указанием всех необходимых параметров, включая данные банка и лицевого счета *(счета физлиц не поддерживаются)* через функцию tinkoff\_sm\_register\_get\_shop\_code  в ответ приходит помимо прочего "shopCode", который необходим для дальнейшей работы. \
\
**tinkoff\_sm\_register\_get\_shop\_code(token, org\_data, address, ceo, bank\_acc)**\
**token -** полученный на шаге выше токен \
**org\_data -** словарь с данными о вашей организации (вид показан в примере ниже)\
**address -** юридический адрес организации\
**ceo -** данные владельца организации\
**bank\_acc -** реквизиты\
\
Пример использования функции:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F4lz4Puad2LVICbXWTxp5%2F%D1%81%D0%BF%D0%BB%D0%B8%D1%822.jpg?alt=media&#x26;token=0feda392-0b25-41ff-b507-e6518d063c52" alt=""><figcaption><p>Рис. 15. Пример функции tinkoff_sm_register_get_shop_code с заполненными параметрами</p></figcaption></figure>

При формировании ссылки на оплату указываете переменную, сформированную по принципу: \
\
`shop="Shops":[{"ShopCode":"????????","Amount": "1000"}]` \
`link=get_tinkoff_payment_url(10,'', '', '','+79099999999','','', 1, '', shop)`

В переменной shop поле Amount содержит сумму в копейках, которая будет отправлена этому продавцу. Нужно чтобы сумма в первом параметре функции была не меньше, чем сумма по всем получателям. \
\
Для указания нескольких получателей указываем так: \
\
`shop="Shops":[{"ShopCode":"???????1","Amount": "1000"},{"ShopCode":"???????2","Amount": "2000"}]` \
\
в данном примере общая сумма 30 рублей или 3000 копеек

## Создание ссылки с помощью переменной payment\_sum  и дополнительных параметров

В калькуляторе блока присваиваем переменной **payment\_sum** значение равно сумме к оплате. \
Например,  \
`payment_sum = 150` или \
`payment_sum = 100.55` (<mark style="color:red;">через точку!</mark>)).\
\
Сразу после этого появится переменная **tinkoff\_pay\_url**. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".&#x20;

**ПРИМЕР ссылки на оплату:**\
*<https://securepay.tinkoff.ru/new/xoYnWrb6>*

Также В Калькуляторе блока до установки значения переменной **payment\_sum**, можно задать следующие необязательные переменные, для настройки платежа.

* **payment\_description** – описание заказа
* **language** - Язык страницы оплаты en, ru. Если не передан, то страница оплаты на русском языку.
* **expiration\_date** - дата и время окончания жизни заказа. Формат: дд.мм.гггг чч:мм (например: 25.01.2021 12:23) По умолчанию 24 часа;
* **apply\_redirects** - индикатор необходимости перенаправить клиента в бота после нажатия на кнопку "Оплатить". Ожидаемые значения 0 (ноль) или 1 (один, по умолчанию): 0 (ноль) - оставить клиента в виджете оплаты, применяются стандартные страницы завершения платежа Тинькофф Касса; 1 (один) - немедленно перенаправить в бота после нажатия на кнопку "Оплатить". О статусе платежа можно сообщить в ответ на колбек.

Также можно использовать стандартные переменные, например зададим время действия ссылки 2 дня от текущей даты до 12:00:\
\&#xNAN;*`date = current_date + 2`*\
*`expiration_date = "#{date} 12:00"`*

Еще пример время действия ссылки 30 минут:\
\&#xNAN;*`time = current_time + 30`*\
*`expiration_date = "#{current_date} #{time}"`*

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FOjIt25kdVeMpHY4ZO4WR%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.05.11.png?alt=media&#x26;token=e41f2888-c21c-4118-9f50-d5e17a8eca8e" alt="" width="563"><figcaption><p>Рис. 16. Пример использования переменных в калькуляторе</p></figcaption></figure>

Если в настройках вы включили автоматические платежи, то после успешной оплаты у клиента появится переменные **tinkoff\_rebill\_id** и **tinkoff\_recurrent\_id**, которые нужны для проведения автоплатежей и идентификации вебхука. \
Удалять их нельзя, при удалении **tinkoff\_rebill\_id** невозможно будет провести автоплатеж и нужно заново формировать ссылку на оплату, при удалении **tinkoff\_recurrent\_id** - клиент не получит колбек об оплате.

{% hint style="warning" %}
Нельзя удалять **tinkoff\_rebill\_id** и **tinkoff\_recurrent\_id.**

\
При удалении **tinkoff\_rebill\_id** невозможно будет провести автоплатеж и нужно заново формировать ссылку на оплату, при удалении **tinkoff\_recurrent\_id** - клиент не получит колбек об оплате.
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FMwM7OhXH9Jrq17WDh9tn%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.07.19.png?alt=media&#x26;token=79e16113-4587-4f4e-a093-e608b9f1117b" alt="" width="563"><figcaption><p>Рис. 17. Пример оплаты</p></figcaption></figure>

![Рис. 18. Переменные в карточке клиента](https://lh5.googleusercontent.com/Cqm9E0RNVVghhZFSX8EGVxf3Nchh_W2yfVBD0o1PYzeM-ImW6Mm6fl_dZE_LfYIntnOHkzz1LUDGCYbHznscP2jpacpFPlm8z3Btd02SC6PHbAE_wxQU5nSXm6fkgsoidCm8AkwW)

{% hint style="info" %}
**Обратите внимание:** переменной **payment\_sum** присваивается значение последней, после необязательных переменных **payment\_description, language** и т.д.&#x20;
{% endhint %}

## **Пример формирования ссылки на оплату**

Создадим ссылку на оплату в размере 100р (в магазине по умолчанию рубль)

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FTu2z2w5ShKgvwnGbPtow%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.22.30.png?alt=media&#x26;token=5fa4a267-0577-448d-b8aa-c75c40a43cec" alt=""><figcaption><p>Рис. 19. Пример настройки блока</p></figcaption></figure>

{% hint style="info" %}
**Обратите внимание:** \
\- Сначала указываете необязательные параметры  **payment\_description** и т.д.\
\- И последней присваиваем значение переменной **payment\_sum**
{% endhint %}

Далее в сообщении нужно вывести переменную **tinkoff\_pay\_url**, в которой содержится ссылка (см. рис. 19).

## **Как обработать результат**

После успешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Эти колбеки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из 10 первых символов секретного ключа и приписки success, например: **869e5us32x\_success**

В случае неудачной оплаты, придет колбек с припиской **869e5us32x\_fail**

{% hint style="success" %}
Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.
{% endhint %}

{% hint style="danger" %}
Колбеки от Тинькофф Касса могут приходить с задержкой.&#x20;

Если в течение часа вам не пришёл колбек, пожалуйста, обратитесь в поддержку salebot.
{% endhint %}

Тип сравнения должен быть **"Полное совпадение"**

Также после успешной оплаты переменная **tinkoff\_payment\_completed** устанавливается в **True**.

Например, можно сделать обработку успешной оплаты блоком с условием и вывести соответствующее сообщение пользователю:

Шаг 1. Копируем колбек об успешной олпате:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FRPZ5f7la83bJ6cknQ70i%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.28.28.png?alt=media&#x26;token=973003ed-c34a-417b-8471-2e357cac823e" alt="" width="450"><figcaption><p>Рис. 20. Колбек об успешной оплате</p></figcaption></figure>

Шаг 2. Создаем блок с условием (Стартовое условие или Не состояние с условием) и указываем в поле "Условие" колбек:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FTh9xncpxraCquQv5lXgp%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.31.26.png?alt=media&#x26;token=a1fae43c-4d32-4a91-98ff-9118869dc008" alt=""><figcaption><p>Рис. 21. Настройка блока "Стартовое условие"</p></figcaption></figure>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F9vu3XEYxIbH3euWg3Y1U%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.33.09.png?alt=media&#x26;token=6b228046-98f4-4511-95a3-561a061163d8" alt=""><figcaption><p>Рис. 22. Настройка блока "Не состояние с условием"</p></figcaption></figure>

Отличие примера № 1 (рис. 12) и примера № 2 (рис. 13) в том, что при использовании блока "Не состояние с условием" клиент не переходит в блок не состояние и не выбивается из основной воронки. Это удобно, например, если вы хотите продолжать вести клиента далее по воронке.&#x20;

{% hint style="success" %}
Подробнее о том, как использовать условные блоки в Сейлбот рассказали в статье "[Блоки с условием](https://docs.salebot.pro/integracii/platezhnye-sistemy/broken-reference)".
{% endhint %}

После завершения оплаты клиенту добавится переменная **tinkoff\_callback\_data**, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода **get**.

## Как работать с чеками

Для формирования чека онлайн-кассы необходимо при формировании ссылки на оплату передать дополнительные параметры.

<table><thead><tr><th width="268.80078125">параметры</th><th>Значение</th></tr></thead><tbody><tr><td><strong>email</strong> </td><td>электронная почта пользователя (Необязателен, если передан параметр phone)</td></tr><tr><td><strong>phone</strong> </td><td>телефон пользователя. Указывается в формате ITU-T E.164, например 79000000000 (Необязателен, если передан параметр email)</td></tr><tr><td><strong>taxation</strong></td><td>система налогообложения:<br>osn — общая<br>usn_income — упрощенная (доходы)<br>usn_income_outcome — упрощенная (доходы минус расходы)<br>patent — патентная<br>envd — единый налог на вмененный доход<br>esn — единый сельскохозяйственный налог</td></tr><tr><td><strong>products_for_receipt</strong> </td><td>это массив с перечисленными товарами чека, следующего вида:<br><code>[{"name": "Наименование товара", "quantity": "Количество товара", "price": "Цена за единицу товара в копейках", "amount": "Стоимость товара в копейках", "tax": "Ставка НДС"}, {"name": "Наименование товара 2", "quantity": "Количество товара 2", "price": "Цена за единицу товара 2 в копейках", "amount": "Стоимость товара в копейках", "tax": "Ставка НДС"}]</code></td></tr></tbody></table>

Каждый товар имеет вид:&#x20;

{"**name**": "Наименование товара", "**quantity**": "Количество товара", "**price**": "Цена за единицу товара в копейках", "**amount**": "Стоимость товара в копейках", "**tax**": "Ставка НДС"}

1. **name** - Наименование товара
2. **quantity** - Количество или вес товара (целое или дробное число через точку)
3. **price** - Цена за единицу товара **в копейках**
4. **amount** - Стоимость товара в копейках. Произведение Quantity и Price
5. **tax** - cтавка НДС:

<table data-full-width="false"><thead><tr><th width="312">Значение</th><th>Описание</th></tr></thead><tbody><tr><td>none</td><td>без НДС</td></tr><tr><td>vat0</td><td>0%</td></tr><tr><td>vat10</td><td>10%</td></tr><tr><td>vat20 </td><td>20%</td></tr><tr><td>vat110</td><td>10/110</td></tr><tr><td>vat120</td><td>20/120</td></tr><tr><td>vat5 </td><td>5%</td></tr><tr><td>vat7</td><td>7%</td></tr><tr><td>vat105 </td><td>5/105</td></tr><tr><td>vat107 </td><td>7/107</td></tr></tbody></table>

Дополнительно можно передать предмет расчета **payment\_object** (если не передать, будет commodity (товар)), может принимать следующие значения:

<table><thead><tr><th width="314">Возможные значение</th><th>Описание</th></tr></thead><tbody><tr><td>commodity</td><td>товар</td></tr><tr><td>excise </td><td>подакцизный товар</td></tr><tr><td>job </td><td>работа</td></tr><tr><td>service</td><td>услуга</td></tr><tr><td>gambling_bet</td><td>ставка азартной игры</td></tr><tr><td>gambling_prize</td><td>выигрыш азартной игры</td></tr><tr><td>lottery </td><td>лотерейный билет</td></tr><tr><td>lottery_prize</td><td>выигрыш лотереи</td></tr><tr><td>intellectual_activity</td><td>предоставление результатов интеллектуальной деятельности</td></tr><tr><td>payment</td><td>платеж</td></tr><tr><td>agent_commission </td><td>агентское вознаграждение</td></tr><tr><td>composite</td><td>составной предмет расчета</td></tr><tr><td>another </td><td>иной предмет расчета</td></tr></tbody></table>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F2FyUs9X5PVFSTvKTccjz%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.41.44.png?alt=media&#x26;token=0922cc25-3118-4c17-bf58-9e612a49997f" alt="" width="563"><figcaption><p>Рис. 23. Пример в калькуляторе передачи параметров</p></figcaption></figure>

**После** определения переменных платежа, определяем переменную payment\_sum, после которой сразу появится ссылка на оплату.

{% hint style="warning" %}
**Общая стоимость всех товаров должна быть равной переменной payment\_sum в рублях!**
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FGYZWT3MPcGKBbsJKEKNZ%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.43.50.png?alt=media&#x26;token=7dfe7aef-b411-4eb5-b587-947a8b953a8e" alt="" width="563"><figcaption><p>Рис. 24. Пример передачи переменых</p></figcaption></figure>

**Пример:**

`[{"name": "Наименование товара", "quantity": "2", "price": "1000", "amount": "2000", "tax": "none"}, {"name": "Наименование товара 2", "quantity": "3", "price": "500", "amount": "1500", "tax": "none"}]`

## **Как сделать автоплатежи в Т-банке**

### Провести тестовые платежи

В личном кабинете Тинькофф нужно пройти тесты подключения автоплатежей с тестовых карт банка.&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FCTNh7mW1mww80ZFfAaup%2Ftinkoff_rekur%20(2).jpg?alt=media&#x26;token=550622df-ec9d-4506-b70c-9fff28cd8a30" alt=""><figcaption><p>Рис. 25. Личный кабинет Т-банка: вкладка Автоплатежи -данные для прохождения тестов</p></figcaption></figure>

Чтобы пройти тесты подключения автоплатежей:\
\
1\. Создаём ссылку на оплату `get_tinkoff_payment_url.` \
В параметре **recurrent** передайте значение равное 1, пример кода [есть в описании функции](#funkciya-get_tinkoff_payment_url-v-kalkulyatore)\
2\. Оплачиваем ее тестовой картой из Тест №5, приходит уведомление от платежной системы   об успешной оплате.\
3\. Для этого же клиента вызываем функцию рекуррентного платежа tinkoff\_recurrent\_payment.\
4\. В кабинете Тинькофф нажимаем Проверить. Тесты пройдены

### Провести установочный платеж

Для создания ссылки на первый установочный платеж можно воспользоваться функцией `get_tinkoff_payment_url` в Калькуляторе блоке.

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FPL70iNeHdqdduTkdLlXl%2Fimage.png?alt=media&#x26;token=2287071d-ee80-4036-977e-ea8160eb8dc6" alt=""><figcaption><p>Рис. 26. Настройка блока для оплаты</p></figcaption></figure>

```
receipt = [{"name":"ТОВАР1","price":"1200","quantity":"1","amount":"1200","vat_code":"2","method":"full_payment","object":"commodity"}] 
link_tinkoff = get_tinkoff_payment_url(1200, 'Купи меня', '1', receipt, '77777777777', 'exam@mail.com', '28.03.2023 14:25', '2')
```

> Важный параметр данной функции для проведения установочного платежа  **`recurrent.`**&#x20;
>
> Если автоплатеж включен, то передайте значение 1, если отключен передайте значение None или ""

{% hint style="info" %}
После успешной оплаты придет уведомление (callback), а у клиента появится переменная `tinkoff_rebill_id. Эта переменная нужна для повторных автосписаний. Если её удалить, то повторные автосписания провести не получится.`
{% endhint %}

### Провести повторный автоплатеж

От блока, который реагирует на колбэк об успешной оплате создаем стрелку с таймером (задержкой) через какой период необходимо повторить списание.

{% hint style="danger" %}
&#x20;Будьте внимательны и настройте возможность отменить подписку,чтобы случайно не списать с карты пользователя все средства.&#x20;
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FCmJ0AnfFx8IqK2aKsUWA%2Fimage.png?alt=media&#x26;token=a85d08ce-1168-49af-bb7d-05d1ddc3dba3" alt=""><figcaption><p>Рис. 27. Настройки блока для автосписания</p></figcaption></figure>

Далее для проведения автоплатежа, нужно вызвать функцию:&#x20;

**`tinkoff_recurrent_payment(сумма, 'описание')`**

Первым параметром передаем сумму, которую нужно списать, вторым - описание платежа, если не передать, то будет пустое.

![Рис. 28. Редактор блока -> Калькулятор -> функция для проведения автоплатежа](https://lh3.googleusercontent.com/vvv2JO37hd7Hg-eTU4xSO1x9qweZ8-LjwvB64PufEYLJpduUHKFxMGwWrpO_Q04SKbg8ob31zpN9BHEP8GaDt1haUC89KT4FABUc_6ME1gwxFUO4W9_ltUlVDo2MXY1lZ5H75K-n)

Если подключена онлайн-касса, то при автосписании нужно формировать чек. \
Чтобы это сделать, перед списанием нужно создать переменные:&#x20;

<table><thead><tr><th width="333"></th><th></th></tr></thead><tbody><tr><td>products_for_receipt_recurrent </td><td>обязательная переменная, массив с перечисленными товарами чека. <br><mark style="color:red;"><strong>Числа нужно указывать без кавычек!</strong></mark></td></tr><tr><td>taxation</td><td>обязательная переменная</td></tr><tr><td>phone</td><td>обязательная, если нет переменной email</td></tr><tr><td>email</td><td>обязательная, если нет переменной phone</td></tr></tbody></table>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fp3FtlbJvVx22hI8gtrnt%2Fphoto_2024-04-18_16-44-14.jpg?alt=media&#x26;token=46df2e85-755b-4781-8f38-806e6a2ae7c8" alt=""><figcaption><p>Рис. 29. Пример в калькуляторе</p></figcaption></figure>

{% hint style="info" %}
Как заполнять products\_for\_receipt\_recurrent читайте в параграфе выше "[Функция get\_tinkoff\_payment\_url в Калькуляторе](#funkciya-get_tinkoff_payment_url-v-kalkulyatore)".
{% endhint %}

### Отменить автоплатежи

Для того, чтобы отменить автосписания настроим блок для удаления переменной `tinkoff_rebill_id`&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fh7PQqvt5pmEz8HmXx2PO%2Fimage.png?alt=media&#x26;token=a3ac7159-0591-47b6-9426-e971ef06aa72" alt=""><figcaption><p>Рис. 30. Отмена автоплатежа</p></figcaption></figure>

### **Провести обычный платеж, если включены рекуррентные платежи.**

\
Если в настройках включен бегунок рекуррентные платежи, но нужно провести обычный платеж без сохранения карты для подписки,  присвойте переменной `tinkoff_manual_recurrent_disable` любое значение  перед объявлением payment\_sum. \
При таких настройках платеж будет обычным.\
\
**Пример:**&#x20;

`tinkoff_manual_recurrent_disable = 1`

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FMkgiidwZ3j3nYYYog6ro%2Ftinkoff_rekur2.jpg?alt=media&#x26;token=58153d57-4119-41b1-b86f-1f0e28171533" alt=""><figcaption><p>Рис. 31. Калькулятор в блоке</p></figcaption></figure>

{% hint style="info" %}
Если при автосписании нужен чек, то до вызова функции нужно определить переменную **products\_for\_receipt\_recurrent**, которая заполняется так же как и для чеков в обычном платеже.
{% endhint %}

## Прием платежей для курсов через Т-банк

Шаг 1. В платежных системах подключаем прием платежей через Т-банк Эквайринг

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F50WIwJNW2lTTH0BIZa1K%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2013.54.35.png?alt=media&#x26;token=3b6cbcd2-5ebe-402c-92f9-32ea1215d5a0" alt="" width="563"><figcaption><p>Рис. 32. Форма подключения эквайринга от Т-банка на стороне Сейлбот</p></figcaption></figure>

Шаг 2. В настройках курса выбираем платежную систему&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FoWFM6GH1ddqNclq10FT8%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2016.52.31.png?alt=media&#x26;token=a4df30bb-c4ea-457a-b4a2-16885af5aa36" alt=""><figcaption><p>Рис. 33. Выбираем платежную систему в разделе "Оплата" в настроках курса</p></figcaption></figure>

Шаг 3. Создаем тариф

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F5BdatocGMEG2OUH7cKQv%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2017.00.37.png?alt=media&#x26;token=50ca2e94-f337-4ae1-8e48-f38a008ead0a" alt=""><figcaption><p>Рис. 34. Создание виджета в настройках курса</p></figcaption></figure>

Шаг 5. В личном кабинете Тинькофф в настройках терминала обязательно включаем уведомления по HTTP и вставляем ссылку: <https://chatter.salebot.pro/tinkoff\\_callback/result>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FIDIZve3VfCFhwZgu7KeL%2F%D1%82%D0%B8%D0%BD%D1%8C%D0%BA%D0%BE%D1%84%D1%84.jpg?alt=media&#x26;token=6a7739d2-1211-453b-bc36-f4d7ee91546c" alt="" width="563"><figcaption><p>Рис. 35. Настройка терминала</p></figcaption></figure>

{% hint style="danger" %}
Обращаем внимание!&#x20;

Пропуск 5 шага приведет к некорректной работе интеграции! \
Пожалуйста, ВКЛЮЧАЙТЕ уведомления по HTTP и ВСТАВЬТЕ ссылку в соответствующее поле URL (ссылка для уведомлений): <mark style="color:red;">**<https://chatter.salebot.pro/tinkoff\\_callback/result>**</mark>

Также после прохождения всех проверок и тестирования корректной работы платежной системы, не забывайте ПЕРЕПОДКЛЮЧАТЬ платежную систему на РАБОЧИЙ терминал!
{% endhint %}

На странице курса будет отображаться тариф с кнопкой для оплаты:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F0DtGDpjlFxhmv6qprSYI%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2017.06.05.png?alt=media&#x26;token=27a4373f-ac9e-40f2-ae9c-1e3acc38789d" alt=""><figcaption><p>Рис. 36. Тариф на странице курса</p></figcaption></figure>

Далее ученику нужно будет ввести свои данные:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FzrePKdKM4h3g4xbmd3F7%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2017.17.23.png?alt=media&#x26;token=d484f18a-bf04-4ecb-91ad-1932a4a87c09" alt="" width="563"><figcaption><p>Рис. 37. Форма для заполнения данных при покупке учеником курса</p></figcaption></figure>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FmG1UnsHOJ52K6LNffE53%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2017.06.23.png?alt=media&#x26;token=d9d5d0ee-7009-47cd-a599-fa9c643dfe80" alt="" width="563"><figcaption><p>Рис. 38. Форма оплаты</p></figcaption></figure>
