Salebot.pro
Search…
⌃K

Продамус(Prodamus)

Платежная система для онлайн-школ и самозанятых

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

Получить скидку 2000р на подключение можно указав промокод SALEBOT https://prodamus.ru/
Для подключения Prodamus Вам понадобятся URL-платежной формы и секретный ключ.
URL-платежной формы вы получаете после регистрации, он имеет вид: demo.payform.ru
Секретный ключ можно получить в личном кабинете, там же нужно прописать URL адрес для уведомлений.
Секретный ключ
Подробная инструкция как это сделать: https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch
Адрес для уведомлений: https://chatter.salebot.pro/prodamus_callback/result
Этот адрес нужно прописать в настройках в двух местах.
На главной странице настроек:
Настройка url для уведомлений(Часть 1)
После вверху перейти во вкладку Подписки:
Кнопка перехода в вкладку с настройками подписок
И ниже так же прописать:
Настройка url для уведомлений(Часть 2)
Обратите внимание! После ввода url обязательно нажмите кнопку «Сохранить».
Для подключения Prodamus необходимо перейти в раздел "Платежные системы"
Далее необходимо просто указать данные, о которых говорили выше в форму.
Настройки продамуса
На этом подключение закончено. Теперь давайте разберемся как использовать данный функционал.

Как создать ссылку на оплату

Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_description, product_name и т.д.
Для генерации ссылки на оплату, вам достаточно установить значение переменной payment_sum сразу после этого появится переменная prodamus_pay_url.
До объявления переменной payment_sum так же можно указать следующие, не обязательные переменные: 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 так же можно указать дату с точным временем, через пробел, в формате дд.мм.гггг чч:мм (например: 25.01.2021 12:23). Так же можно использовать стандартные переменные, например зададим время действия ссылки 30 минут:
time = current_time + 30 link_expired = "#{current_date} #{time}"
Переменные discount_value, customer_phone, customer_email и link_expired актуальны и для подписок.
Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить". Ссылка имеет вид: https://payform.ru/7p3JR8/
Пример реализации.
В первом блоке задаем сумму оплаты:
Дальше выводим в нужном месте url, ссылку prodamus_pay_url:
prodamus_available_payment_methods объявляется до объявления payment_sum, возможные значения: AC - банковская карта ACUSDXP - карты зарубежных банков, кроме Казахстана ACkz - карты Казахстана ACkztjp - Оплата картой всех стран мира, кроме РФ. Оплата в Тенге ACusd - карты зарубежных банков, кроме РФ и Украины. Оплата в USD ACeur - карты зарубежных банков, кроме РФ и Украины. Оплата в EUR SBP - быстрый платеж PC - Юmoney QW - Qiwi Wallet GP - платежный терминал sbol - Сбербанк онлайн invoice - Оплата по счету installment - Частями от Продамус installment_0_0_3 - Рассрочка от Тинькофф на 3 месяца installment_0_0_4 - Рассрочка от Тинькофф на 4 месяца installment_0_0_6 - Рассрочка от Тинькофф на 6 месяцев installment_0_0_10 - Рассрочка от Тинькофф на 10 месяцев installment_0_0_12 - Рассрочка от Тинькофф на 12 месяцев installment_0_0_24 - Рассрочка от Тинькофф на 24 месяца credit - Кредит от Тинькофф vsegdada_installment_0_0_6 - Рассрочка от ВсегдаДа на 6 месяцев vsegdada_installment_0_0_10 - Рассрочка от ВсегдаДа на 10 месяцев vsegdada_installment_0_0_12 - Рассрочка от ВсегдаДа на 12 месяцев

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

Важно! после успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Эти колбеки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из секретного ключа и приписки со статусом, например: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success или 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail. Также после успешной оплаты переменная prodamus_payment_completed устанавливается в True.
Внимание! Колбеки приходят с задержкой, так что после вывода ссылки на оплату пользователю рекомендуем отправить сообщение, что вроде: “После оплаты дождитесь сообщения об успешном завершении оплаты”
Например, можно сделать обработку успешной оплаты блоком с условием и вывести соответствующее сообщение пользователю:
Тип сравнения должен быть "Полное совпадение"
Для совершения повторного платежа обязательно необходимо обнулить payment_sum, ранее сформированную ссылку и уже после переназначить переменную payment_sum для получения свежей ссылки

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

После получения уведомления об успешной оплате клиенту в заявку (переменная 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. Тогда при приходе колбэка их можно будет достать вот так
product = get(payment_callback,'products[0][name]')
description = get(payment_callback,'customer_extra')
Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_description, product_name
Сумму можно получить так summa = get(payment_callback,'sum')

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

Кроме основных колбеков об успешной оплате или не успешной, будут приходить так же дополнительные.
  • Действие - Деактивация подписки
  • Действие - Завершение подписки (срок подписки истек)
  • Действие - Завершение подписки (истек срок деактивированной подписки)
  • Уведомление - не успешная оплата (недостаточно средств)
  • Уведомление - не успешная оплата (истек срок действия карты)
  • Уведомление - не успешная оплата (превышены ограничения по карте)
  • Уведомление - не успешная оплата (карта утеряна)
  • Уведомление - не успешная оплата (системная ошибка)
  • Уведомление - не успешная оплата, последняя попытка списания
  • Уведомление о предстоящем списании
  • Уведомление - Не успешная оплата
  • Уведомление - Заявка на рассрочку одобрена
  • Уведомление - Заявка на рассрочку отменена
  • Уведомление - Заявка на рассрочку отклонена
В чате с пользователем выводится сообщение, которое пользователь не видит, со следующими текстами:
  1. 1.
    Деактивация подписки
  2. 2.
    Подписка завершена
  3. 3.
    Не успешная оплата - приписка с пояснением (на скриншоте выше)
  4. 4.
    Уведомление о предстоящем списании - дата и время предстоящего списания
  5. 5.
    Заявка на рассрочку со статусом
По желанию, можно настроить отправку пользователю, какого-то сообщения. Для примера отправим сообщение, что автоматическое списание не удалось. На уведомление о не оплате с конкретной причиной, можно настроить, например вот так:
Для отправки сообщения на все неудачные списания, независимо от причины, можно настроить следующим образом:
И на все колбеки, в которых присутствует текст Не успешная оплата, пользователю будет приходить сообщение с указанным вами текстом.

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

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

Для создания подписки, нужно создать подписной товар. Подробная инструкция как это сделать : https://help.prodamus.ru/payform.ru-onlain-oplaty/rekurrent-i-kluby/nastroiki-kluba/sozdanie-i-redaktirovanie-podpiski
Далее копируем id подписного товара, ниже показано где его взять:
Создание подписного товара
Для генерации ссылки на оплату подписки, вам необходимо установить значение (id подписного товара) переменной prodamus_subscription, сразу после этого появится переменная prodamus_pay_url. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить". Ссылка имеет вид: https://payform.ru/7p3JR8/
Обработка результата происходит так же как и при разовой оплате (читать выше)
После успешной подписки пользователю добавится переменная с введенным при оплате номером телефона customer_phone. Номер телефона нужен для управлением подпиской.

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

Метод работает только на реальных подписках, в демо-режиме связки с картой нет
Для возможности отписки пользователя от подписки нужно создать блок и вызвать функцию: .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" }
url - URL-платежной формы указанный в настройках конструктора secret_key - секретный ключ из настроек id_subscription - id подписного товара customer_phone - телефон подписчика switcher = 0 это остановка подписки, если передать 1, подписка снова активируется.
Пример настройка блока подписки:
Обратите внимание, что функция возвращает status, который сохраняем и можем обработать по своему усмотрению, при успешной деактивации\активации status равен ok

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

Функция задает размер скидки на последующие платежи по подписке. Скидка может быть установлена на ограниченное и неограниченное количество списаний.
prodamus_subscription_discount(subscription_id, discount, customer_phone, num) где: subscription_id - ID подписки discount - десятичное число с точностью до двух знаков после точки, значение должно быть больше нуля и не превышать базовую стоимость подписки customer_phone - номер телефона клиента в формате: +79999999999 (необязательный параметр, если есть переменная customer_phone (появляется после первой оплаты описание выше)) num - Количество оплат на которые будет действовать скидка (необязательный параметр, если не передавать, то количество оплат со скидкой не ограничено) При успешном выполнении запроса функция вернет 'ok', если запрос выполняется с ошибкой, то функция вернет ее описание.
Размер скидки и интервал перезаписываются ТОЛЬКО если функцию вызвать повторно с новыми значениями!

Примеры:

1. Оформление скидки на все последующие автоплатежи в размере 1р (номер телефона не указывается, так как будет автоматически взят из переменной customer_phone, а количество списаний со скидкой по умолчанию - на весь период подписки)
r = prodamus_subscription_discount('624034', '1')
Пример 1
2. Оформление скидки 2р на следующие 3 списания (номер телефона заменен пустыми кавычками, так как будет автоматически взят из переменной customer_phone)
r = prodamus_subscription_discount('624034', '2', '', '3')
Пример 2
3. Пример оформления скидки в виде числа с дробной частью до сотых (разделитель точка), числовые данные указываются без кавычек, номер телефона передаем через переменную
r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
Пример 3

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

С помощью данного метода можно сдвинуть дату следующего платежа по подписке. Сдвигать дату можно только "в будущее" относительно текущей установленной даты следующего платежа. Тем самым увеличивая срок пребывания в клубе.
Например, можно применять в качестве бонуса для подписчиков.
Для этого нужно использовать функцию:
prodamus_subscription_payment_date(subscription_id, date, customer_phone)
где:
subscription_id - ид подписки date - дата в формате дд.мм.гггг чч:мм или дд.мм.гггг, тогда время будет 00:00 customer_phone - не обязателен, если не передать подтянется из переменной customer_phone, если и там не найдет, то не отработает

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

Чтобы передать в Продамус нужные вам параметры (например, дата старта подписки, отключение рассрочки и тд), в названии переменной приписывайте в начале prodamus_
Тогда при формировании ссылки на оплату эти параметры будут передаваться в платежную систему автоматически.

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

Тестируем только оплату!
Для того, чтобы с вашего счета не списывались средства при тестировании интеграции и настройки воронок на оплату, можно воспользоваться тестовыми картами
Сначала переведите свою платежную странницу в ДЕМО режим ⤵
Не забудьте нажать кнопку "Сохранить"

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

VISA Номер карты 4111 1111 1111 1111 Дата истечения срока действия 2024/12 Проверочный код на обратной стороне 123 3-D Secure veres=y, pares=y Проверочный код 3-D Secure 12345678 MasterCard Номер карты 5555 5555 5555 5599 Дата истечения срока действия 2024/12 Проверочный код на обратной стороне 123 3-D Secure veres=n МИР Номер карты 2200 0000 0000 0053 Дата истечения срока действия 2024/12 Проверочный код на обратной стороне 123 3-D Secure veres=y, pares=y Проверочный код 3-D Secure 12345678
! При оплате с тестовых счетов все настроенные воронки и интеграции сработают, как при обычной оплате !
Форма протестирована
Для приема оплат реальными деньгами, необходимо перевести форму в рабочий режим. То есть перевести бегунок переключения демо-режима в положение, чтобы он стал бледно-красным