# Prodamus (RU)

{% hint style="success" %}
Доступно только на тарифе "Инфобиз".
{% endhint %}

## Как подключить Продамус

Для подключения Prodamus Вам понадобятся URL-платежной формы и секретный ключ.

<mark style="color:зелёный;">**URL-платежной формы**</mark> вы получаете после регистрации, он <mark style="color:зелёный;">**имеет вид: demo.payform.ru**</mark>

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

<div data-with-frame="true"><figure><img src="/files/8d302c9de7a1e333b4d7555454034ce82bd1a026" alt=""><figcaption><p>Секретный ключ в настройках формы личного кабинета платежной системы "Продамус"</p></figcaption></figure></div>

Подробная инструкция как это сделать: <https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch>

Адрес для уведомлений: **<https://chatter.salebot.pro/prodamus\\_callback/result>**

Этот адрес нужно прописать в настройках в двух местах.

На главной странице настроек можно выбрать режим работы формы: демо-режим без оплат или режим оплат:

<div data-with-frame="true"><figure><img src="/files/1d249a8d5fba98afe445935ff738d7e3fe5695a3" alt=""><figcaption></figcaption></figure></div>

Адрес для уведомлений нужно прописать в настройках платежной системы в двух местах: вкладка Настройка формы  - для обычных оплат и вкладка, Подписки - для оплат по подписке.&#x20;

<div data-with-frame="true"><figure><img src="/files/4685097cb7ac3e7aa0378e05f39f55cf9010326c" alt=""><figcaption></figcaption></figure></div>

Адрес для уведомлений: **`https://chatter.salebot.pro/prodamus_callback/result`**

Для настройки работы с **оплатами по подписке**  перейдите во вкладку Подписки и пропишите адрес для уведомлений: <https://chatter.mavibot.ai/prodamus\\_callback/result>

<div data-with-frame="true"><figure><img src="/files/22a90f5ddfd4740d183670579715d0d69f553504" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Обратите внимание! После ввода url обязательно нажмите кнопку «Сохранить».
{% endhint %}

Для подключения Prodamus необходимо перейти в раздел "Эквайринг"

<div data-with-frame="true"><figure><img src="/files/995bac5d890ab536502e25e5e0dac9722658924e" alt=""><figcaption></figcaption></figure></div>

Далее необходимо просто указать данные, о которых говорили выше, в форму:

<div data-with-frame="true"><figure><img src="/files/6bfa1b13d3c2b1a415c22a8302dc4c6c1f9a1f5b" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**ВАЖНО!** url - платежной формы указываем БЕЗ https\://&#x20;
{% endhint %}

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

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

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

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

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

{% hint style="info" %}
[Ссылку на оплату можно создавать в кнопке с функцией "Оплата". О том как создавать такую кнопку  рассказано в этой статье](/doc/ru/chatbot/builder/knopki/knopka-oplaty.md)
{% endhint %}

Рассмотрим все возможные параметры данной кнопки.&#x20;

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

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

При переходе на страницу оформления заказа заранее будет прописана информация о продукте и его стоимости, клиенту останется только указать свои контакты.\
\
Если в настройках кнопки указать Email и\или телефон пользователя, то на странице оформления заказа будут  указаны контакты плательщика и информация о продукте и его стоимости.

<div data-with-frame="true"><figure><img src="/files/f9994b4e3424be7a6a35123e217ac74f7a1d2940" alt="" width="563"><figcaption><p>Окно настроек кнопки</p></figcaption></figure></div>

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

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

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

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

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

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

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

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

* Описание заказа
* Скидка в руб.
* Переменная с email покупателя
* Переменная с номером телефона покупателя
* Время жизни ссылки
* ID товара для подписки (для создания автоплатежей)
* Оплаченный контент&#x20;

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

<div data-with-frame="true"><figure><img src="/files/7b89eb44838a1e095263915cff94a41b4455d621" alt="" width="431"><figcaption><p>Коллбэк после перехода клиентом по ссылке</p></figcaption></figure></div>

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

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

А вот так выглядит страница оплаты, которая открывается при переходе по ссылке в кнопке Оплата:

<div data-with-frame="true"><figure><img src="/files/59ca507778d71cb4ba99923585cf7f26a557ae3d" alt="" width="563"><figcaption><p>Страница оплаты: в кнопке заполнены только основные параметры</p></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/844b49782db85b264906fd998e8975464fcd117e" alt="" width="563"><figcaption></figcaption></figure></div>

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

**поле Скидка.** В данном поле можно указать размер скидки в рублях или рубли с копейками. Для того, чтобы указать сумму с копейками в качестве разделителя используем точку:  50.99\
На странице оплаты в поле Сумма к оплате будет указана с учетом скидки , а основная стоимость товара будет перечеркнута.&#x20;

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

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

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

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

**поле Время жизни ссылки.** Можно указать дату в формате дд.мм.гггг чч:мм (например 25.01.2021 11:00) или использовать переменные для назначения срока окончания действия ссылки. \
Пример использования переменной: `#{link_expired}`

**поле ID товара по подписки.**  Чтобы выполнить автоплатеж,  передайте значение ID товара.  Для создания подписки, нужно создать подписной товар.&#x20;

Подробная инструкция как создать товар для подписки: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

{% hint style="danger" %}
Если передать значение ID товара по подписке, то сумма платежа не учитывается. Данные по товару будут получены из карточки товара из кабинета Продамус
{% endhint %}

Номер телефона указанный при оплате будет необходим  для управлением подпиской.

{% hint style="warning" %}
Если передать **ID товара по подписки**, то  в колбэке при успешном  платеже будет передан ID  этого товара
{% endhint %}

**Поле Оплаченный контент** (условно обязательное). Данные необходимы для фискализации оплаты Prodamus'ом, если у вас нет своей онлайн кассы. В данном поле нужно указать описание покупки, её стоимость и ссылку на ресурс с контентом.&#x20;

*Например*: *Курс ‘Плетение кос’, стоимость 3000 рублей, ссылка на страницу курса:* [*https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911*](https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911).&#x20;

Эти данные необходимы для передачи в ФНС.

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

Если вы указываете время жизни ссылки, то в случае

1. Когда пользователь запросил ссылку оплаты в ее активный срок (то есть ее срок жизни еще не закончился) и она есть в диалоге, то оплатить он не сможет и у него будет уведомление следующего вида:

<div data-with-frame="true"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA1KJHoyMF5WmLMZiJPJrQEGJs79zxoXK5U3E9k4mVus-Fg0tI-djr6QTagp5ulwposSxmJ-aq8trUQOslQyE0UeaREuM6-T5Ongn-E5tACdVmypFXBtgOJDmVvHRgOdATChhnBQ?key=OB7qKicH0kn-_i_EzQLdRA" alt=""><figcaption></figcaption></figure></div>

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

2\. Когда пользователь запрашивает ссылку, а она уже неактивна\
В таком случае кнопка просто не появится. И в переменных клиента появится переменная "error\_payment\_button", которая содержит в себе следующее значение: "Ошибка: Срок действия ссылки должен быть позже текущей даты".

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

Как это сделать?

Создайте блок с условием, в котором укажите, если пришло уведомление подобного плана, error\_payment\_button == "Ошибка: Срок действия ссылки должен быть позже текущей даты"&#x20;

С выводом текста: "Извините, вы не успели и ссылка на оплату больше недействительна":

<div data-with-frame="true"><figure><img src="/files/ef06842b25ddb2cd749c96de52b9147e85d31572" alt=""><figcaption><p>Диалог в разделе "Клиенты"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/d845aa4e9c0cdf3380a6517c99d46b24c918c2a4" alt=""><figcaption><p>Настройка блока "Стартовое условие"</p></figcaption></figure></div>

### Переменные клиента, которые будут созданы автоматически при использовании кнопки с функцией Оплата

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

❗️Если вы решили проверять оплату именно в стрелке по условию, то продумайте логику вашей схемы. В случае если клиент покинет блок с переходом по условию с коллбэком, то перехода в блок не будет. Такой способ проверки логично использовать, только тогда когда клиент не меняет свою позицию в воронке (положение в схеме). \
В схемах, в которых клиент перемещается по блокам лучше использовать вариант с указанием коллбэка в блоке "Стартовое условие". <br>

<div data-with-frame="true"><figure><img src="/files/52618ffbe43ab9d6b638b2849e14f6a42fd1439f" alt=""><figcaption><p>Колбэк об успешной оплате в поле Условие блока.</p></figcaption></figure></div>

#### **Успешный платеж для товаров с автоподпиской.**&#x20;

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

Например: `214009eefc_success 618117`, где:&#x20;

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

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

`618117`: ID товара по подписке

<div data-with-frame="true"><figure><img src="/files/d3e50490ad5338cea75af9039effa73e27a98c95" alt=""><figcaption><p>Пример колбэка от Продамус для товаров с автоподпиской</p></figcaption></figure></div>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

**ПРИМЕР ссылки на оплату:** <https://payform.ru/7p3JR8/>

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

<figure><img src="/files/bf587b4eba974d6f2b49eae1845d292a411a645b" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Описание параметров" %}
`ваша_переменная =`` `**`get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)`**

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

<table><thead><tr><th width="253">Параметр</th><th>Значение параметра</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td>сумма к оплате. Можно передать значение целое число и число с точкой. Например 25 или 52.5  <mark style="color:зелёный;">(обязательный параметр)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>Название товара. <mark style="color:зелёный;">(обязательный параметр)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>время жизни ссылки на оплату, в формате <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>Чтобы пропустить данный параметр,  передайте вместо него пару одинарных или двойных кавычки, или значение None</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>номер телефона покупателя, не обязательно, если передан параметр <code>customer_email</code> Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>емейл покупателя, не обязательно, если передан параметр <code>customer_phone</code> Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>discount</code></strong></td><td>размер скидки. Передаем параметр число или число с точкой: 25 или 63.5   Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>description</code></strong></td><td>описание товара (если не указать заполняется 'Оплата счета order_id') Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td><p>дополнительные параметры, которых нет в данной функции.<br>Возможные дополнительные параметры можно посмотреть по ссылке в документации работы с API  платежной системы <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>Пример: extra_params = {"payments_limit": "3", "payment_method": "vsegdada_installment_0_0_6"}<br></p><p><em>Чтобы пропустить данный параметр,  передайте вместо него пару одинарных/ пару двойных кавычек или значение None.</em></p></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>Строка от 50 до 4000 символов в формате</strong> "описание заказа - стоимость - ссылка на приобретаемый ресурс”. </p><p>Например:</p><p>“Курс ‘Рыбалка на леща’, стоимость 4999 рублей, ссылка на страницу курса: https://www.lovilescha.ru/courses/poimai_kilogram/". <strong>Обязательный</strong>, если у вас нет своей онлайн кассы, для фискализации оплат через Prodamus.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Пример кода для копирования" %}
**extra\_params** = {<mark style="color:красный;">"payments\_limit"</mark>: <mark style="color:красный;">"3"</mark>}&#x20;

**products\_for\_receipt** = "<mark style="color:красный;">Курс ‘Рыбалка на леща’</mark>, <mark style="color:красный;">стоимость 4999 рублей</mark>, <mark style="color:красный;">ссылка на страницу курса: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_url** = get\_prodamus\_payment\_url(<mark style="color:синий;">4999</mark>, <mark style="color:красный;">'Курс ‘Рыбалка на леща’'</mark>, <mark style="color:красный;">'27.03.2023 17:00', '79167777771'</mark>, <mark style="color:красный;">'<mail@mail.com>'</mark>, <mark style="color:синий;">20</mark>, <mark style="color:красный;">'Лучший курс на рынке'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

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

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

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

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

Для генерации ссылки на оплату, вам достаточно в поле Калькулятор установить значение переменной **payment\_sum.** Сразу после этого появится переменная **prodamus\_pay\_url**.&#x20;

**ПРИМЕР ссылки на оплату:**: <https://payform.ru/7p3JR8/>

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

До объявления переменной **payment\_sum** также можно указать следующие, необязательные переменные:&#x20;

| Параметры функции          | Описание параметра                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **product\_name**          | наименование товара (если не указать заполняется 'Оплата счета order\_id') - на скриншоте ниже показано где отображается                                                                                                                                                                                                                                                                                                                    |
| **payment\_description**   | описание товара (если не указать заполняется 'Оплата счета order\_id', скрин ниже) - на скриншоте ниже показано где отображается                                                                                                                                                                                                                                                                                                            |
| **discount\_value**        | размер скидки (например discount\_value = 25 или discount\_value = 50.25)                                                                                                                                                                                                                                                                                                                                                                   |
| **customer\_phone**        | номер телефона покупателя, не обязательно, если передан параметр                                                                                                                                                                                                                                                                                                                                                                            |
| **customer\_email**        | емейл покупателя                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **link\_expired**          | время жизни ссылки на оплату, в формате **дд.мм.гггг** (например 25.01.2021). Также можно в поле "*Калькулятор"* указать: *link\_expired = current\_date + 2* (ссылка будет действительна 2 дня до 00:00)                                                                                                                                                                                                                                   |
| **link\_expired**          | <p>так же можно указать дату с точным временем, через пробел, в формате <strong>дд.мм.гггг чч:мм</strong> (например: <em>25.01.2021 12:23</em>). Так же можно использовать стандартные переменные, например зададим время действия ссылки 30 минут: </p><p>time = current\_time + 30<br>link\_expired = "#{current\_date} #{time}"</p>                                                                                                      |
| **currency**               | <p>валюта платежа, по умолчанию "rub". <br>Полный список аргументов: </p><p>rub</p><p>usd</p><p>eur</p><p>kzt<br>Данный параметр должен быть передан в нижнем регистре.</p>                                                                                                                                                                                                                                                                 |
| **payment\_title**         | заголовок платежа (до 127 символов). Если не указать, заполняется текстом: “Оплата счета payment\_id” (payment\_id - идентификатор заказа в Salebot)                                                                                                                                                                                                                                                                                        |
| **payment\_description**   | краткое описание платежа (до 127 символов)                                                                                                                                                                                                                                                                                                                                                                                                  |
| **locale**                 | язык страницы оплаты, указывается в виде en-US, fr-XC и т. д. По умолчанию - ‘ru-Ru’. Полный список доступен по ссылке <https://developer.paypal.com/api/rest/reference/locale-codes/>                                                                                                                                                                                                                                                      |
| **products\_for\_receipt** | <p><strong>Строка от 50 до 4000 символов в формате</strong> "описание заказа - стоимость - ссылка на приобретаемый ресурс”. </p><p>Например:</p><p>“Курс ‘Рыбалка на леща’, стоимость 4999 рублей, ссылка на страницу курса: <https://www.lovilescha.ru/courses/poimai_kilogram/>". </p><p><mark style="color:красный;"><strong>Обязательный</strong></mark>, если у вас нет своей онлайн кассы, для фискализации оплат через Prodamus.</p> |
| **payment\_sum**           | (обязательный) сумма платежа                                                                                                                                                                                                                                                                                                                                                                                                                |

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/3FazAmQkph5i0_iKy4G_HNerzVQP9Bg3_PRB_5rHZQ6vAZB_1Hxv1imi3gJCl7pU_GY7eAiiwZExJA-i4Ps5PgSJt7OXKbSL-GT27gWca_u7rFM8YEsNJ7Z-VVXTAR-jSw_-p2I0" alt=""></div>

{% hint style="success" %}
Переменные **discount\_value**, **customer\_phone**, **customer\_email** и **link\_expired** актуальны и для подписок.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/b6cb7e6d673121489297a4b2a4e1b8a57028de7b" alt="" width="524"><figcaption></figcaption></figure></div>

Пример реализации.

В первом блоке задаем сумму оплаты:

<div data-with-frame="true"><figure><img src="/files/b7efa59b045b3c3e6a01dcdde83286eb803c9793" alt=""><figcaption></figcaption></figure></div>

Дальше выводим в нужном месте url, ссылку prodamus\_pay\_url:

<div data-with-frame="true"><figure><img src="/files/be8038242f8b597eb385d8b893fdea4bc7729d09" alt=""><figcaption></figcaption></figure></div>

**prodamus\_available\_payment\_methods** объявляется до объявления payment\_sum.

Возможные значения: &#x20;

<table><thead><tr><th width="323"></th><th></th></tr></thead><tbody><tr><td><strong>AC</strong></td><td>оплата картой, выпущенной в РФ </td></tr><tr><td><strong>ACkz</strong> </td><td>оплата картой Казахстана </td></tr><tr><td><strong>ACf</strong></td><td>оплата картами стран СНГ, кроме РФ</td></tr><tr><td><strong>ACEURNMBX</strong></td><td>Оплата EUR картой всех стран, кроме РФ и РБ </td></tr><tr><td><strong>SBP</strong></td><td>Быстрый платёж, без ввода данных карты. Для карт РФ </td></tr><tr><td><strong>QW</strong> </td><td>Qiwi wallet </td></tr><tr><td><strong>PC</strong></td><td>ЮMoney </td></tr><tr><td><strong>GP</strong></td><td>платежный терминал </td></tr><tr><td><strong>sbol</strong></td><td>Сбербанк Онлайн <strong>invoice</strong> - Оплата по счету <strong>installment</strong> - Частями от Продамус </td></tr><tr><td><strong>installment_5_21</strong></td><td>Частями от Продамус на 3 месяца </td></tr><tr><td><strong>installment_6_28</strong></td><td>Частями от Продамус на 6 месяцев </td></tr><tr><td><strong>installment_10_28</strong></td><td>Частями от Продамус на 10 месяцев </td></tr><tr><td><strong>installment_12_28</strong> </td><td>Частями от Продамус на 12 месяцев <strong>installment_0_0_3</strong> - Рассрочка от Тинькофф на 3 месяца</td></tr><tr><td><strong>installment_0_0_4</strong> </td><td>Рассрочка от Тинькофф на 4 месяца </td></tr><tr><td><strong>installment_0_0_6</strong></td><td>Рассрочка от Тинькофф на 6 месяцев </td></tr><tr><td><strong>installment_0_0_10</strong></td><td>Рассрочка от Тинькофф на 10 месяцев</td></tr><tr><td><strong>installment_0_0_12</strong></td><td>Рассрочка от Тинькофф на 12 месяцев</td></tr><tr><td><strong>installment_0_0_24</strong> </td><td>Рассрочка от Тинькофф на 24 месяца</td></tr><tr><td><strong>installment_0_0_36</strong></td><td>Рассрочка от Тинькофф на 36 месяцев </td></tr><tr><td><strong>credit</strong> </td><td>Кредит от Тинькофф</td></tr><tr><td><strong>vsegdada_installment_0_0_4</strong></td><td>Рассрочка ВсегдаДа на 4 месяца (не работает с available_payment_methods) </td></tr><tr><td>vs<strong>egdada_installment_0_0_6</strong></td><td>Рассрочка от ВсегдаДа на 6 месяцев</td></tr><tr><td><strong>vsegdada_installment_0_0_10</strong></td><td>Рассрочка от ВсегдаДа на 10 месяцев</td></tr><tr><td><strong>vsegdada_installment_0_0_12</strong></td><td>Рассрочка от ВсегдаДа на 12 месяцев без переплаты</td></tr><tr><td>vs<strong>egdada_installment_0_0_24</strong></td><td>Рассрочка от ВсегдаДа на 24 месяца</td></tr><tr><td><strong>vsegdada_installment_0_0_36</strong> </td><td>Рассрочка от ВсегдаДа на 36 месяцев</td></tr><tr><td><strong>sbrf_installment_0_0_6</strong></td><td>Рассрочка от СберБанка на 6 месяцев </td></tr><tr><td><strong>sbrf_installment_0_0_10</strong></td><td>Рассрочка от СберБанка на 10 месяцев</td></tr><tr><td><strong>sbrf_installment_0_0_12</strong></td><td>Рассрочка от СберБанка на 12 месяцев</td></tr><tr><td><strong>sbrf_installment_0_0_24</strong></td><td>Рассрочка от СберБанка на 24 месяца</td></tr><tr><td><strong>sbrf_installment_0_0_36</strong> </td><td>Рассрочка от СберБанка на 36 месяцев</td></tr><tr><td><strong>otp_installment_0_0_6</strong></td><td>Рассрочка «ОТП Банка» на 6 месяцев</td></tr><tr><td><strong>otp_installment_0_0_10</strong></td><td>Рассрочка «ОТП Банка» на 10 месяцев</td></tr><tr><td><strong>otp_installment_0_0_12</strong> </td><td>Рассрочка «ОТП Банка» на 12 месяцев</td></tr><tr><td><strong>otp_installment_0_0_24</strong></td><td>Рассрочка «ОТП Банка» на 24 месяца</td></tr><tr><td><strong>otp_installment_0_0_36</strong></td><td>Рассрочка «ОТП Банка» на 36 месяцев</td></tr><tr><td><strong>mts_installment_0_0_6</strong></td><td>Рассрочка «МТС Банка» на 6 месяцев</td></tr><tr><td><strong>mts_installment_0_0_10</strong> </td><td>Рассрочка «МТС Банка» на  10 месяцев</td></tr><tr><td><strong>mts_installment_0_0_12</strong> </td><td>Рассрочка «МТС Банка» на 12 месяцев</td></tr><tr><td><strong>mts_installment_0_0_24</strong></td><td>Рассрочка «МТС Банка» на 24 месяца</td></tr><tr><td> <strong>mts_installment_0_0_36</strong> </td><td>Рассрочка «МТС Банка» на 36 месяцев</td></tr><tr><td><strong>monetaworld</strong></td><td>Карты банков мира, кроме РФ </td></tr><tr><td><strong>sbrf_bnpl</strong></td><td>Частями от Сбер</td></tr></tbody></table>

Допускается передача нескольких значений, разделяя их вертикальной чертой. \
Например: prodamus\_available\_payment\_methods = "AC|PC|QW"

**prodamus\_currency** - еще один дополнительный параметр для передачи суммы в определенной валюте.\
Возможные значения валюты: \
**kzt** - для тенге \
**eur** - для евро \
**usd** - для доллара

Тогда сумма, указанная в ссылке, будет в указанной валюте.

При получении колбэка **payment\_callback** нужно ориентироваться на параметр **currency** и **currency\_sum,** в которых будет валюта и сумма валюте.

{% hint style="warning" %} <mark style="color:красный;">**Важно!**</mark> Проверьте есть ли у вас на странице метод оплаты в нужной валюте, поскольку если он отсутствует, то будет переход на страницу без методов оплаты.\
Методы подключаются через поддержку. Посмотреть включенные можно в настройках страницы или сформировав ссылку на оплату
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/94ab54a6b2c590e3460fddd79762b3faa3d4cf35" alt=""><figcaption><p>Настройки страницы оплаты платежной системы "Продамус"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/9c4c5245f67ca0a4d722bcb25df01762d79a0888" alt=""><figcaption><p>Варианты оплаты, которые подключены для Вашей страницы</p></figcaption></figure></div>

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

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

Важно! после успешной или неуспешной оплаты в бот придут коллбэки, по которым вы сможете понять что была успешная оплата. Эти коллбэки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из секретного ключа и приписки со статусом, например: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_success** или 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_fail**. Также после успешной оплаты переменная **prodamus\_payment\_completed** устанавливается в **True**.

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

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

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

ovg58keefc : секретный ключ **целиком**

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

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

<div data-with-frame="true"><figure><img src="/files/614bd00d0a1c0f4d52605baa83f13d859b7ddb22" alt=""><figcaption></figcaption></figure></div>

{% hint style="danger" %}
Тип сравнения должен быть "**Полное совпадение**"
{% endhint %}

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

### Деактивация/реактивация подписки

Также в Продамусе существуют уведомления по поводу активации/деактивации подписки:

<div data-with-frame="true"><figure><img src="/files/a83e168500dc994f132f156fcde83fdc9016eab9" alt=""><figcaption></figcaption></figure></div>

1. "Подписчик деактивировал подписку" - если подписка отменена вручную (например, отказался от подписки).

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

2. "Подписчик реактивировал подписку" - восстановление подписки.&#x20;

Может прийти, если подписчик реактивировал подписку до окончания текущего оплаченного периода. Подразумевает действие на ваше усмотрение - игнорирование или удаление из списка мониторинга к возвращению.

3. "Деактивация подписки" - если подписка деактивирована после нескольких неудачных списаний

### **Как сохранить значения из коллбэка**

После получения уведомления об успешной оплате клиенту в заявку (переменная payment\_callback) запишется колбек от продамуса, со всеми данными по полученному платежу. Из него можно сохранить нужные данные и использовать по своему усмотрению. Пример коллбэка:

`{"date": "2021-03-30T11:44:43+03:00", "order_id": "757679", "order_num": "", "domain": "demo.payform.ru", "sum": "14.50", "customer_phone": "+77777777777", "customer_extra": "Тут описание товара", "payment_type": "Пластиковая карта Visa, MasterCard, МИР", "commission": "3.5", "commission_sum": "0.51", "attempt": "1", "discount_value": "10.5", "products[0][name]": "Доступ к обучающим материалам", "products[0][price]": "14.50", "products[0][quantity]": "1", "products[0][sum]": "14.50", "payment_status": "success", "payment_status_description": "Успешная оплата", "payment_init": "manual"}`

При формировании ссылки можно указать переменные **product\_name** и **payment\_description**. Тогда при получении коллбэка их можно будет достать вот так&#x20;

`product = get(payment_callback,'products[0][name]')`&#x20;

`description = get(payment_callback,'customer_extra')`

<div data-with-frame="true"><figure><img src="/files/1678538d98d710b20c9aa9417e9b69e6fec0a6b3" alt=""><figcaption></figcaption></figure></div>

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

Сумму можно получить так\
`summa = get(payment_callback,'sum')`

### Какие коллбэки доступны

Кроме основных коллбэков об успешной оплате в чате с пользователем выводится сообщение, которое пользователь не видит, со следующими текстами:

1. Подписчик деактивировал подписку ([подробнее тут](#deaktivaciya-reaktivaciya-podpiski))
2. Подписчик реактивировал подписку ([подробнее тут](#deaktivaciya-reaktivaciya-podpiski))
3. Подписка завершена
4. Неуспешная оплата - приписка с пояснением (на скриншоте выше)
5. Уведомление о предстоящем списании - дата и время предстоящего списания
6. Заявка на рассрочку со статусом

Примеры коллбэков в диалоге с клиентом:&#x20;

* **Подписчик деактивировал подписку**
* **Подписчик реактивировал подписку**
* **Подписка завершена**
* **Неуспешная оплата - Недостаточно средств.**
* **Неуспешная оплата - Срок действия карты истёк.**
* **Неуспешная оплата - Превышен лимит по карте.**
* **Неуспешная оплата - Карта утеряна**
* **Неуспешная оплата - Системная ошибка**&#x20;
* **Неуспешная оплата - Операция отклонена. Обратитесь в банк, выпустивший карту.**&#x20;
* **Неуспешная оплата - Отказ в проведении операции банком-эмитентом.**
* **Неуспешная оплата - Отказ в проведении операции банком.**&#x20;
* **Уведомление о предстоящем списании - дд.мм.гггг чч:мм**
* **Заявка на рассрочку одобрена**
* **Заявка на рассрочку отменена**
* **Заявка на рассрочку отклонена**

Подробнее прочитать описание ошибок можно здесь:

{% embed url="<https://help.prodamus.ru/payform/integracii/tekhnicheskaya-dokumentaciya-po-avtoplatezham/kody-oshibok>" %}
Продамус: коды ошибок
{% endembed %}

По желанию, можно настроить отправку пользователю какого-то сообщения. Для примера отправим сообщение, что автоматическое списание не удалось.\
\
На уведомление о **не успешной оплате с конкретной причиной**, можно настроить блок с ответом, например, вот так:

<div data-with-frame="true"><figure><img src="/files/749b88fb56544be55340a30e0a1ce34f050bf801" alt=""><figcaption><p>пример блока для уведомлений о Неуспешной оплате с конкретной причиной</p></figcaption></figure></div>

Для отправки сообщения **на все неудачные списания, независимо от причины**, можно настроить следующим образом:

<div data-with-frame="true"><figure><img src="/files/a4433cd4a3a628662c5cbe9c69599b221c8dad1e" alt=""><figcaption><p>пример блока для уведомлений о Неуспешной оплате с любым пояснением причины</p></figcaption></figure></div>

И на все коллбэки, в которых присутствует текст **Неуспешная оплата**, пользователю будет приходить сообщение с указанным вами текстом.

## Как создать платежи по подписке

### Как создать подписку

Для создания подписки, нужно создать подписной товар. Подробная инструкция как это сделать : <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Далее копируем id подписного товара, ниже показано где его взять:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="Создание подписного товара"></div>

Для генерации ссылки на оплату подписки, вам необходимо установить значение (id подписного товара) переменной **prodamus\_subscription**, сразу после этого появится переменная **prodamus\_pay\_url**.&#x20;

<div data-with-frame="true"><figure><img src="/files/3532d383ef4bdf1974684bbc96fcf600adc65f30" alt="" width="563"><figcaption></figcaption></figure></div>

Переменную **prodamus\_pay\_url** можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить". Ссылка имеет вид: <https://payform.ru/7p3JR8/><br>

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

После успешной подписки пользователю добавится переменная с введенным при оплате номером телефона customer\_phone. Номер телефона нужен для управлением подпиской.<br>

{% hint style="warning" %}
customer\_phone нужен для управления подпиской, если не передан customer\_email
{% endhint %}

### Как создать ссылку на подписку функцией get\_prodamus\_subscription\_url

Рассмотри другой способ сформировать ссылку на оплату товара по подписке.&#x20;

Создаем подписной товар в кабинете Продамус.  Подробная инструкция как это сделать : <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Далее копируем id подписного товара, ниже показано где его взять:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="Создание подписного товара"></div>

Для получения ссылки для оплаты товара по подписке в Калькуляторе указываем функцию&#x20;

`get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

{% tabs %}
{% tab title="Калькулятор" %}
Пример 1: Ссылка на оплату товара по подписке

<figure><img src="/files/be323373571cf68ccefb834e80d8436f683fccd3" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Описание параметров" %}
`link = get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

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

<table><thead><tr><th width="253">Параметр</th><th>Значение параметра</th></tr></thead><tbody><tr><td><strong><code>subscription_id</code></strong></td><td><strong>ID товара по подписке</strong>. Получить ID можно скопировать в кабинете Продамус  <mark style="color:зелёный;">(обязательный параметр)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>Название товара. <mark style="color:зелёный;">(обязательный параметр)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>время жизни ссылки на оплату, в формате <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>Чтобы пропустить данный параметр,  передайте вместо него пару одинарных или двойных кавычки, или значение None</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>номер телефона покупателя, не обязательно, если передан параметр <code>customer_email</code> Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>емейл покупателя, не обязательно, если передан параметр <code>customer_phone</code> Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>discount</code></strong></td><td>размер скидки. Передаем параметр число или число с точкой: 25 или 63.5   Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>description</code></strong></td><td>описание товара (если не указать заполняется 'Оплата счета order_id') Чтобы пропустить данный параметр,  передайте вместо него одинарные или двойные кавычки.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td>дополнительные параметры, которых нет в данной функции.<br>Возможные дополнительные параметры можно посмотреть по ссылке в документации работы с API  платежной системы <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>Пример: <code>extra_params = {"payments_limit": "3"}</code><br><br><em>Чтобы пропустить данный параметр,  передайте вместо него пару одинарных/ пару двойных кавычек или значение None.</em></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>Строка от 50 до 4000 символов в формате</strong> "описание заказа - стоимость - ссылка на приобретаемый ресурс”. </p><p>Например:</p><p>“Курс ‘Рыбалка на леща’, стоимость 4999 рублей, ссылка на страницу курса: https://www.lovilescha.ru/courses/poimai_kilogram/". </p><p><strong>Обязательный</strong>, если у вас нет своей онлайн кассы, для фискализации оплат через Prodamus.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Пример кода для копирования" %}
**extra\_params** = {<mark style="color:красный;">"payments\_limit"</mark>: <mark style="color:красный;">"3"</mark>}&#x20;

**products\_for\_receipt** = <mark style="color:красный;">"Курс ‘Рыбалка на леща’</mark>, <mark style="color:красный;">стоимость ежемесячной подписки 2000 рублей</mark>, <mark style="color:красный;">ссылка на страницу курса: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_sub** = get\_prodamus\_subscription\_url(<mark style="color:синий;">618988</mark>, <mark style="color:красный;">'Курс ‘Рыбалка на леща’</mark>', <mark style="color:красный;">'27.03.2023 17:02', '79167777771', '<mail@mail.com>'</mark>, <mark style="color:красный;">20</mark>, <mark style="color:красный;">'Лучший курс на рынке'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

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

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

### Как управлять статусом подписки

{% hint style="info" %}
Метод работает только на реальных подписках, в демо-режиме связки с картой нет
{% endhint %}

{% hint style="warning" %}
Для управления подпиской должен быть передан один из обязательных параметров customer\_phone или  customer\_email.
{% endhint %}

Для возможности отписки пользователя от подписки нужно создать блок и вызвать функцию: **<https://store.salebot.pro/function/delete\\_subscription\\_prodamus>**

С параметрами:

**{**\
**"customer\_phone": "#{customer\_phone}",**\
**"id\_subscription":"#{prodamus\_subscription}",**\
**"url":"<https://demo.payform.ru/>", "secret\_key":"453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",**\
**"switcher":"0"**\
**"profile\_id":"12345"**\
**}**

**url** - URL-платежной формы указанный в настройках конструктора\
**secret\_key** - секретный ключ из настроек\
**id\_subscription** - id подписного товара\
**customer\_phone** - телефон подписчика\
**switcher** = 0 это остановка подписки, если передать 1, подписка снова активируется.\
**profile\_id** - ID профиля в системе Продамус

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

Если придет id профиля, то значение будет сохранено в переменную profile\_id.

profile\_id можно передать в функцию delete\_subscription\_prodamus вместо customer\_phone или customer\_email для отмены подписки.
{% endhint %}

Пример настройка блока подписки:

<div data-with-frame="true"><figure><img src="/files/30b85a2e063b93c43a57def92d001f154bff5865" alt=""><figcaption></figcaption></figure></div>

Обратите внимание, что функция возвращает status, который сохраняем и можем обработать по своему усмотрению, при успешной деактивации\активации **status** равен **ok**

### Функция для управления подпиской

prodamus\_subscription\_switch\_status(subscription\_id, switcher, customer\_phone, customer\_email, profile\_id)

&#x20;**id\_subscription** - id подписного товара&#x20;

**switcher** = 0 это остановка подписки, если передать 1, подписка снова активируется.&#x20;

**customer\_phone** - телефон подписчика - необязательный, если передан customer\_email&#x20;

**customer\_email** - email подписчика - необязательный, если передан customer\_phone

profile\_id - ID профиля в системе Продамус

<div data-with-frame="true"><figure><img src="/files/a485610f18f908dfca29eefe35dd81ff87746bab" alt=""><figcaption><p>Пример использования функции prodamus_subscription_switch_status</p></figcaption></figure></div>

Пример: передан параметр **customer\_phone,** пропущен customer\_email\
`stat = prodamus_subscription_switch_status`(`'618117', '0', '75431312321')`

Пример 2: передан параметр **customer\_email,** пропущен customer\_phone\
`stat = prodamus_subscription_switch_status('618117', '0', '', 'examp@mail.com')`

{% hint style="success" %}
Функция вернет ok, если все прошло успешно или описание ошибки
{% endhint %}

### Управление скидками в подписке

Функция задает размер скидки на последующие платежи по подписке. Скидка может быть установлена на ограниченное и неограниченное количество списаний.

**prodamus\_subscription\_discount(subscription\_id, discount, customer\_phone, num, profile\_id)**\
**где:**\
**subscription\_id** - ID подписки\
**discount** - десятичное число с точностью до двух знаков после **точки**, значение должно быть больше нуля и не превышать базовую стоимость подписки\
**customer\_phone** - номер телефона клиента в формате: +79999999999 (необязательный параметр, если есть переменная customer\_email (появляется после первой оплаты описание выше))\
**num** - Количество оплат на которые будет действовать скидка (необязательный параметр, если не передавать, то количество оплат со скидкой не ограничено)

profile\_id - ID профиля в системе Продамус\
\
**При успешном выполнении запроса функция вернет 'ok', если запрос выполняется с ошибкой, то функция вернет ее описание.**

{% hint style="warning" %}
Размер скидки и интервал перезаписываются ТОЛЬКО если функцию вызвать повторно с новыми значениями!
{% endhint %}

#### **Примеры:**

1\. Оформление скидки на все последующие автоплатежи в размере 1р (номер телефона не указывается, так как будет автоматически взят из переменной customer\_phone, а количество списаний со скидкой по умолчанию - на весь период подписки)&#x20;

r = prodamus\_subscription\_discount('624034', '1')

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/_4i_sKKn39tHVdnb47xgj8fxfP_x9UGMWLaierBnpup9LCZMdVT0G9AmIOa8S_uMrVXWQIH6rvZnujCYPGcphkYvwFbCXEh819tWIjGIM4mHvd3afSlPzhZfcWk6D1z1tyBwFrZV" alt="Пример 1" width="563"></div>

2\. Оформление скидки 2р на следующие 3 списания (номер телефона заменен пустыми кавычками, так как будет автоматически взят из переменной customer\_phone)&#x20;

r = prodamus\_subscription\_discount('624034', '2', '', '3')

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/IgutVRIqTFbaof9A14qdQRLCB6oop4mSAIew5s3lz62Kb4YVHdHJEt6GuC7AACStDgRiR1d_XEG1k5Dj7c2M-VNtci16JbklMTEla8_RNWD7wBNeG649g0lnFiMZilhri3phwKr-" alt="Пример 2" width="563"></div>

3\. Пример оформления скидки в виде числа с дробной частью до сотых (разделитель точка), числовые данные указываются без кавычек, номер телефона передаем через переменную

<div data-with-frame="true"><figure><img src="/files/5355ab4abe138d1e2edd364b5e1daa1551d88968" alt="" width="563"><figcaption></figcaption></figure></div>

r = prodamus\_subscription\_discount(#{prodamus\_subscription}, 10.25, #{customer\_phone}, 3)

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/xJVbZ3Q5f6LzCsYtuX-JqaKYPc69lS6Wi4yA0ui2vBxmFkXXGIHSqgO2VoK0rzDPdNG-HxVpAnpRcmbZXQ_oSrtT7ijJcQA6ZOwjXLbKP8WsCFBip-4DwRnVHpz-fIPRt_Wldo0h" alt="Пример 3" width="563"></div>

### Как установить дату следующего платежа по подписке

С помощью данного метода можно сдвинуть дату следующего платежа по подписке. Сдвигать дату можно только "в будущее" относительно текущей установленной даты следующего платежа. Тем самым увеличивая срок пребывания в клубе.

{% hint style="success" %}
Например, можно применять в качестве бонуса для подписчиков.
{% endhint %}

Для этого нужно использовать функцию:

**prodamus\_subscription\_payment\_date(subscription\_id, date, customer\_phone, profile\_id)**&#x20;

где:

**subscription\_id** - ид подписки \
**date** - дата в формате дд.мм.гггг чч:мм или дд.мм.гггг, тогда время будет 00:00\
**customer\_phone** - не обязателен, если не передать подтянется из переменной customer\_phone, если и там не найдет, то не отработает\
**profile\_id** - ID профиля в системе Продамус

## Как передать параметры в Продамус

Чтобы передать в Продамус нужные вам параметры (например, дата старта подписки, отключение рассрочки и тд), в названии переменной приписывайте в начале prodamus\_&#x20;

Тогда при формировании ссылки на оплату эти параметры будут передаваться в платежную систему автоматически.

## Как тестировать оплату

{% hint style="info" %}
Тестируем только оплату!
{% endhint %}

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

{% hint style="warning" %}
Сначала переведите свою платежную странницу в ДЕМО режим ⤵

Не забудьте нажать кнопку "Сохранить"
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/622a1c2a4d8cb97b0f3058c5160b36535ef06d50" alt=""><figcaption></figcaption></figure></div>

#### Чтобы провести тестовый платеж вы можете воспользоваться тестовыми счетами

Тестовые карты Сбербанка:&#x20;

МИР\
Номер карты 2202 2050 0001 2424\
Дата истечения срока действия 05/35\
Проверочный код на обратной стороне 669

MasterCard\
Номер карты 5469 9801 0004 8525\
Дата истечения срока действия 05/26\
Проверочный код на обратной стороне 041\
Проверочный код 3-D Secure 111111

Visa\
Номер карты 4006 8009 0096 2514\
Дата истечения срока действия 05/26\
Проверочный код на обратной стороне 941\
Проверочный код 3-D Secure 111111

{% hint style="success" %}
! При оплате с тестовых счетов все настроенные воронки и интеграции сработают, как при обычной оплате !&#x20;
{% endhint %}

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

{% hint style="danger" %}
Для приема оплат реальными деньгами, необходимо перевести форму в рабочий режим. То есть перевести бегунок переключения демо-режима в положение, чтобы он стал бледно-красным
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ru/integrations/payment/prodamus/prodamus-ru.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
