Подключение платежного шлюза СберБанк. Как реализовать подключение?

Появилась задача - подключить платежный шлюз Сбербанка на интернет-магазине. Расскажите основные принципы подключения? Где что сверстать? Как работать с https://3dsec.sberbank.ru/payment/merchants/****/p... Нюансы форм и т.д.
  • Вопрос задан
  • 38153 просмотра
Решения вопроса 1
voronkovich
@voronkovich
Недавно столкнулся с той же проблемой. Почему-то Сбербанк не делает библиотек для работы со своим API, как все нормальные платежные шлюзы. Да и API у них - совершенно безумное. Документации в открытом доступе нет, какие-то пдфки в письме прислали. В итоге, сделал небольшую библиотеку на PHP https://github.com/voronkovich/sberbank-acquiring-... Надеюсь пригодится кому-нибудь еще.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@blindmen
у них есть 2 метода WebService-ах и REST.
по поводу REST вкратце. отправляется запрос POST или GET вида https://3dsec.sberbank.ru/payment?юзер&пароль&номе... если запрос правильный, в ответ получаем ссылку на страницу оплаты.
если заключить с ними договор то они вышлют вам документацию где всё поверхностно написано (документация рассчитана на опытного вебмастера, хотя и junior с гуглом смогут разобраться). и дадут тестовый доступ и "менеджера".
Ответ написан
@0x131315
В процессе интеграции sbercredit. Аналогичные проблемы.
В документации запросы странного вида, такие не выдает ни http_build_query, ни key-value подстановка.
Плюс запросы GET, но с требованием POST-заголовка application/x-www-form-urlencoded)
Примеры POST-запросов в документации неадекватные, и завести их так и не удалось ни в каком виде.
Оказалось что API принимает только GET, и http_build_query вполне хватит.

Проблема была в документации: запросы составлялись по их документации, но... ничего не работало. И API не умеет говорить ничего, кроме system error)
Разобрал их API по кусочкам, оказалось что оно документации мало соответствует - многие необязательные поля на деле обязательны.

Сейчас следующий круг ада: API принимает запрос, отдает данные для перехода на шлюз, но... теперь шлюз отдает ошибки в web-интерфейсе)
Оказалось поле muasure было обязательным. При этом в документации в примерах запросов оно пустое, и API на пустое поле ошибок не выдает. Такие дела.
Ответ написан
Для того чтобы тестировать оплату необходимо использовать тестовые карточки. Если будете использовать реальную карту, то ничего происходить на странице оплаты не будет
Ответ написан
Комментировать
@panasyuk
Еще есть реализация для Ruby https://github.com/panasyuk/sberbank-acquiring
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы