Сбербанк Эквайринг
Прием платежей через Сбербанк
Last updated
Прием платежей через Сбербанк
Last updated
Для подключения платежей через Сбербанк нужно обратиться в поддержку сбербанка и запросить:
Открытый ключ (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.
Бывает, техподдержка открывает доступ: