Сбер — как подключить
Нужен договор интернет-эквайринга Сбера и доступ к платёжному шлюзу (ПШ). Это отдельный логин/пароль API, не пароль от СберБизнес Онлайн.
1. Договор и доступ к шлюзу
- Оформите интернет-эквайринг Сбера (через менеджера или заявку в банке).
- После подключения банк выдаёт доступы к ПШ:
- userName — логин API Партнёра;
- password — пароль API Партнёра.
- Уточните у банка: боевой или тестовый контур. В Меркурии контур выбирается в настройках оплаты (поле «Контур API»): боевой —
ecommerce.sberbank.ru, тестовый —ecomtest.sberbank.ru.
2. Настройка в Меркурии
- Откройте Розница → Интернет-витрина.
- Блок «Онлайн-оплата заказов»: включите галочку оплаты.
- В списке «Платёжная система» выберите Сбер.
- Вставьте Логин API (userName) и Пароль API.
- Выберите Контур API — боевой или тестовый (как сказал банк) → Сохранить.
- После сохранения (витрина должна быть включена) появится поле «URL callback Сбера» — скопируйте его.
3. Callback в кабинете шлюза
- В личном кабинете / настройках ПШ укажите URL уведомлений о платеже (callback) — тот же адрес, что показал Меркурий.
- Адрес выглядит так:
…/api/public/index.php?route=public/vitrina/sber/notification/ВАШ_ТОКЕНи должен открываться из интернета по HTTPS. - Меркурий дополнительно передаёт этот URL в каждый платёж как
dynamicCallbackUrl, поэтому даже если в кабинете забыли прописать URL, уведомление всё равно уйдёт на нужный адрес (если шлюз поддерживает динамический callback).
4. Как работает оплата
- На KDS или в заявке нажимаете «Оплата» / «Отправить ссылку на оплату».
- Меркурий вызывает
register.doв шлюзе Сбера и получает formUrl — ссылку на платёжную страницу. - Ссылка уходит покупателю в Telegram/MAX.
- После успешной оплаты шлюз шлёт callback (
operation=deposited). Меркурий сверяет статус черезgetOrderStatusExtendedи ставит заявке «Оплачено»; бонусы начисляются автоматически.
5. Возврат денег
- В Расходы → Заявки покупателей откройте заявку → вкладка «Интернет-заказ».
- Кнопка «Вернуть оплату Сбер» доступна, если оплата шла по ссылке Сбера (есть orderId шлюза) и статус «ожидает» или «оплачено».
- Меркурий сам выбирает операцию:
- ещё холд / незавершённое списание →
reverse.do(отмена); - деньги уже списаны →
refund.do(возврат).
- ещё холд / незавершённое списание →
- После успеха статус заявки становится «отменено / возвращено», признак «Оплачено» снимается.
Важно: пароль API после сохранения в Меркурии не показывается снова — чтобы сменить, введите новый и сохраните. Сертификат НУЦ Минцифры на сервере (для TLS к шлюзу) обычно уже есть на современных системах; если банк пишет про сертификат — уточните у поддержки хостинга.