Cloudpayments
Если Вам необходимо принимать международные платежи, Cloudpayments вам в этом поможет.
Для подключения CloudPayments Вам понадобятся Public ID и Пароль для API.
Эти данные можно получить в личном кабинете. В разделе Сайты, нажимаем на значок шестеренки нужного сайта и попадаем в его настройки.
Справа вверху находятся нужные данные (Public ID и Пароль для API), они понадобятся ниже, для настройки оплаты в конструкторе.
Для того, чтобы бот получал уведомления об оплате, также необходимо установить callback_url.
Немного ниже в строке Pay и Recurrent (ВАЖНО именно Payи Recurrent ), включить переключатель и установить (строка обведена красным прямоугольником на скриншоте выше):
Адрес: https://chatter.salebot.pro/cloudpayments_callback/result
Кодировка: UTF-8
HTTP метод: POST
Форма запроса: CloudPayments
Теперь переходим в конструктор. Два значения, о которых мы говорили выше (Public ID и Пароль для API) необходимо указать в форме ниже. Форма находится в разделе "Платежные системы"


На этом подключение закончено. Теперь давайте разберемся как использовать данный функционал.
Сформировать ссылку на оплату в блоке можно ОДНИМ ИЗ из доступных способов:
Ссылку на оплату можно создавать в кнопке с функцией "Оплата". О том как создавать такую кнопку рассказано в этой статье:

Кнопки
Salebot.pro
Статья про кнопку с функцией Оплата
Рассмотрим все возможные параметры данной кнопки.
Для формирования ссылки на оплату в настройках кнопки необходимо указать обязательные параметры: Сумма и Назначение платежа.

поле Сумма. В этом поле указываем стоимость товара в рублях
поле Назначение платежа. В этом поле указывается назначение платежа в свободной форме.
НЕЛЬЗЯ использовать двойные кавычки в Назначении платежа: удалите или замените на одинарные кавычки.
чекбокс Автоплатеж. Для подключения автоплатежа
меню Данные для формирования чека. При клике откроется выпадающее меню с параметрами для формирования чека:
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ.
Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.
- Наименование товара или услуги
- Цена руб.
- Количество
- Итоговая цена
- Ставка НДС
- Способ расчёта
- Система налогообложения
меню Дополнительная информация. При клике откроется выпадающее меню для формирования ссылки:
- ФИО покупателя
- Переменная с email покупателя
- Переменная с номером телефона покупателя
чекбокс С уведомление о клике. Для отслеживания перехода по ссылке для оплаты можно поставить галочку. В таком случае, при клике по кнопке в диалог с клиентом в Сейлбот придет уведомление о том, что был совершен переход по ссылке
На данное уведомление можно настраивать дальнейшую логику работы бота.
При клике откроется выпадающее меню с параметрами для формирования чека:

поле Наименование товара или услуги (обязательный). В данном поле нужно указать название товара (не более 128 символов). Чем точнее указано название товара, тем лучше. Например: не Телефон, а Смартфон Xiaomi модель ххх
НЕЛЬЗЯ использовать двойные кавычки в Наименовании товара: удалите или замените на одинарные кавычки.
поле Цена руб. (обязательный) . В данном поле указывается цена в руб за единицу товара.
поле Количество (обязательный). Количество или вес товара. Передать можно целое или дробное число через точку. Пример, 5 или 10.3
поле Итоговая цена (обязательный). В данном поле необход имо указать сумму к оплате с учетом количества товаров.
поле Ставка НДС (обязательный). Не нужно передавать, если товар не облагается НДС!
Если же облагается, тогда передаем следующие значения:
0 НДС 0%
10 НДС 10%
20 НДС 20%
110 Расчетный НДС 10/110
120 Расчетный НДС 20/120
12 НДС 12% (только для онлайн-касс в Казахстане)
поле Способ расчёта. В этом поле передаем признак способа расчета(например, предоплата).
Число от 0 до 7. Список значений можно посмотреть тут
поле Предмет расчёта. В этом поле передаем признак предмета расчета(например, товар/услуга).
Число от 0 до 34. Список значений можно посмотреть тут
поле Система налогообложения (необязательный, если у вас одна система налогообложения )

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

поле ФИО покупателя. В этом поле указываем для юрлица — название организации, для ИП и физического лица — ФИО
Если в названии юрлица есть кавычки их можно пропустить.
Поле Переменная с email покупателя (необязательный, если передан Номер телефона) В данном поле указывается Email пользователя (клиента). Можно указывать переменную, в которой хранится email пользователя.
Например, #{email}
Поле Переменная с номером телефона покупателя (необязательный, если передан Email). В данном поле можно указать переменную, в которой записан номер телефона покупателя в формате 79000000000
Например, #{phone}
Как только пользователь получит блок с кнопкой "Оплата" автоматически будут созданы переменные клиента:
Служебная переменная клиента
__payments
, которая хранит сумму, идентификатор созданной ссылки, нужна для идентификации хука от платежной системы.Служебную переменную клиента __payments НЕЛЬЗЯ удалять или изменять!
Переменная клиента
error_payment_button
создается, если при формировании кнопки возникла ошибка.В значение переменной error_payment_button запишется либо текст ошибки, либо ответ платежной системы с ошибкой.
Значение переменных становятся актуальными при переходе в следующий блок
Успешный платеж.
После успешной оплаты в бота АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _success и через пробел сумма платежа.
Для использования в настройках схемы достаточно его скопировать.
Например:
ovg58keefc_success 44
, где: ovg58keefc : первые первые 10 символов секретного ключа платежной системы
_success : результат обработки запроса (успешный платеж)
44 : сумма платежа
Колбеки (уведомления) от платежной системы пользователь НЕ ВИДИТ. Они отображаются только во вкладке Клиенты и видны оператору.
Пример использования:
Шаг 1. В блоке "с кнопкой Оплата" добавляем кнопки с функцией Оплата.
Шаг 2. В поле Условие соединения от этого блока к блоку "Успешная оплата" указываем колбэк. Аналогично работает, если указать колбэк об успешной оплате в поле Условие блока Первостепенной проверки условия.
Важно: выбор соответствия Полное совпадение или По наличию ключевых слов Если используете По наличию ключевых слов в поле Условие указывайте часть колбэка без суммы платежа: 10 символов секретного ключа__success

Колбэк об успешной оплате в поле Условие соединения(стрелки)

Колбэк об успешной оплате в поле Условие блока.
Платеж с ошибкой
При ошибке проведения оплаты в бота АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _fail и через пробел сумма платежа
Например,
ovg58keefc_fail 44
, гдеovg58keefc
: 10 символов секретного ключа платежн ой системы_fail
: результат обработки запроса - платеж не выполнен или с ошибкой. 44
: сумма платежаЗависит от платежной системы. Не все платежные системы присылают колбэк об ошибке платежа.
Если сумма указанная в настройках кнопки отличается от суммы, которую клиент оплатил, то АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _different_amounts и через пробел уникальный ID платежа
Например:
ovg58keefc_different_amounts 123456
, где: ovg58keefc
: 10 символов секретного ключа платежной системы_different_amounts
: результат обработки запроса (сумма оплаты отличается от суммы в ссылке)123456
: уникальный ID платежаДля формирования ссылки на оплату можно воспользоваться функцией
get_cloudpayments_payment_url
в Калькуляторе блоке.В поле Калькулятор переменной присвоим значение функции
get_cloudpayments_payment_url
Название переменной задаете самостоятельно. На скринах примеры названия переменных.
В эту переменную запишется ссылка на оплату. Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом "Опл атить". Ссылка имеет вид:
ПРИМЕР ссылки на оплату:
https://orders.cloudpayments.ru/d/PsdA6GaZmxSXB8xi
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ.
Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.
Калькулятор
Описание параметров
Пример кода для копирования
Пример 1: ссылка на оплату без чека

Пример формирования ссылки: переданы только обязательные параметры
Пример 2: ссылка на оплату с чеком

Пример формирования ссылки: переданы все параметры
link = get_cloudpayments_payment_url(amount, description, products_for_receipt, customer_phone, customer_email, full_name, taxation, recurrent, subscription_period, currency, extra_params)
Параметр | Описание параметра |
---|---|
amount | Сумма к оплате. В этом поле указываем стоимость товара в рублях (обязательный параметр) |
description | Описание заказа. В этом п оле можно использовать только символы английского или русского алфавита, цифры и знаки препинания. Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение None |
products_for_ receipt | Параметры для формирования чеков. Чтобы пропустить данный параметр передайте вместо него пару одинарных / пару двойных кавычек или значение None
Имеет следующий вид: [{"name":"ТОВАР1","amount":"1200","vat_code":"5","method":"FullPay","object":"Commodity"}] Важно! Используйте двойные кавычки для формирования словаря {"ключ": "значение"} name - Наименование товара amount - Полная сумма в рублях за все количество данного товара с утом всех возможных скидок, бонусов и специальных цен. vat_code - cтавка НДС. Этот параметр устанавливает налоговую ставку в ККТ. Возможные значения данного параметра: '1' - Без НДС '2' - НДС по ставке 0% '3' - НДС по ставке 10% '4' - НДС чека по ставке 20% '5' - НДС чека по расчетной ставке 10/110 '6' - НДС чека по расчетной ставке 20/120 '7' - НДС 12% (только для онлайн-касс в Казахстане) method - дополнительный параметр для формирования чека. Признак способа расчёта. Пример значения параметра: FullPay — полный расчет
Остальные доступные варианты можно найти в документации Cloudpayments : https://developers.cloudkassir.ru/#method
object - дополнительный параметр для формирования чека. Предмет расчета может принимать разные значения. Например, commodity — товар Остальные доступные варианты можно найти в документации Cloudpayments : https://developers.cloudkassir.ru/#object |
customer_phone | номер телефона покупателя, не обязательно, если передан параметр customer_email Чтобы пропустить данный параметр, передайте вместо него одинарные или двойные кавычки |
customer_email | емейл покупателя, не обязательно, если передан параметр customer_phone Чтобы пропуст ить данный параметр, передайте вместо него одинарные или двойные кавычки. |
full_name | название/ФИО
В данном параметре передаем для юрлица — название организации, для ИП и физического лица — ФИО Чтобы пропустить данный параметр, передайте вместо него пару одинарных/ пару двойных кавычек или значение None. |
taxation | Система налогообложения.
Возможные значения данного параметра:
'1' - Общая система налогообложения '2' - Упрощенная (УСН, доходы) '3' - Упрощенная (УСН, доходы минус расходы) '4' - Единый налог на вмененный доход (ЕНВД) '5' - Единый сельскохозяйственный налог (ЕСН) '6' - Патентная система налогообложения
Чтобы пропустить данный параметр передайте вместо него пару одинарных или двойных кавычек или значение None |
recurrent | Подключение автоплатежа. Если автоплатеж включен, то передать значение 1, если отключен передайте значение None. |
subscription_ period | Период автоплатежа. По умолчанию, период автоплатежа - месяц.
Доступно всего 2 вариант: месяц и неделя. Если передать 'week' - период повторного списания будет неделя.
Чтобы установить период платежа месяц нужно пропустить параметр, то есть либо передать значение None, либо "" (двойные кавычки) |
currency | Валюта платежа. По умолчанию платеж создается в рублях. Для указания другой валюты необходимо передать значение. Например, 'EUR'
Российский рубль RUB
Евро EUR
Доллар США USD
Фунт стерлингов GBP
Украинская гривна UAH
Белорусский рубль BYN
Казахский тенге KZT
Азербайджанский манат AZN
Швейцарский франк CHF
Чешская крона CZK
Канадский доллар CAD
Польский злотый PLN
Шведская крона SEK
Турецкая лира TRY
Китайский юань CNY
Индийская рупия INR
Бразильский реал BRL
Южноафриканский рэнд ZAR Чтобы пропустить данный параметр, передайте вместо него пару одинарных/ пару двойных кавычек или значение None. |
extra_params | дополнительные параметры, которых нет в данной функции.
Возможные дополнительные параметры можно посмотреть по ссылке в документации работы с API платежной системы https://developers.cloudpayments.ru/#sozdanie-scheta-dlya-otpravki-po-pochte
Пример: extra_params = {"OfferUri": "https://cloudpayments.ru/online-education"}
Чтобы пропустить данный параметр, передайте вместо него пару одинарных или пару двойных кавычек или значение None. |
| |
Пример 1: ссылка на оплату без чека
link_cloudpayments = get_cloudpayments_payment_url(1200, 'Купи меня')
Пример 2: ссылка для формирования автоплатежа с чеком, интервал списания -неделя
extra_params = {"OfferUri": "https://cloudpayments.ru/online-education"}
receipt = [{"name":"ТОВАР1","price":"1200","quantity":"1","amount":"1200","vat_code":"5","method":"FullPrepayment","object":"Commodity"}]
link_cloudpayments = get_cloudpayments_payment_url(1200, 'Купи меня', receipt, '77777777777', '[email protected]', 'Vasya Pupkin', '0', '1', 'week', 'RUB', extra_params)
Если вам не нужны все параметры функции, то можно не передавать последние пропущенные значения.
Пример 3: ссылка на оплату без автоплатежей, пропущены последние 4 параметра функции
link_cloudpayments = get_cloudpayments_payment_url(1200, 'Купи меня', receipt, '77777777777', '[email protected]', 'Vasya Pupkin', '0')
Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Купить".
Если в блоке несколько функций для получения ссылки и допущена ошибка, то значение ошибки будет записано в переменной
error_payment_func
Ошибка запишется по последней функции в Калькуляторе
Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum, сразу после этого появится переменная cloudpayments_pay_url.