[mspSberbank] Оплата заказов miniShop2 через процессинг Сбербанка
Теперь в miniShop2 можно подключить процессинг от Сбербанка с помощью нового дополнения mspSberbank

Чтобы получить доступ к системе приёма платежей, нужно отправить заявку на эквайринг.
Придется, конечно, много общаться с техподдержкой (это ж, все-таки, Сбербанк), но, надеюсь, вам выдадут логин и пароль.
Их необходимо будет указать в системных настройках. После чего активировать новый способ оплаты и назначить его нужным типам доставки.
Преимущества эквайринга от Сбербанка в том, что вы можете кастомизировать форму ввода данных о карте. Подробности можно будет прочитать в документации, которую вам предоставят при подключении.
Дополнение доступно в репозитории modstore.pro:

Чтобы получить доступ к системе приёма платежей, нужно отправить заявку на эквайринг.
Придется, конечно, много общаться с техподдержкой (это ж, все-таки, Сбербанк), но, надеюсь, вам выдадут логин и пароль.
Их необходимо будет указать в системных настройках. После чего активировать новый способ оплаты и назначить его нужным типам доставки.
Преимущества эквайринга от Сбербанка в том, что вы можете кастомизировать форму ввода данных о карте. Подробности можно будет прочитать в документации, которую вам предоставят при подключении.
Дополнение доступно в репозитории modstore.pro:
Комментарии: 109
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.


upd. действительно, для физ лиц недоступно.
После получения логина и пароля будет предоставлено 3 текстовых файла с информацией. В одном файле будут виртуальные карты, которыми можно оплачивать. Изначально дается только тестовый доступ, с тестовыми картами. Для того чтобы перевести магазин в боевой режим, необходимо на сайте иметь и передать в ТП сбербанка страницу с информацией об оплате. Файл который должен быть оформлен как текстовая страница доступен по ссылке.
Остальную информацию я передам по мере получения (как все же получить этот экваринг, какие подводные камни могут ждать вас)
1. Ты работаешь напрямую с банком без посредников.
2. Деньги поступают на счет в банке, управление этими средставами через интерфейс сбербанка. (По опыту могу сказать, что бухгалтера не верят никакой информации о балансе напр. в QIWI — кошельке итд, поэтому эквайринг банка проще для бухгалтерии).
3. Клиент вообще не платит никакой комиссии (не знаю как в случае с payanyway, но когда я использовал робокассу, приходилось накидывать сверху пару рубликов).
То Qiwi вдруг больше не нравится наш сертификат и уведомления об оплате не доходят. То Webmoney вдруг решили поменять свои правила и нужно у них там заполнять какие-то анкеты отдельно. То банку Робокассы вдруг запрещают работать с клиентами.
Спасибо, накушались уже этих агрегаторов.
Это крупнейший российский банк, у него нет «подобных случаев». Лично я вообще не могу вспомнить никаких серьёзных проблем со Сбером за всю свою жизнь.
На данный момент к примеру есть Visa, master card и Maestro.
А если с каждым банком напрямую заключать договор, то это же каша получится, большой геморрой и тд
Или же если со сбером заключаешь договор, то он тоже открывает оплату visa, master card, maestro?
Вот так, например, это выглядит на сайте одного кинотеатра, где я подключал Сбербанк в своё время.
С каждым банком ничего заключать не нужно, Сбербанк примет любые карты.
ВалерияА насчет Сбербанка, можно же оформить как «Самозанятый» необязательно ИП или Юр, или не получится так подключиться к сайту????
Я уже отправил анкету, ответ обещают после праздников, 10-11 числа.
И кстати, поскольку для сбера интернет-эквайринг разработан и обслуживается BPC Group, то при изменении url api он скорее всего заработает с эквайрингом других банков, которые обслуживает BPC, например альфа-банк
Кстати в теме не верная ссылка правильно такая www.sberbank.ru/ru/legal/bankingservice/internet_acquiring
Насколько я понимаю физикам легально только яндекс деньги остались?
Вот мне в Сбербанке дали имя мерчанта, API, имя оператора и пароли.
Создали они у себя тестовую среду. Поставил модуль mspSberbank.
В настройках MODX указываю: в поле Логин Сбербанка — имя оператора, ну и, соответственно, пароль.
Адрес для запросов я не трогаю и оставляю 3dsec.sberbank.ru/payment/rest/
В настройках minishop добавляю настройку по доставкам и виде оплаты.
Пробую сделать тестовую покупку, выбираю там Оплата сбербанк и после нажатии оплатить остаюсь на странице корзины с 500 ошибкой. Подскажите, пожалуйста, что я делаю не так.
Я думаю, надо обратиться в техподдержку сберабанка. Насколько я помню, они там предоставляют такую страницу, на которой можно вставить свой логотип, например. После чего оформленную страницу надо передать обратно специалистам сбербанка.
2)Заходите в среду — 3dsec.sberbank.ru/mportal-uat/index.html под логином оператора.
3)В верхнем меню «Платежная страница», скачиваете эталон. Обратите внимание что в архив нужно скопировать и добавить payment.html и errors.html(самое простое, это скопировать и переименовать payment_ru.html и errors_ru.html) далее архивируете и загружаете свой zip архив.
Третий пункт, это как раз про что говорит Илья Уткин.
Поменял имя оператора на api.
В среде страницы создал.
Однако ошибка 500 так и осталась…
Проблема в том что если что-то неправильно указал в настройках например пароль или логин, банк шлет ошибку а модуль её никак не обрабатывает. То есть модуль сырой еще, надо пилить и пилить.
Я Илье написал уже… Например у меня почему-то функция $modx->makeUrl() ничего не отдает, когда надо вернуть ссылку об успешной оплате.
Стер её на фиг и написал вместо:
$success = $modx->makeUrl($id, $context, $params, 'full');
Так:
$res = $modx->getObject('modResource', $id);
$success = $modx->config[«site_url»]. $res->uri. '?msorder='.$_REQUEST['msorder'];
И ошибка пропала и модуль наконец-то заработал ))
И еще когда Сбер перевел сервер в боевой режим, старый пароль для вашсайт-api перестает работать, нужно войти в кабинет под этим логином и одноразовым паролем что дал Сбер и сгенеировать новый пароль который указать в минишопе, тогда Сбер не будет возвращать ошибку доступа а сырой модуль все правильно обработает.
Только еще в sberbank.class.php
там еще id заказа запихиваю в $_REQUEST['msorder'];
И еще
незнаю повлияло это как-то или нет но Сбер пишет в инструкции:
Для доступа к боевой системе, необходимо иметь открытый исходящий доступ по следующему адресу:
62.76.205.3
порт 443
Я просто указал (типа купил) для домена бесплатный сертификат (хостинг бегет)
незабудьте также сменить адрес подключения на боевом и тестовом сервере они разные.
По домену фильтрация есть, т.е. на тестовом домене поиграться не удастся.
Буду благодарен за помощь.
Может какое-то простое решение есть?
phpclub.ru/talk/threads/81476/
php.ru/forum/threads/59751/
if ($modx->context->key == 'web') { $xxx = 'ru';}else { $xxx = 'en'; }
Не работает.
Заранее спасибо!
После отправки данных вижу пустую страницу на которой лишь JSON-ответ, говорящий что все данные вроде в норме и вот как бы можете оплачивать:
Ииии? Что дальше?
По логике должно перекинуть на адрес из formUrl. Но как?
Я думаю, надо обратиться в техподдержку сберабанка. Насколько я помню, они там предоставляют такую страницу, на которой можно вставить свой логотип, например. После чего оформленную страницу надо передать обратно специалистам сбербанка.
В мануале по подключению Сбера как раз описывается, в п 8.2., что при успешном запросе сервер должен выдать такой ответ, но вот только чем потом переадрисовывать на полученный адрес нифига не сказано!
Вот мануал, что СБ прислал >>.
p.s. Такое ощущение как будто надо отправить POST и считать ответ, а вместо этого мы пытаемся отправить GET, который видим в адресе
Как мне на данной странице заставить отработать [[!msGetOrder]] с помощью этого параметра? Как его в ID заказа преобразовать и сниппету отдать (ну или еще можт как-то)?
Вызываю соответственно:
белый экран и все. Хотя в настройках платежа указано редиректить на страницу оформления заказа.
Откройте файл адрес-сайта/assets/components/minishop2/payment/sberbank.php и добавьте в начало такую строчку:
Возможно, после этого вы сможете увидеть текст ошибки. А уж по тексту будет понятно, в какую сторону копать.
Приобрёл дополнение, подключил по инструкции аддона (добавить туда информации не помешало бы) и после завершения тестовой оплаты получаю страницу с ошибкой «Неверное перенаправление на странице». Сам заказ оформляется, два письма покупателю уходят (о сделанном заказе и об успешной оплате).
«Неверное перенаправление на странице» в Firefox
Путь site.ru/assets/components/minishop2/payment/sberbank.php?orderId=a7095b33-0b68-7ac2-a709-5b33000bedd2
Пустая страница в Chrome
Кто как победил?
В логах пусто
allow_url_fopen On
P.S. В техподдержку дополнения писал, автор видимо сильно занят или отсутствует.
Кстати, можно создать новый статус заказа «Чек отправлен» и устанавливать его после отправки в приложение.
$uuid = $order->get('id');
$doc_num = $order->get('num'); Другие параметры не могу вывести такие как: информация о товаре, сумма заказа, имя, почта, адрес, телефон.
ошибка
[2018-10-24 12:38:35] (ERROR @ /home/dslim/domains/shop.d-slim.ru/public_html/core/components/minishop2/custom/payment/sberbank.class.php: 157) [miniShop2:Sberbank] Error while getting payment link: [orderBundle.cartItems.totalAmount] сумма товарных позиций в корзине не совпадает с общей суммой
Спасибо за совет с логами.
Я только под статусом «Самозанятый»
Благодарю за внимание, господа товарищи!!!
Не удалось загрузить и создать пакет с подписью:mspsberbank-1.2.20-pl
Подскажите пожалуйста
(
[2023-03-13 09:05:20] (ERROR @ /home/a/angel26/angelina-sem.ru/core/components/minishop2/custom/payment/sberbank.class.php: 246) [miniShop2:Sberbank] Response is not received from API.
[2023-03-13 09:05:20] (ERROR @ /home/a/angel26/angelina-sem.ru/core/components/minishop2/custom/payment/sberbank.class.php: 264) [miniShop2:Sberbank] Response is empty.
[2023-03-13 09:05:20] (ERROR @ /home/a/angel26/angelina-sem.ru/core/components/minishop2/custom/payment/sberbank.class.php: 272) [miniShop2:Sberbank] [LOG FOR SBERBANK PAYMENT]
API URL: 3dsec.sberbank.ru/payment/rest/register.do
)
Я вроде бы все правильно ввёл и API и пароль не могу понять в чём дело
или если нет — есть ли какие то подобные другие?
Сейчас выдаётся ошибка доступа и вместо страницы оплаты идёт переадресация на страницу ошибки оплаты.
Будет ли обновление компонента?