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

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

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

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

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

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

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

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

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

Для генерации ссылки на оплату, вам необходимо установить значение переменной 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).

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}"

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

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

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

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

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

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

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

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

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

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

Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.

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

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

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

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

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

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

Last updated