Как подключить платежный шлюз на примере Сбера
Уровень сложности
Средний
Время на прочтение
12 мин
Количество просмотров 8.3K
Привет, меня зовут Евгений Думчев, я разработчик в DD Planet. Сегодня хочу поделиться опытом подключения платежного шлюза Сбера, чем мы занимались в рамках одного из проектов. Кажется, это будет полезная история, ведь в нынешние непростые времена многие из нас задумываются о том, чтобы открыть свой «маленький свечной заводик» – какой-нибудь небольшой бизнес на черный день. Тортики там печь, платы паять, в общем, что-нибудь, что бы обеспечило дополнительный доход. Раньше для коммерции подобных сайд-проектов не требовалось ничего, кроме условного Пейпала (к тому же он расширял географию продаж). А теперь волей-неволей приходится задумываться об отечественных решениях для проведения оплат.
Платежный шлюз – как раз такое решение. И оно на самом деле очень простое, любой посетитель Хабра, скорее всего, сможет его развернуть, достаточно хотя бы примерно представлять устройство REST API. В этой статье я расскажу, как подключить и настроить шлюз от Сбера – но в принципе эта инструкция пригодится со шлюзом от любого банка.
Терминология
Для начала разберемся с, возможно, непонятными словами, которые стоит знать, собираясь подключать платежный шлюз.
Эквайринг – сервис, позволяющий принимать оплату за товары и услуги с банковских карт с помощью платежных терминалов.
Интернет-эквайринг – то же, но через платежные шлюзы в интернете (сайты, социальные сети, мессенджеры). В отличие от не совсем легальной схемы «переведите мне на карту», которой часто пользуются совсем маленькие предприниматели, здесь все делается вбелую.
Банк-эквайер – банк, реализующий и эксплуатирующий платежный шлюз. Он не всегда очевиден, если шлюз предоставляет третья сторона.
Банк-эмитент – банк, выпустивший карту клиента.
Мерчант – магазин, обладающий доступом к платежному шлюзу и его админке. Для банка это учетная запись конкретного торгово-сервисного предприятия.
Как работает платежный шлюз? С точки зрения пользователя – просто. Набрал корзину, нажал «купить», перешел на сайт, ввел данные карты и CVC и нажал кнопку «оплатить». Для банка цепочка чуть длиннее – после «оплатить» банк делает запрос в платежную систему (сейчас в РФ – в национальную НСПК), эта платежная система делает запрос к банку-эмитенту, тот сообщает, может ли пользователь оплатить и проводит обычную транзакцию. Дальше ответ идет в платежную систему, затем в платежный шлюз, и оттуда уже получает ответ страница магазина.
С чего начать подключение платежного шлюза? Для начала стоит изучить, какие вообще существуют интернет-эквайринги, их условия и способы подключения. Обычно эта информация есть на сайте банка-эквайера. Затем выбрать и подписать соглашение, есть разные способы это сделать, конкретно у Сбера удобнее всего использовать сервис «Сбер бизнес», там все понятно и есть персональный консультант.
Требования к сайту мерчанта
Интернет-магазин должен осуществлять деятельность в соответствии с законодательством РФ. Есть определенные запрещенные виды деятельности и товаров: порнография, подделки, любой алкоголь, редкие экзотические животные, казино и т.д. Не стоит пытаться сделать ширму – сайт вроде как продает тортики, а на самом деле к тортикам прикладывается алкоголь, потому что это неизбежно вскроется. Также не должно быть ссылок и баннеров на подозрительные сайты.
Перечень товаров и услуг должен соответствовать роду деятельности, сообщенному в банк. При подключении вы описываете, что будете продавать, и именно это должно присутствовать на витрине магазина.
Сайт не должен располагаться на бесплатных серверах, потому что это небезопасно. Как правило, требуется доступ по https; в реальности это требование иногда можно обойти, но надо договариваться с платежным шлюзом – разрешение дают не всегда. Для тестовой среды достаточно http.
Есть отдельный список обязательной к размещению информации. Например, рядом с кнопкой «оплатить» должны быть разъяснены все основные моменты, связанные с покупкой:
-
Сведения о местонахождении организации, адрес для корреспонденции, ИНН, контактные номера телефонов и email, по которым покупатель сможет связаться с мерчантом.
-
Сведения о процедуре покупки, способах оплаты, вариантах доставки, условиях возврата и обмена товара или услуги.
-
Информация о том, что делать, если возникли проблемы с оплатой
-
Сведения об обработке персональных данных при оплате.
Для соответствия федеральному закону 54 «Об обязательном применении онлайн-касс для интернет-магазинов» у мерчанта должен быть заключен договор с оператором фискальных данных (ОФД), который их хранит, обрабатывает, передает их в налоговую и формирует чек. Если такого нет, то можно подключить один из тех, с которыми уже есть интеграция у Сбера – АТОЛ, КОМТЕТ Касса, OFD.ru, Цифровая касса и пр. Нюансы разных ОФД лучше изучить заранее. Запрос в ОФД идет после того, как клиент произвел оплату – либо это делает шлюз, если использовать ОФД от Сбера, либо это должен делать сам магазин, если у него подключен свой.
Все эти требования проверяются при подключении шлюза к продакшн-среде. Когда вы готовы выйти в свет, представитель банка-эквайера зайдет на тестовый сайт и либо попросит что-то исправить, либо подключит продакшн.
Как будем интегрироваться?
Возможные способы интеграции по возрастанию уровня автоматизации:
-
выставление счета через ЛК Сбера. Можно обойтись без собственного сайта, просто заходим, получаем ссылку и отправляем ее клиенту. Если у нас продаж три-четыре в день, это нормально.
-
платежная кнопка, она есть у Сбера. По сути это скрипт с токеном, минус такого подхода – ловкий вредитель может подправить скрипт в браузере и поменять, например, сумму платежа. Это небезопасная история, ее лучше не использовать.
-
готовый плагин для CMS. У Сбера есть из коробки возможность подключить такой способ оплаты. Не самый продвинутый, но работает.
-
API. Можно использовать WSDL (SOAP) или REST, нам кажется удобнее REST, потому что он проще и гибче, плюс данные передаются в JSON, а не в XML.
API Сбера
Итак, мы подключились и готовы отправлять запросы к шлюзу. Для начала надо знать, что существует три вида платежей:
-
одностадийный, когда клиент заходит на страницу оплаты, вводит данные карты, и деньги моментально списываются;
-
с предавторизацией, т.н. «холдирование» средств: клиент вводит данные на странице оплаты, но деньги не списываются, а замораживаются, и для списания позже надо сделать отдельный запрос. Это делается, например, в сервисах проката: привязывается карта, на ней замораживается какая-то сумма, а когда услуга завершается, списывается столько, сколько было реально использовано. Преимущество холдирования – быстрый возврат средств на карту. С одностадийным платежом возврат средств, если день закончился, занимает до месяца. Кроме того, при возврате банк оставляет себе комиссию, поэтому их лучше минимизировать;
-
автоплатежи, как правило, какие-то подписки. Мы создаем один заказ на оплату, пользователь знакомится с условиями подписки и разово ее подтверждает. Больше ему ничего делать не нужно, а мы должны будем хранить связку («биндинг») и дальше делать регистрацию заказа через нее.
Итак, главный запрос API – Регистрация заказа на оплату или Регистрация заказа с предавторизацией: мы отправляем API некий набор данных (см. ниже), шлюз в ответ присылает id заказа и ссылку на оплату.
Из остальных запросов стоит отметить:
-
Завершение оплаты заказа, нужен для оплат с предавторизацией;
-
Отмена оплаты, тоже работает с холдированными оплатами;
-
Возврат средств – используется, когда было проведено фактическое списание (возвращать, кстати, можно неполную сумму);
-
Возврат средств по устаревшему заказу сроком более 2 лет;
-
Статус заказа – по этому запросу можем понять, что произошло у пользователя, ведь после регистрации заказа на оплату он ушел на страницу шлюза и мы не знаем, что там происходит. Провел ли он оплату?
-
Проверка наличия у карты 3DS (если ее нет, то по идее можно проводить оплату даже не заходя на шлюз);
-
Отмена неоплаченного заказа – иногда может оказаться полезным. Заказ на оплату живет определенное количество времени (это можно указать, например, 30 минут). Но в некоторых бизнесах надо иметь возможность отменить заказ преждевременно, например, если сумма изменилась в течение этих 30 минут;
-
Сведения о кассовом чеке – стоит учесть, что чек доступен не сразу, надо периодически повторять запрос;
-
Запросы активации, деактивации и прочие действия с привязанными картами.
Параметры регистрации заказа на оплату
По умолчанию API ждет в теле запроса поля userName
, password
, orderNumber
, amount
и returnUrl
. Первые два – логин и пароль мерчанта. Номер заказа создается и хранится в бэкенде магазина, как его создавать, мы решаем сами, но он всегда должен быть уникальный. Сумма платежа в минимальных единицах валюты (копейки, центы и т.д.). returnUrl – куда вернуть клиента со страницы шлюза. В урле можно передать сколько угодно параметров, чтобы вернуться на полезную страницу, например, с обновленным балансом лицевого счета или информацией о заказе.
Опциональные поля надо подключать через службу поддержки, написав соответствующий запрос. В Сбере это единственный способ – никаких галочек в ЛК нет. К опциональным полям относятся:
-
currency
– валюта платежа; -
failUrl
– если у нас есть страница про неуспешную оплату, ее можно засунуть сюда; -
description
– описание заказа в свободной форме; -
clientId
– id клиента в базе магазина; -
jsonParams
– дополнительные параметры. Мы их используем в ситуации, когда надо проводить оплаты на разные расчетные счета, и чтобы их разнести и в дальнейшем понимать, что было оплачено и какой формировать чек, вставляем в это поле уникальные идентификаторы; -
sessionTimeoutSecs
– срок жизни сессии оплаты. По идее, у всех шлюзов есть значения по умолчанию, но лучше всегда передавать это значение самостоятельно, чтобы точно знать, что сессия не зависнет навсегда; -
bindingId
– уникальный идентификатор связки постоянного пользователя с картой; -
features
– булевые параметры из определенного набора готовых значений, например, провести оплату без перехода на страницу оплаты (AUTO_PAYMENT
) -
email
,phone
– лучше тоже подключить и передавать, потому что после проведения оплаты Сбер умеет направлять уведомление на электронную почту клиента.
В ответе шлюз возвращает строку orderId
и ссылку на страницу оплаты formUrl
.
Архитектура клиент-серверного взаимодействия
В качестве примера архитектуры возьмем один из наших проектов. Он чуть сложнее, чем базовый магазин: здесь платежи зачисляются нескольким мерчантам, представленным небольшим фиксированным списком. Для каждого мерчанта был написан свой микросервис со своей базой, и для общения со шлюзом используется отдельный сервис SberAPI.
Итак, клиент (веб-страница или мобильное приложение) делает запрос на бэкенд, в какой-то из микросервисов. У каждого из них есть своя база, он заполняет параметры для регистрации заказа и дальше делает запрос на SberAPI, который также хранит данные по оплате и созданным заказам. Получив запрос, SberAPI обогащает его дополнительными параметрами (юзернейм и пароль нашего мерчанта, у которого есть учетная запись в банке), сохраняет заказ и делает запрос в Сбер.
Сбер возвращает id заказа и ссылку, это тоже сохраняется, после чего передается в микросервис, который может что-то с информацией сделать и затем вернет все в клиентское приложение, где уже откроется полученная ссылка на оплату.
Дальше надо как-то сообщить клиенту, успешно он оплатил или нет. Узнать это можно двумя способами: отправив запрос или же получив запрос от самого шлюза через опцию «Обратный вызов» (Callback, о нем ниже). Для ошибок у Сбера есть целая страница с кодами, рекомендованным и фактическим текстом ошибки. Рекомендованный надо показать пользователю, а фактический может содержать специфическую информацию типа «банковская карта замечена в мошеннических операциях».
Помимо того, что выдается в клиентском интерфейсе, надо сохранить информацию о результате проведения операции в бэкенд (в нашем случае – и в базу микросервиса, и в базу SberAPI). Такое дублирование мы сделали, потому что микросервис должен уметь быстро показывать историю операций клиенту, а сервис шлюза хранит ее на случай возможных ошибок, требующих обращения в службу поддержки Сбера.
Обратный вызов
Уведомление обратного вызова, оно же callback-уведомление, подключается через службу поддержки. Такие уведомления бывают двух типов: без контрольной суммы (не рекомендуется, потому что любой пользователь, зная url нашего сервиса, может делать туда запросы) и с контрольной суммой (симметричная или асимметричная криптография). Сбер предлагает примеры криптоалгоритмов на php и Java, они вполне понятные, их нетрудно переписать на нужный язык (в нашем случае это был C#).
Если нужен, вот наш работающий алгоритм на C#:
public bool VerifyRequestSignature(IQueryCollection requestQueryParams, string certificatePublicKey)
{
var checksum = requestQueryParams["checksum"].ToString().ToLower();
if (string.IsNullOrEmpty(checksum))
return false;
var data = string.Join(string.Empty, requestQueryParams
.Where(q => !q.Key.IgnoreCaseEquals("checksum") && !q.Key.IgnoreCaseEquals("sign_alias"))
.OrderBy(q => q.Key)
.Select(q => $"{q.Key.Trim()};{q.Value.ToString().Trim()};"));
using var sha512 = SHA512.Create();
var hashedData = sha512.ComputeHash(Encoding.UTF8.GetBytes(data));
using var x509Cert = new X509Certificate2(Convert.FromBase64String(certificatePublicKey));
using var rsa = x509Cert.GetRSAPublicKey();
var signature = checksum
.Where((item, index) => index % 2 == 0)
.Select((item, index) => $"{item}{checksum[index * 2 + 1]}")
.Select(str => Convert.ToByte(str, 16))
.ToArray();
return rsa.VerifyHash(hashedData, signature, HashAlgorithmName.SHA512, RSASignaturePadding.Pkcs1);
}
Итак, чтобы callback работал, нужно создать свой API, к которому будет стучаться Сбер c запросами, содержащими данные об операции, начиная с orderId. При обращении Сбер ожидает получить ответ 200, если приходит что-то другое, он делает еще несколько попыток с интервалом 10 минут.
Когда платежный шлюз производит редирект по нашему returnUrl, он параллельно делает запрос на наш бэкенд по callback-урлу, указанному в ЛК Сбера. Времени хватает, чтобы по callback-урлу актуализировать статус заказа на оплату и отобразить корректную информацию пользователю. Но в реальности бывают случаи, когда запрос по callback приходит позже или вовсе не приходит. Например, в нашем опыте был случай, когда во время ночных технических работ на стороне Сбера отчеты о проведенных платежных операциях не пришили через callback, и мы мы не могли вовремя актуализировать статус некоторых заказов. Поэтому надо иметь запасной план – собственно, сам Сбер рекомендует опрашивать их сервис по каждому проведенному платежу.
Таким образом, дополнительно к callback-обработке, статус заказа на оплату нужно актуализировать и на запросах от нашего клиентского приложения, которые выполняются после того, как мы вернулись в приложение по returnUrl. И периодически их актуализировать – это дает дополнительную надежность и гарантию хранения информации по заказам на оплату в актуальном состоянии. Для этого мы используем планировщик, который периодически прогрессивным способом (сперва раз в минуту, потом каждые десять минут и т.д.) опрашивает API банка о проведенной операции. Не стоит стучаться туда постоянно, может сработать ddos-защита, но вообще подобные запросы помогают. Например, пока мы работали только через callback, пользователь ждал статуса около 30 секунд, когда стали актуализировать заказы на оплату по запросам с клиентского приложения или планировщика – время снизилось до секунды.
Как хранить данные об операциях
Наиболее удобный и предпочтительный способ хранения – документоориентированная СУБД. Запрос на создание заказа и оплату содержит большой набор параметров, а ответ – еще больше, в нем три уровня данных, и раскладывать все это в реляционную СУБД – затратная операция. А в noSQL базе можно просто сохранить пришедший JSON, не пытаясь его распарсить. Мы используем MongoDB, но можно выбрать и другую СУБД, позволяющую хранить и обрабатывать данные в json формате.
В Mongo все это выглядит как-то так:
Данные стоит хранить в трех коллекциях:
-
коллекция заказов, в которой хранятся параметры запроса, результат выполнения запроса, статус и опциональные параметры;
-
коллекция связок (bindings) по картам пользователя (чтобы быстро показывать их клиенту);
-
callback уведомления от Сбера и время, когда они пришли.
Работа с маркетплейсами
Особенность маркетплейсов в том, что на них можно набрать в одну корзину товаров от разных поставщиков, причем сам список поставщиков не постоянен. Как же продавцы получат деньги, если все запросы на регистрацию заказа идут от одного мерчанта – маркетплейса? В случае Сбера есть специальные запросы API: запрос распределения платежа по конечным получателям и возврат статуса перечисления платежей поставщикам.
Пример: пользователь купил десять товаров от десяти разных поставщиков, платеж прошел. Через некоторое время Сбер делает запрос информации о том, как нужно распределить этот платеж. Приходит id платежа, а мы должны предоставить детализацию заказа, сколько кому надо перевести. Надо учитывать, что Сбер может повторить этот запрос, и мы должны будем вернуть тот же самый ответ. После того, как шлюз распределит платеж по расчетным счетам, он сделает еще один callback-запрос, сообщающий, что деньги успешно разошлись.
Техническая поддержка
В целом, поддержка Сбера скорее помогает, чем нет, но делает она это не слишком быстро и не всегда с первого раза. Как правило, алгоритм такой: пишешь вопрос, в течение получаса отвечают – либо по существу, либо просят подождать еще два часа. После чего история может повториться, затянуться, и в конце концов вопрос через пару недель будет автоматически закрыт без ответа.
Когда ответ приходит, он не всегда отличается содержательностью. Придется снова спрашивать, при этом вы попадете на нового сотрудника, который снова даст столь же полезный ответ…
Например, у нас ушло два дня на то, чтобы получить корректный ключ для расшифровки подписи. Я переписал алгоритм шифрования на C# – там все просто, занимает пару часов. Но когда начали тестировать с предоставленным ключом, он не работал. Пошли к поддержке узнать, в чем дело, – и после нескольких часов ожидания получили ссылки на те же самые страницы с алгоритмами на php и Java, которые я переписал (и которые, разумеется, были упомянуты в вопросе). Пришлось ставить php и Java, чтобы точно понять, что проблема в ключе и, в конце концов, получить его правильный вариант.
Еще одну историю пришлось решать почти три месяца, но она была связана с особенностью проекта, где присутствовало несколько мерчантов, а клиенты были одни и те же и, соответственно, хотели привязать одну карту для оплаты всех услуг. В этом случае был обнаружен баг на стороне шлюза, пришлось много общаться, в том числе и с лидами проекта от Сбера, а проблему закрывать собственными костылями. В конце концов, баг шлюза был поправлен, но наше решение к тому времени уже работало.
Тем не менее, стоит признать, что поддержка Сбера работает – просто не нужно ожидать чудес и мгновенного решения всех проблем.
Сертификаты
Как известно, Сбер под санкциями, и у него недавно протухли международные сертификаты безопасности. Значит, придется ставить сертификаты от НУЦ Минцифры (обратите внимание, лучше ставить именно сертификаты для бэкенда по ссылке, а не клиентские сертификаты с Госуслуг и прочих мест – хотя в нашем случае хватило и их). Они потребуются сервису, который непосредственно обращается к шлюзу – если он работает в докер-контейнере, значит, прокидываем их туда.
Для покупателей же Сбер, к счастью, подготовил лазейку в виде «альтернативных доменов платежных страниц», сертифицированных в Let’s Encrypt. Чтобы их подключили именно вам, надо написать в поддержку. Насколько долго и надежно это будет работать – никто не знает, но хотя бы пока можно не утруждать клиентов установкой «отечественных браузеров» и «сертификатов Минцифры».
СберБанк обрабатывает Cookies с целью персонализации сервисов и чтобы пользоваться веб-сайтом было удобнее. Вы можете запретить обработку Cookies в настройках браузера. Пожалуйста, ознакомьтесь с политикой использования Cookies. Подробно рассказываем, как CберБанк обрабатывает и защищает ваши персональные данные на странице.
СберБанк обрабатывает Cookies с целью персонализации сервисов и чтобы пользоваться веб-сайтом было удобнее. Вы можете запретить обработку Cookies в настройках браузера. Пожалуйста, ознакомьтесь с политикой использования Cookies. Подробно рассказываем, как CберБанк обрабатывает и защищает ваши персональные данные на странице.
Приём платежей онлайн
Повышайте конверсию при продажах в интернете
SberPay
Оплата в два клика без ввода данных карты и СМС-кода
- Без интеграции — доступен сразу на платёжной странице
- Больше оплаченных заказов, чем при любом другом методе онлайн-оплаты
- Оплатить покупку сможет каждый пользователь приложения СберБанк Онлайн или мобильного банка
Онлайн-фискализация чеков
Цифровая касса от Эвотора автоматически фискализирует чеки в соответствии с 54-ФЗ
- Арендуйте цифровую кассу Эвотор и настройте её для своего бизнеса
- Чеки будут отправляться в налоговую автоматически
Подробнее
Техническая поддержка 24/7
0321 доб. 913 (с мобильного)
8 800 5555 777 доб. 913 (по России)
+7 495 66 55 777 доб. 913 (из-за рубежа)
Дополнительные сервисы
Подключите интернет-эквайринг от СберБизнеса и повысьте продажи
Банк Сбербанк #3230
Данные для настройки параметров платежной системы Сбербанк высылаются работниками технической поддержки банка Сбербанк после заключения договора.
Настройка производится в два этапа:
I этап:
Сотрудники Сбербанка направляют Вам письмо с настройкой в тестовом режиме и материалами для наполнения. В таком случае:
1. Вами производится наполнение сайта информацией предоставленной специалистами шлюза.
2. Производится настройка в тестовом режиме на стороне сайта.
II этап:
После проверки соответствия данных (заключение договора, наполнение информацией, работа шлюза на стороне сайта в тестовом режиме), специалисты шлюза переводят Ваш аккаунт в боевой режим, для этого нужно будет на стороне сайта произвести дополнительную настройку.
Рассмотрим чуть более подробно поля настройки платежной системы.
Шаг 1. Переход к настройкам
Откройте во второй вкладке MegaCRM и перейдите в Настройки-Интеграции-Онлайн оплата счетов
Кликните на шестеренку Банк Сбербанк (как уже говорилось ранее, необходимо заблаговременно заключить договор с Сбербанком).
Шаг 2. Настройка тестового режима
В открывшемся окне введите «Логин» и «Пароль», высланные технической поддрежкой банка данные (API-логин и пароль).
Данные будут направлены Вам письмом от Сбербанка. Также укажите «Тестовый режим» значение «Да«
В выпадающем меню «Валюта» (в системе управления сайтом) укажите ту валюту, в которой Вы будете принимать платежи.
Укажите для «Статус платёжной системы» значение «Подключить» и сохраните изменения.
Таким образом, Вы произвели настройку шлюза в тестовом режиме и теперь можно на сайте оформить заказ и произвести оплату по нему, тестовые данные карт предоставляются сотрудниками Сбербанка, если данные не были предоставлены Вы можете их запросить. После проведения оплаты, сообщите Вашему менеджеру о готовности перехода в рабочую среду, после проверки данных Сбербанк направит Вам данные для боевой среды.
При открытии счета появится способ Онлайн оплата
При клике на Онлайн оплата появляется всплывающее окно для способа получения чека
Шаг 3. Переход в боевой режим
После перевода Вашего аккаунта в боевой режим Вам поступит письмо с данными для боевой среды, сейчас Вам нужно будет произвести смену пароля, согласно инструкциям описанным в письме от Сбербанка.
Затем, полученный пароль после смены для логина нужно будет прописать на стороне настройки платежной системы на стороне MegaCRM, а для «Тестовый режим» измените значение на «Нет» и сохранить изменения.
Таким образом у Вас получится следующее отображение:
Для банка Сбербанк Вы можете указать наценку для платежной системы.
Для большинства систем Вы можете задать процент наценки для платежей, проводимых через данную платежную систему. Стоит учитывать, что Вам необходимо указать лишь размер процента. Дополнительно рассчитывать ничего не нужно, система сама рассчитает необходимое значение по формуле «(100/(100-X)-1)*100″— указанный процент будет выделен из итоговой суммы заказа, а не начислен сверху.
Используя базовые возможности системы управления UralCMS Вы сможете подключить прием оплаты заказов в интернет-магазине через модуль Сбербанка.
Рассмотрим, как подключить онлайн эквайринг Сбербанка на вашем сайте.
Видео: подключение интернет-эквайринга Сбербанка
Для подключения модуля оплаты Сбербанка к сайту необходимо:
1. Ознакомиться с условиями использования данного сервиса и подать заявку на подключение интернет-эквайринга Сбербанка перейдя по ссылке — https://www.sberbank.ru/ru/s_m_business/bankingservice/acquiring_total_alt
В результате Сбербанк предоставит реквизиты для работы в «тестовом режиме», а именно:
- Логин в платёжной системе
- Пароль в платёжной системе
Сохраните их, они понадобяться при дальнейшей настройке.
2. В системе управления сайтом в основноменю перейдите в раздел «Структура и содержание» — «Редактировать созданые».
3. В списке разделов Вашего сайта найдите раздел «Корзина» и перейдите в него.
4. На открывшейся странице выберите пункт «Способы оплаты».
5. Нажмите кнопку «Добавить способ оплаты».
6. На странице редактирования способа оплаты заполните поля:
- «Название» — введя в него например «Оплата картой Visa или MasterСard»;
- «Изображение» — загрузив логотипы карт в качестве иконки;
- «Действие» — выбрав вариант «Модуль оплаты Сбербанк»;
- «Текст подсказки» — подсказка будет выводиться рядом со способом оплаты.
7. Далее заполните поля «Реквизиты платежной системы»:
- «Логин в платёжной системе»
- «Пароль в платёжной системе»
8. Затем перейдите на сайт и совершите тестовую покупку оплатив её с помощью реквизитов тестовых карт предоставленных банком.
9. После этого обратитесь в Сбербанк, сообщите что совершили оплату в тестовом режиме и запросите рабочие, т.е. «боевые» реквизиты».
10. Измените настройки модуля оплаты Сбербанка используя «боевые» реквизиты.
11. Если Вы хотите использовать возможность платежной системы передавать данные для чека в онлайн кассу в настройках способа оплаты так же необходимо выбрать ставку НДС и систему налогообложения.
Интернет-эквайринг от Сбербанка для вашего онлайн-бизнеса подключен!
Интеграция с Сбербанком
Чтобы подключить эквайринг от Сбербанка и принимать оплату на сайте с карты Visa и MasterCard необходимо выполнить следующие действия:
1. Обратиться в отделение Сбербанка по работе с юридическими лицами. Это можно сделать по телефону указанному на сайте Сбербанка либо заполнив форму заявки на подключение интернет-эквайринга.
2. В обращении опишите, что вы желаете принимать деньги с вашего интернет-магазима по системе интернет-эквайринга от Сбербанка;
3. Дождитесь ответа сотрудника Сбербанка, который сообщит вам перечень необходимых документов для заключения договора интернет-эквайринга.
4. Подготовьте пакет документов (в банке скажут что требуется);
5. Отправьте пакет документов в банк на проверку;
6. После проверки подписывайте высланный бланк договора и отправляйте его почтой в Сбербанк;
7. При получении подписанного договора, с вами свяжется технический специалист службы интернет-эквайринга предоставляет вам логин и пароль и адрес сервера, которые требуется прописать в настройках способа оплаты Сбербанк в CMS;
8. Для начала Сбербанк предоставляет адрес сервера на тестовой среде для совершения проверочного платежа. Ссылка для адреса сервера: https://3dsec.sberbank.ru/mportal-uat/
Важно! Если при оплате, на сайте появляется белый экран, то адрес сервера нужно прописать боевой: https://3dsec.sberbank.ru
9. Сбербанк высылает инструкцию, где в пункте 13 указаны данные тестовой карты, которые нужно вписать для совершения покупки в интернет-магазине. Когда покупка будет совершена, банк начнёт проверку сайта.
10. После пройдённой проверки банком, нужно указать рабочий адрес сервера: https://securepayments.sberbank.ru
Чтобы статусы заказов менялись автоматически после оплаты.
На стороне Сбербанка необходимо добавить ссылку для Callback уведомлений вида:
https://ваш-сайт.ru/payment?id=17&pay=result
Сообщите данную ссылку сотрудникам банка, чтобы они установили ее для обмена данными. Это необходимо для автоматической смены статусов оплаченных заказов, даже если пользователь не дождался перенаправления обратно на сайт.
Если у вас есть доступ к личному кабинету, вы можете самостоятельно прописать настройки обмена данными:
11. Вместо названия «Сбербанк» можно прописать «Оплата картами Visa и Master Card».
12. При использовании обмена данными с боевым сервером сбербанка, обязательным условием является наличие SSL сертификата на вашем сайте. Другими словами сайт должен работать по протоколу https.
Алгоритм действий для подключения к платёжному шлюзу со стороны Сбербанка:
Получение логинов и паролей на тестовый сервер.
Тестирование работоспособности платёжной страницы.
По готовности интеграции и страницы свяжитесь с службой сопровождения (rbssupport@bpc.ru), чтобы вашу платёжную страницу проверили. Если проверка прошла успешно, сотрудники сопровождения перенесут вашу платёжную страницу на боевой сервер.
Получение логинов и паролей на боевой сервер.
Переключение вашего магазина на использование промышленной системы.
Произведение тестовой оплаты настоящей картой (рекомендуется провести оплату по 3DS-карте, а также выполнить
SSL-платёж).
Выполнить отмену и возврат платежа через личный кабинет платежа.
Подписание акта о готовности интернет-магазина.
Актуальную информацию по подключению можно посмотреть в присланных документах от сбербанка, а также по ссылке .
Статья актуальна для версии магазина: 10.0
Другие версии
| 11.0mobile
| 8.5
| 8.0
| 6.0
В данной статье рассмотрим:
- Обзор платёжного модуля «Сбербанк-Эквайринг»
- Настройки на стороне Сбербанка
- Настройки на стороне магазина
- Типовые ошибки настройки и их решение
Сбербанк – крупнейший в России банк-эквайер, с многолетним опытом работы на рынке эквайринговых услуг, собственный процессинговым центром, и командой высококвалифицированных специалистов. Банк предоставляет услуги эквайринга на высоком уровне, их отличает минимальная стоимость. При этом исключается возможность утечки конфиденциальной информации.
Внимание!
В настоящий момент сервис Сбербанк предлагает решение касательно 54-ФЗ для интернет-магазинов, осуществляя отправку фискальных данных из интернет-магазина в облачные кассы.
Для этого необходимо:
1) Обратиться к своему клиентскому менеджеру или в службу поддержки на support_ecomm@sberbank.ru
2) В личном кабинете АТОЛ Онлайн можно взять кассу в аренду, приобрести фискальный накопитель, дистанционно оформить соответствующие договоры и получить сервис по регистрации ККТ/ФН в ФНС.
Подробнее здесь.
Функционал Сбербанка:
- Повышение количества клиентов и оборотов вашего предприятия
- Безопасность и удобство платежей
- Выгодные условия обслуживания и возмещение средств в кратчайшие сроки
- Совместные партнерские программы для держателей банковских карт.
Рассмотрим как подключить и настроить интернет-эквайринг от Сбербанка в интернет-магазине на платформе ADVANTSHOP.
Первое, что необходимо сделать, это отправить заявку на подключение в Сбербанк эквайринг, заключить договор и зарегистрироваться. Перейдите на сайт https://www.sberbank.ru/help/business/sbbol/100074 и нажмите на кнопку «Интернет-банк СберБизнес» (рис.1)
Рисунок 1.
Откроется окно, где необходимо зарегистрироваться, и затем Ваc переведет на страницу Создание СберБизнес ID, где необходимо ввести Ваш номер телефона, который будет Вашим логином в интернет банке (рис.2).
Рисунок 2.
Далее выполните все необходимые настройки, а именно оформите заявку, заполните заявление и отправьте данное заявление в банк согласно инструкции на стороне банка.
После чего с Вами связываются, Вы заключаете договор, обговариваете условия сотрудничества и предоставляются доступ в личный кабинет.
Далее, перейдем к настройкам на стороне магазина. В интернет-магазине, перейдите в панель администрирования, пункт меню «Настройки» — «Оплата» (рис.3).
Рисунок 3.
Далее нажмите «Добавить способ оплаты». Во всплывающем окне, введите название и выберите из выпадающего списка модуль «Сбербанк-Эквайринг» (рис.4)
Рисунок 4.
Поставьте активность метода оплаты, и заполните поля настроек (рис.5)
Рисунок 5.
Все данные для заполнения полей Сбербанк высылает Вам на почту:
Заметка
Сначала будут высланы тестовые данные, после проведения тестовых настроек и тестового платежа, сбербанк вышлет боевые настройки.
Логин — это имя API для вашего мерчанта из системы Сбербизнес, вида merchant-api (где merchant — это имя мерчанта, выданное вам Сбербанком, см. ниже). Обратите внимание! Логин — это именно имя API, а не имя Оператора.
Пароль — используется для защиты данных, передаваемых от Сбербанка к магазину и от магазина к Сбербанку.
Имя мерчанта — имя мерчанта, которое Вам присваивает Сбербанк.
Передавать данные для чека — В случае, если Вам необходимо передавать фискальные данные в облачную кассу через Сбербанк — установите эту галочку.
После проделанных шагов, проведите тестовый платеж.
Поставьте галочку в строке «Тестовый режим», проверьте оплату на товаре ценой в 1-5 рублей, используя тестовую карту, которую предоставляет Сбербанк (указана в документации).
Если оплата проходит корректно, свяжитесь со Сбербанком; служба поддержки Сбербанка сообщит Вам «боевые» настройки (логин, пароль, имя мерчанта), которые Вам нужно будет указать в настройках метода на стороне магазина (вместо тестовых настроек).
Внимание!
В письме с “боевыми” настройками Сбербанк пришлёт Вам имя мерчанта, имя API, имя Оператора и пароль на 1 вход. Прежде чем указывать эти “боевые” настройки на стороне магазина, перейдите по адресу https://securepayments.sberbank.ru/mportal/ , авторизуйтесь под логином вида merchant-api (где merchant — имя вашего мерчанта) и с помощью пароля на 1 вход (присланный вами Сбербанком в письме с “боевыми” настройками). После авторизации вы увидите форму смены пароля — введите новый пароль (он будет использоваться вместо временного). Именно этот новый пароль и нужно будет указать в настройках магазина.
Дополнительно обращаем ваше внимание на то, что пароль от логина вида merchant-api и пароль от логина вида merchant-operator — это разные пароли. Используйте в настройках магазина только пароль от логина вида merchant-api.
После этого отключите галочку «Тестовый режим».
Сохраните изменения.
Далее необходимо написать на почту support_ecomm@sberbank.ru просьбу о том, чтобы для вашего мерчанта на стороне Сбербанка прописали уведомления в случае успешного платежа или ошибки.
Эти URL указаны в настройках метода оплаты «Сбербанк» на стороне магазина:
Return_url — уведомление в случае корректной оплаты.
Cancel_url — уведомление в случае ошибки.
Notification URL — обработка оповещений об оплате (URL для уведомлений).
Внимание!
Если у вас кириллический домен, то в настройках магазина (пункт меню «Настройки->Общие настройки», поле «URL Магазина») и при регистрации в сбербанке, укажите домен в punycode, для конвертации домена можете использовать любой сервис, например: https://www.punycoder.com/.
Также обратите внимание, в магазине обязательно должны прописаны ваши реквизиты, номер телефона, описание метода оплаты сбербанк. И сбербанк эквайринг не заключит договор, если продаете товары 18+.
Готово. Мы рассмотрели подключение платежного модуля Сбербанк-Эквайринг. Ниже рассмотрим типовые ошибки и пути их решения.
Типовые ошибки и их решение:
1. После оформления заказа и попытке оплатить его Вас перенаправляет на страницу с 404 ошибкой и адресом вида https://3dsec.sberbank.ru/payment/merchants/{data}/payment_ru.html?mdOrder={id}
Решение: Вам необходимо зайти в ЛК Сбербанка, ссылку на который вам прислали в письме с настройками (адрес вида https://3dsec.sberbank.ru/mportal-uat/index.html), перейти в «Платежная страница», нажать «Скачать эталонную платёжную страницу», затем загрузить этот же архив обратно.
2. После оформления заказа и попытке оплатить его Вас перенаправляет на главную страницу сайта
Решение: Вам необходимо указать корректные настройки метода оплаты в полях «Логин», «Пароль» и «Имя мерчанта». Пожалуйста, убедитесь, что вы корректно сменили временный пароль, присланный вам Сбербанком изначально.
Внимание!
Производить смену временных паролей на стороне Сбербанка необходимо как для логина вида login-api, так и для логина вида login-operator.
3. Уведомления об оплате не отображаются в списке заказов (для тех заказов, которые оплачены через Сбербанк).
Решение: Вам необходимо написать на почту support_ecomm@sberbank.ru просьбу о том, чтобы для вашего мерчанта на стороне Сбербанка прописали URL для уведомлений (Notification URL) — этот URL указан в настройках метода оплаты «Сбербанк» на стороне магазина.
И так же в письме на почту support_ecomm@sberbank.ru уточнить:
Тип уведомления: Без контрольной суммы;
HTTP-метод: POST;
Тип callback-a: Статический;
Тип подписи: Симметричный;
Тип шифрования: без шифрования.
4. Во время проведения тестового платежа на стороне Сбербанка возникает ошибка «Request failed with status code 504»
Решение: для проведения тестового платежа необходимо использовать тестовую карту Сбербанка. Данные тестовой карты указаны в технической документации Сбербанка.
Готово.
Тэги: Подключение платежного модуля Сбербанк, sberpay, Подключение платежного модуля, Сбербанк, метод оплаты, способ оплаты, оплата, карта, платеж, прием платежа, 54фз, банк
Меню:
-
Подключение к интернет шлюзу Сбербанк
-
Заключение договора и получение тестовых доступов
-
Тестирование интеграции
-
Подключение боевого режима
-
Включение формирования электронного чека для онлайн-кассы АТОЛ ОНЛАЙН
-
Включение формирования эл. чека для онлайн-кассы LifePay
1. Подключение к интернет шлюзу Сбербанк
Ознакомиться с тарифами и оставить заявку на подключение интернет-эквайринга можно по ссылке: https://www.sberbank.ru/ru/s_m_business/bankingservice/acquiring_total. После оставления заявки, ожидайте обратную связь от менеджера по подключению интернет-эквайринга в течение 3 рабочих дней.
Скачайте и заполните анкету:
Анкета. Информация об Интернет-магазине
После обработки вашей заявки вышлите ее на Email адрес менеджера, который будет заниматься заявкой на ваше подключение. Так же напишите менеджеру письма примерного содержания:
«Мы хотим для нашего сайта подключить оплату банковскими карточками. Прием будем осуществлять через модуль Tallanto. В приложении заполненная анкета для подключения. Какие наши следующие действия?»
2. Заключение договора и получение тестовых доступов
После заключения договора, вы получите на Email доступы для интеграции с эквайрингом.
Примерный вид:
API: login1-api
Оператор: login2-operator
Пароль на оба логина: password
Зайдите в Tallanto: Администрирование >> Выбор платежного шлюза >> Сбербанк – выбрать и Cохранить
Затем снова зайдите в Администрирование >> Выбор платежного шлюза >> Сбербанк >> Настройки шлюза
>> Редактировать
В поле логин магазина скопируйте данные из поля API.
В поле пароль магазина, полученный при подключении, скопируйте пароль, указанный в письме.
Если ваша валюта в сбербанке не отличается от валюты в Tallanto, поле «валюта» можно не заполнять. Если у вас нет дополнительного дочернего мерчанта, поле Логин дочернего мерчанта так же не заполняйте.
Тестовый режим: Да
Включить формирование чека: отметку не ставим (это означает – Нет)
После заполнения полей нажмите Сохранить
3. Тестирование интеграции
Для тестирования интеграции платежного шлюза Сбербанка необходимо использовать только Яндекс.Браузер. Это связано с переводом тестового стенда на сертификаты НУЦ Минцифры России с 30.01.2023.
Зарегистрируйтесь на занятие, и нажмите кнопку Оплатить. Эту платежную страницу нужно открыть в Яндекс.Браузере.
Вы попадете на форму ввода данных карточки в Сбербанке:
Воспользуйтесь следующими тестовыми карточками:
pan: 4111 1111 1111 1111
exp date: 12/24
cvv2: 123
3d secure Код авторизации на следующей странице 12345678
или
pan: 5555 5555 5555 5599
exp date: 12/24
cvv2: 123
veres=n
Важно!
Тестовые данные могут меняться. Если указанные данные недоступны — желательно уточнять их в Сбербанке.
Если тестирование прошло успешно — вы увидите сообщение об успешной оплате, и в системе Талланто будет отмечена оплата данного занятия. Это значит, интеграция настроена верно.
4. Подключение боевого режима
4.1 Обратитесь к менеджеру Сбербанка на E-mail: Lukanyuk.A.M@sberbank.ru
с сообщением, что тестирование интеграции выполнено успешно, и вы готовы подключать боевой режим оплаты.
4.2 Вы получите письмо (e-mail) от сотрудников Сбербанка с информацией о подключении боевого режима (формат письма может отличаться)
4.3 Переходите по «ссылке для входа в ЛК Сбербанка» (см. Скриншот в п.4.2) и откроется страница авторизации (входа в личный кабинет)
4.4 Введите Логин (в письме — API) и Пароль (в письме — Пароль на 1 вход) и нажмите кнопку Войти.
4.5 Смена пароля для боевого режима.
После действий п. 4.4 будет написано «Пароль устарел» и ниже два поля для введения нового пароля. Новый пароль вы придумываете самостоятельно.
Важно!
Пароль меняем для -operator и -api
В пароле ОБЯЗАТЕЛЬНО должны присутствовать:
— большие и маленькие буквы,
— цифры
— знаки пунктуации, например: . , — ! ?
Внесите новый пароль в первое поле.
Повторите введение нового пароля во втором поле.
Нажмите кнопку Сохранить.
После этого вы попадете в Личный кабинет (ЛК) Сбербанка – в нём делать ничего не нужно – закрываем.
Важно!
Сохраните новый пароль к себе на компьютер или запишите в блокнот.
4.6 Полученные боевые логин и новый пароль для API введите в настройках Tallanto
Администрирование >> Выбор платежного шлюза >> Настройки шлюза (напротив Сбербанк)
Логин магазина: (в письме АPI)
Пароль магазина, полученный при подключении: (Новый пароль, созданный в п.4.5)
Тестовый режим: Нет
Нажмите кнопку Сохранить.
5. Включение формирования электронного чека для онлайн-кассы АТОЛ ОНЛАЙН
Важно!
Если формирование эл. чека НЕ через АТОЛ ОНЛАЙН — пропустите этот пункт
В соответствии с 54-ФЗ вам необходимо заключить договор с ОФД. У Сбербанка есть партнерский договор с компанией АТОЛ.
После этого вам необходимо написать запрос на E-mail: support@ecom.sberbank.ru с просьбой включить расширенный протокол Банка в части передачи в Банк информации о товарной корзине.
Далее необходимо настроить фискализацию. Кнопка Настройка фискализации в личном кабинете.
Подробно о настройке — здесь
После этого в настройках шлюза в Tallanto нужно включить формирование чека.
Включить формирование чека: поставить отметку (это означает – Да)
6. Включение формирования эл. чека для онлайн-кассы LifePay
Важно!
Если формирование эл. чека НЕ через Life Pay — пропустите этот пункт
Администрирование >> Выбор платежного шлюза >> Настройки шлюза (напротив Сбербанк)
Поставить отметку в поле Включить фискализацию
Проверяем.
Интеграция с Сбербанком
Чтобы подключить эквайринг от Сбербанка и принимать оплату на сайте с карты Visa и MasterCard необходимо выполнить следующие действия:
1. Обратиться в отделение Сбербанка по работе с юридическими лицами. Это можно сделать по телефону указанному на сайте Сбербанка либо заполнив форму заявки на подключение интернет-эквайринга.
2. В обращении опишите, что вы желаете принимать деньги с вашего интернет-магазима по системе интернет-эквайринга от Сбербанка;
3. Дождитесь ответа сотрудника Сбербанка, который сообщит вам перечень необходимых документов для заключения договора интернет-эквайринга.
4. Подготовьте пакет документов (в банке скажут что требуется);
5. Отправьте пакет документов в банк на проверку;
6. После проверки подписывайте высланный бланк договора и отправляйте его почтой в Сбербанк;
7. При получении подписанного договора, с вами свяжется технический специалист службы интернет-эквайринга предоставляет вам логин и пароль и адрес сервера, которые требуется прописать в настройках способа оплаты Сбербанк в CMS;
8. Для начала Сбербанк предоставляет адрес сервера на тестовой среде для совершения проверочного платежа. Ссылка для адреса сервера: https://3dsec.sberbank.ru/mportal-uat/
Важно! Если при оплате, на сайте появляется белый экран, то адрес сервера нужно прописать боевой: https://3dsec.sberbank.ru
9. Сбербанк высылает инструкцию, где в пункте 13 указаны данные тестовой карты, которые нужно вписать для совершения покупки в интернет-магазине. Когда покупка будет совершена, банк начнёт проверку сайта.
10. После пройдённой проверки банком, нужно указать рабочий адрес сервера: https://securepayments.sberbank.ru
Чтобы статусы заказов менялись автоматически после оплаты.
На стороне Сбербанка необходимо добавить ссылку для Callback уведомлений вида:
https://ваш-сайт.ru/payment?id=17&pay=result
Сообщите данную ссылку сотрудникам банка, чтобы они установили ее для обмена данными. Это необходимо для автоматической смены статусов оплаченных заказов, даже если пользователь не дождался перенаправления обратно на сайт.
Если у вас есть доступ к личному кабинету, вы можете самостоятельно прописать настройки обмена данными:
11. Вместо названия «Сбербанк» можно прописать «Оплата картами Visa и Master Card».
12. При использовании обмена данными с боевым сервером сбербанка, обязательным условием является наличие SSL сертификата на вашем сайте. Другими словами сайт должен работать по протоколу https.
Алгоритм действий для подключения к платёжному шлюзу со стороны Сбербанка:
Получение логинов и паролей на тестовый сервер.
Тестирование работоспособности платёжной страницы.
По готовности интеграции и страницы свяжитесь с службой сопровождения (rbssupport@bpc.ru), чтобы вашу платёжную страницу проверили. Если проверка прошла успешно, сотрудники сопровождения перенесут вашу платёжную страницу на боевой сервер.
Получение логинов и паролей на боевой сервер.
Переключение вашего магазина на использование промышленной системы.
Произведение тестовой оплаты настоящей картой (рекомендуется провести оплату по 3DS-карте, а также выполнить
SSL-платёж).
Выполнить отмену и возврат платежа через личный кабинет платежа.
Подписание акта о готовности интернет-магазина.
Актуальную информацию по подключению можно посмотреть в присланных документах от сбербанка, а также по ссылке .