Salebot.pro
Search
K

Cloudpayments

Если Вам необходимо принимать международные платежи, 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

Как настроить Salebot.pro

Теперь переходим в конструктор. Два значения, о которых мы говорили выше (Public ID и Пароль для API), необходимо указать в форме ниже. Форма находится в разделе "Платежные системы"
На этом подключение закончено. Теперь давайте разберемся, как использовать данный функционал.

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

Сформировать ссылку на оплату в блоке можно ОДНИМ ИЗ из доступных способов:

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

Ссылку на оплату можно создавать в кнопке с функцией "Оплата". О том как создавать такую кнопку рассказано в этой статье:
Кнопки
Salebot.pro
Статья про кнопку с функцией Оплата
Рассмотрим все возможные параметры данной кнопки.

Обязательные параметры кнопки Оплата для Cloudpayments

Для формирования ссылки на оплату в настройках кнопки необходимо указать обязательные параметры: Сумма и Назначение платежа.
поле Сумма. В этом поле указываем стоимость товара в рублях
поле Назначение платежа. В этом поле указывается назначение платежа в свободной форме.
НЕЛЬЗЯ использовать двойные кавычки в Назначении платежа: удалите или замените на одинарные кавычки.
чекбокс Автоплатеж. Для подключения автоплатежа, он находится в настройках подключения самой платежной системы (НЕ в настройках кнопки).
меню Данные для формирования чека. При клике откроется выпадающее меню с параметрами для формирования чека:
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 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 в Калькуляторе блоке.
В поле Калькулятор переменной присвойте значение функции 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
start_date
дата и время первого или следующего платежа во временной зоне UTC.
Пример ожидаемого формата '2024-02-25T06:00:00'
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 и дополнительных параметров

Как указать сумму

Для генерации ссылки на оплату вам необходимо установить значение переменной payment_sum, сразу после этого появится переменная cloudpayments_pay_url. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".
ПРИМЕР ссылки на оплату: https://orders.cloudpayments.ru/d/PsdA6GaZmxSXB8xi

Как указать валюту

Cloudpayments принимает платежи в нескольких валютах, по умолчанию платеж создается в рублях. Для указания другой валюты вам необходимо присвоить значение переменной currency. Переменная принимает значения:
Значения, принимаемые переменной:
Что подразумевает
RUB
Российский рубль
EUR
Евро
USD
Доллар США
GBP
Фунт стерлингов
UAH
Украинская гривна
BYN
Белорусский рубль
KZT
Казахстанский тенге
AZN
Азербайджанский манат
CHF
Швейцарский франк
CZK
Чешская крона
CAD
Канадский доллар
PLN
Польский злотый
SEK
Шведская крона
TRY
Турецкая лира
CNY
Китайский юань
INR
Индийская рупия
BRL
Бразильский реал
ZAR
Южноафриканский рэнд
Например, как на скрине ниже, чтобы указать валюту гривны, можно установить эту переменную в настройках проекта.

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

Вы можете добавить описание платежа, оно будет отображаться в заголовке формы оплаты.
Описание берется из переменной payment_description
Также есть возможность указать необязательное поле - Идентификатор пользователя в вашей системе. Для этого нужно до объявления переменной payment_sum объявить переменную account_id с нужным вам значением
При включении автоплатежей поле "Идентификатор пользователя" заполняется автоматически
Другими словами, даже если ранее вы вручную задавали значение переменной account_id, при включении автоплатежей она перезапишется и будет принимать значение идентификатора пользователя в Salebot. Такое изменение переменной требуется для корректного распознавания коллбэком в автоплатежах.

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

Важно! после успешной оплаты в бот придет колбек, по которому вы сможете понять, что была успешная оплата.
Этот колбек в системе вы видите, как сообщение от пользователя, чтобы его не мог отправить пользователь, он состоит из ключа cloudpayments и приписки со статусом, например: b426739684e4e7449323344484353_success.
При успешной оплате по ссылке созданной с помощью кнопки с функцией ОПЛАТА или с помощью функции в калькуляторе, в бота АВТОМАТИЧЕСКИ придет КОЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова _success и через пробел сумма платежа. Для использования в настройках схемы достаточно его скопировать.
Например: ovg58keefc_success 44, где:
ovg58keefc : первые первые 10 символов секретного ключа платежной системы
_success : результат обработки запроса (успешный платеж)
44 : сумма платежа
Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.
Также после успешной оплаты переменная cloudpayments_payment_completed устанавливается в True.
Если же оплата была неуспешной, Вам придет колбек вида b426739684e4e7449323344484353_fail.
Для того чтобы узнать причину, обратите внимание на переменную cloudpayments_payment_status.
Она может принимать следующие значения:
Completed
Завершена
После подтверждения операции
Cancelled
Отменена
В случае отмены операции
Declined
Отклонена
В случае невозможности провести операцию (нет денег на счете карты и др.)
Тип сравнения должен быть "Полное совпадение"
Для совершения повторного платежа обязательно необходимо обнулить payment_sum, ранее сформированную ссылку и уже после переназначить переменную payment_sum для получения свежей ссылки

Пример

Для тестирования необходимо использовать карту с номером: 4111111111111111. Остальные данные не имеют значения.
Пример схемы, которая позволит протестировать быстро начать работу с Cloudpayments.
На рисунке показан пример первого блока, в котором пользователя спрашиваю сколько он хочет оплатить.
Ниже настройки стрелки, в ней должен быть включен переключатель "Пользователь вводит данные" и в поле вписана переменная payment_sum.
Ссылка на оплату содержится в переменной #{cloudpayments_pay_url}
После завершения оплаты клиенту добавится переменная cloudpayment_callback_data, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода get.

Как сформировать чек

Для формирования чека онлайн-кассы необходимо при формировании ссылки на оплату передать дополнительные параметры.
Обратите внимание: переменной payment_sum присваивается значение после других параметров.
Обязательные параметры:
! products_for_receipt - это массив с перечисленными товарами чека, следующего вида:
[{"description": "Название товара", "quantity": "Количество товара", "price": "Цена за единицу товара", "amount": "стоимость товара, произведение quantity и price", "vat_code": "ставка НДС"},
{"description": "Название товара 2", "quantity": "Количество товара 2", "price": "Цена за единицу товара 2", "amount": "стоимость товара, произведение quantity и price"}]
Каждый товар разделен запятой и имеет вид: {"description": "Название товара", "quantity": "Количество товара", "amount": "Цена за единицу товара", "vat_code": "ставка НДС"}
где:
Значение
Описание
Примечание
description
название товара (не более 128 символов)
quantity
количество товара, может быть целое число, либо дробное через точку (например: 1 или 5 или 2.0 или 3.5)
price
цена за единицу товара
amount
стоимость товара, произведение quantity и price
vat_code
ставка НДС (не указываем, если товар без НДС)
vat_code не нужно передавать, если товар не облагается НДС (в примере выше первый товар с 0% НДС, второй без НДС), если же облагается, тогда передаем следующие значения:
"1" - Без НДС;
"2" - НДС 0%; "3" - НДС 10%; "4" - НДС 20%; "5" - Расчетный НДС 10/110; "6" - Расчетный НДС 20/120; "7" - НДС 12% (только для онлайн-касс в Казахстане).
Также необходимо указать, контактные данные клиента, как минимум: электронную почту или номер телефона:
email - E-mail покупателя для отправки чека phone - телефон покупателя в формате без скобок и дефисов для отправки ссылки на чек
Необязательные параметры: full_name - для юрлица — название организации, для ИП и физического лица — ФИО cloudpayments_method - признак способа расчета(например, предоплата). Число от 0 до 7.Список значений можно посмотреть тут cloudpayments_object - признак предмета расчета(например, товар/услуга). Число от 0 до 34. Список значений можно посмотреть тут cloudpayments_inn - ИНН организации, необходим для корректного формирования чека cloudpayments_taxation_system - система налогообложения, число от 0 до 5, где 0-Общая система налогообложения 1-Упрощенная система налогообложения (Доход) 2-Упрощенная система налогообложения (Доход минус Расход) 3-Единый налог на вмененный доход 4-Единый сельскохозяйственный налог 5-Патентная система налогообложения Если не указать, поставит первую систему, указанную при фискализации. cloudpayments_calculation_place - Место осуществления расчёта, например, адрес сайта
Пример данных для чека:
products_for_receipt = [{"description": "Название товара", "quantity": "2", "price": "25", "amount": "50", "vat_code": "0"}, {"description": "Название товара 2", "quantity": "3", "price": "50", "amount": "150"}] phone = 79000000000 email = [email protected] full_name = Иванов Иван Иванович
После определения переменных платежа, определяем переменную payment_sum, после которой сразу появится ссылка на оплату в переменной cloudpayments_pay_url.
Внимание! Общая стоимость всех товаров должна быть равной переменной payment_sum.
После оплаты на указанную почту клиенту придет чек об оплате, если был передан номер телефона, то на него придет сообщение с ссылкой на чек.

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

Для создания платежа с подпиской, достаточно в настройках платежной системы в salebot включить эту возможность:
Теперь при переходе по ссылке на оплату покупателю выводится информация, что после проведение платежа создастся подписка.
Обратите внимание: Автоплатеж автоматически создается с периодом списания равным один месяц.
Вы можете задать период списания равный одной неделе, для этого перед первым (установочным) платежом дополнительно нужно задать переменную cloudpayments_subscription_period - со значением week

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

Как обработать результат платежей по подписки

Результат и статус платежа по подписке можно отследить по переменным сделки:
cloudpayments_payment_completed
общий индикатор успешного/неуспешного платежа, принимает значения True/False;
cloudpayments_subscription_payment
индикатор успешного/неуспешного платежа по подписке, принимает значения True/False;
cloudpayments_payment_status
статус платежа в системе Cloudpayments, принимает значения из таблицы ниже:
В случае успешного платежа в переменную subscription_payment_sum записывается его сумма, например 200.0
По каждому запросу на списание в бота придет коллбэк. Он выглядит так же, как при обычном платеже. Его описание есть выше в главе "Обработка результата".

Как получить id подписки

При попытке совершить установочной платеж Salebot получит колбек, содержащий id подписки и запишет этот id в переменную клиента cloudpayments_subscription_id.
Данная переменная используется в запросах функциях изменения и отмены подписки.
При создании и попытке оплаты новой подписки переменная перезапишется.

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

Статус подписки клиента записывается в переменную сделки cloudpayments_subscription_status. Она принимает значения “Active” или “Inactive”.
Выбор значения зависит от двух факторов:
  • статуса последнего совершенного платежа по подписке, то есть если платеж был успешным (“Completed”), переменная примет значение “Active”, а в противном случае - “Inactive”;
  • информации, которая приходит в ответ на запросы изменения или отмены подписки. Например, если вы отменили подписку, в Salebot придёт колбек c обновленными данными подписки и статусом “Cancelled”. Salebot распознает изменение статуса и перезапишет переменную.
Обратите внимание, что любой запрос на изменение подписки, которая была ранее отменена в системе Cloudpayments, вновь активирует подписку, а платежи по данной подписке будут взиматься в установленном при создании порядке. Чтобы избежать нежелательных платежей по подписке, при отмене, не связанной с результатом рекуррентного списания, рекомендуется обнулить переменную cloudpayments_subscription_id.

Как изменить существующую подписку

Если после создания вам нужно изменить подписки, используйте функцию cloudpayments_update_subscription.
Функция принимает набор параметров, однако ни один из них не является обязательным, поэтому, если вы хотите сохранить прежнюю информацию относительно одного из параметров, то просто передайте в него пустую строку - ‘’.
Важно соблюдать передачу параметров в порядке, указанном ниже:
amount -> description -> subscription_interval -> subscription_period -> new_receipt_products
Параметры:
amount
значение суммы платежа по подписке, ожидаемый формат - целое или число с двумя знаками после точки;
description
описание назначения платежа по подписке, ожидаемый формат - строка;
subscription_interval
интервал списания оплаты, возможные значения: Day, Week, Month
subscription_period
частота списания оплаты по заданному интервалу. Например, если указать, subscription_interval = ‘Month’ и subscription_period = 3, списания будут производиться раз в 3 месяца.
products_for_receipt
параметры для формирования чека. Формат ожидаемого значения подробно описан в разделе “Как сформировать чек
Для блоков, созданных ранее 16.01.2024:
Параметры для изменения интервала, частоты списания и содержимого чеков, также можно задать в блоке с помощью переменных перед вызовом функции.
Обратите внимание, что названия параметров отличаются от тех, которые передаются напрямую в функцию!
Если вы ранее задавали нижеуказанные переменные и вызываете функцию с пустыми значениями в параметрах subscription_interval, subscription_period и products_for_receipt, функция будет брать значения переменных и учитывать их при формировании запроса. Чтобы избежать нежелательных изменений в подписке, обнулите переменные, присвоив им пустую строку - ''.
products_for_subscription_receipt
параметры для формирования чека. Формат ожидаемого значения подробно описан в разделе “Как сформировать чек
Если вам не нужно менять содержимое чека, пропустите этот параметр или передайте в него пустую строку ‘’.
cloudpayments_subscription_interval
интервал списания оплаты, возможные значения: Day, Week, Month;
cloudpayments_subscription_period
частота списания оплаты по заданному интервалу. Например, если указать, subscription_interval = ‘Month’ и subscription_period = 3, списания будут производиться раз в 3 месяца.;
Обратите внимание, что изменение интервала и периода подписки не будет работать, если Вы ранее не создавали платеж по подписке, т.к. функция обновляет уже существующую подписку, а не создает новую.
Также стоит обратить внимание, что первый платеж по подписке Cloudpayments всегда создается на интервал раз в месяц или раз в неделю, поэтому первичное уведомление о платеже будет содержать вот такую приписку в платежной форме:
Для того, чтобы узнать, прошло ли изменение параметров подписки, следует найти описание переменной с функцией cloudpayments_update_subscription в переменных клиента. В приведенном примере в переменной response записан ответ функции, среди параметров ответа можно увидеть новые период и интервал подписки.
Пример ниже показывает использование нового описания подписки.
Например, изменим данные подписки на следующие: products_for_subscription_receipt = [{"description": "Название товара", "quantity": "1", "price": "10", "amount": "10", "vat_code": "0"}, {"description": "Название товара 2", "quantity": "3", "price": "30", "amount": "90"}] response = cloudpayments_update_subscription(100, "Новая подписка") products_for_subscription_receipt - необязательная переменная, данные для чека (описание ниже)

Совершение обычного платежа при включенных подписках

Если Вам нужно, при включенных автоплатежах провести оплату без подписки, то до указания переменной payment_sum, нужно добавить переменную cloudpayments_manual_recurrent_disable и присвоить ей значение 1.
Таким образом, ссылка на оплату сформируется без подписки.
Важно! Не забывайте каждый раз обнулять переменную, после получения ссылки

Как получить чеки для платежей по подписке

Если при первом платеже с включенными автоплатежами были переданы данные для чека, то создастся подписка уже с данными для чека. На каждый автоплатеж будет приходить чек на указанный email или номер телефона.
Если вы решили изменить сумму платежа по подписке, у вас подключена онлайн касса и после списания нужно отправлять чек, тогда до вызова функции cloudpayments_update_subscription() нужно создать переменную products_for_subscription_receipt, которая будет содержать новые данные для чека. Если их не передать, списания будут происходить без чека.
products_for_subscription_receipt заполняется таким же образом, как и переменная products_for_receipt описанная выше в главе "Формирование чеков"

Как получить информацию о подписке

Информацию о подписке клиента можно получить с помощью функции cloudpayments_subscription_info.
Функция не принимает параметров и вернёт данные подписки с id из переменной клиента cloudpayments_subscription_id.
Пример возвращаемых данных:

Как отменить подписку

Чтобы отменить подписку, достаточно вызвать функцию cloudpayments_remove_subscription()

Как вывести данные о сделке

В cloudpayments доступна функция вывода полных данных о сделке.Для этого в окне подключения платежки необходимо включить “сохранять данные колбека". После этого, при совершении платежей пользователями, в информацию о сделке в переменную cloudpayment_callback_data будет приходить список, включающий в себя данные о совершенном действии. Из этого списка можно извлечь нужную вам информацию, такую как статус сделки, сумма, валюта, имя, почта и другое. Для этого воспользуйтесь встроенной функцией get()
На заметку! Статус платежа так же записывается в переменную cloudpayments_payment_status.

Оплата по токену (рекарринг)

Рекарринг — это услуга, которая позволяет клиентам проводить повторную оплату банковскими картами на сайте в один клик, не тратя время на ввод данных.
Этот вид платежа инициирует покупатель, когда оформляет онлайн-покупку впервые.
Если вы хотите подключить данный сервис, вам необходимо связаться с персональным менеджером Cloudpayments.
После подключения сервиса и оплаты по ссылке в ваших переменных появится платежный токен cloudpayments_payment_token, с помощью которого вы можете совершить рекарринговый платеж без ввода данных карты.
Чтобы произвести безакцептное списание, задайте переменную token_payment_sum (сумма платежа по токену) и воспользуйтесь функцией калькулятора cloudpayments_payment_token, передав в неё необходимые параметры в заданном порядке:
token -> initiator -> scheduled -> customer_phone

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

token (обязательный)
токен первого платежа, ожидаемый формат - строка
например “tk_279a375c41672bd74fdafe625d56y”
initiator (необязательный)
признак инициатора списания денежных средств.
Возможные значение:
0 (ноль, по умолчанию) - транзакция инициирована ТСП на основе ранее сохраненных учетных данных;
1 (единица) - транзакция инициирована держателем карты (клиентом) на основе ранее сохраненных учетных данных.
scheduled (необязательный)
признак оплаты по расписанию на основе ранее сохраненных учетных данных.
Возможные значение:
0 (ноль, по умолчанию) - без расписания;
1 (единица) - по расписанию.
customer_phone (условно обязательный)
номер телефона плательщика в формате “89991234567” или “+79991234567”
Не заполняйте данный параметр, если совершаете платеж с использованием узбекистанского провайдера.
В запросах к российскому провайдеру Cloudpayments обязательна передача номера телефона плательщика, если вы являетесь ТСП, предоставляющей телекоммуникационные услуги (MCC 4814 Telecommunication Services).
В случае отсутствия номера телефона в запросе, банки-эквайеры будут отклонять проводимые операции.
В случае успешного платежа, вы получите привычный колбек об оплате.
Также в переменные добавится ответ от системы: