For the complete documentation index, see llms.txt. This page is also available as Markdown.

Сбербанк Эквайринг

Прием платежей через Сбербанк

Как подключить Сбербанк Эквайринг

Для подключения платежей через Сбербанк нужно обратиться в поддержку сбербанка и запросить:

  1. Открытый ключ (API-токен):

Рис. 1. Токен

2. Установить вебхук и получить Callback токен для уведомлений.

Для этого нужно обратиться в службу технической поддержки Сбербанка. В качестве url адреса для callback-уведомлений указываем: HTTP-метод: GET https://chatter.salebot.pro/sberbank_callback/result и просим включить симметричную криптографию

После рассмотрения вашей заявки вам выдадут токен и секретный ключ для проверки callback-уведомлений, которые указываем в настройке формы подключения Сбербанк в проекте Salebot:

Рис. 2. Подключение Сбербанк эквайринга

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

Рис. 3.

Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum (например 150 или 100.55 (через точку!)), сразу после этого появится переменная sberbank_pay_url. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".

ПРИМЕР ссылки на оплату: https://3dsec.sberbank.ru/payment/merchants/test/payment_ru.html?mdOrder=70906e55-7114-41d6-8332-4609dc6590f4

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

Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_description, session_timeout и т.д.

payment_description – описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).

Рис. 4.

session_timeout - продолжительность жизни заказа в секундах. по умолчанию (1200 секунд = 20 минут).

expiration_date - дата и время окончания жизни заказа. Формат: дд.мм.гггг чч:мм (например: 25.01.2021 12:23) Если указан этот параметр, то session_timeout не учитывается.

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

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

Рис. 5. Пример в калькуляторе

language - Язык страницы оплаты в кодировке ISO 639-1 (например: en, ru, de). Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.

currency - Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. (643 - рубль, 840 - доллар и тд)

Рис. 6. Платежная форма

Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_description, session_timeout и т.д.

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

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

Рис. 7. Пример настройки блока "Стартовое условие"

Далее в нужном месте выведем переменную #{sberbank_pay_url}, в которой содержится ссылка.

Рис. 8. Настройки ссылки с оплатой

На примере выше видно, что для формирования ссылки на оплату необходимо нажать на "Вложения", выбрать тип вложения "Ссылка" и вставить переменную в поле для URL.

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

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

В случае неудачной оплаты, придет колбек с припиской omc79l97u4_fail

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

Также после успешной оплаты переменная sberbank_payment_completed устанавливается в True.

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

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

Как настроить Callback-уведомления

Бывает, техподдержка открывает доступ:

Последнее обновление