Skip to main content

Обзор

Redirect-интеграция позволяет перенаправить клиента на hosted-страницу оплаты Meridian. Клиент увидит реквизиты, таймер обратного отсчёта и кнопку для открытия банковского приложения (deeplink). После завершения платежа клиент автоматически перенаправляется обратно на ваш сайт.
Поддерживаемые банки: ВТБ, Сбербанк, Газпромбанк, Т-Банк, Солидарность, Альфа-Банк, Ozon Банк, Уралсиб. См. Коды банков.

Коды банков

Код банка — это предпочтительный банк плательщика. Колонки TO_CARD / TO_PHONE показывают, какие типы реквизита банк может выдать (см. paymentMethod).
Неизвестный код банка возвращает 400 со списком допустимых значений.
Альфа-Банк (6), Ozon Банк (14) и Уралсиб (15) обслуживаются из выделенного пула реквизитов и доступны после подключения к вашему аккаунту. Если в момент создания платежа свободного реквизита нет, запрос вернёт 400 с сообщением «Реквизиты для этого банка временно недоступны» — повторите запрос позже или используйте другой код банка. Автоматического перехода на другой банк не происходит.
Для банков с deeplink (1, 2, 4, 6) hosted-страница показывает кнопку открытия банковского приложения с предзаполненными реквизитами и суммой. Для остальных кодов кнопка не отображается — плательщик видит реквизиты и инструкцию по переводу вручную.

Создание платежа

Обязательные параметры

Опциональные параметры

Если paymentMethod передан, в dealRequisites остаётся только запрошенный реквизит (cardNumber или phoneNumber), и hosted-страница показывает плательщику именно его. Без paymentMethod поведение прежнее: в ответе присутствуют оба поля, причём cardNumber может прийти в маскированном виде (**** ****), а phoneNumber — со значением null.
Запрос paymentMethod, который банк не выдаёт (см. Коды банков), возвращает 400: например paymentMethod TO_PHONE is not supported for bank 14.
paymentMethod входит в идемпотентность. Повторный запрос с тем же internalId, но другим типом реквизита, возвращает 409 — Idempotency conflict: internalId "..." was created with different payment requisites. Чтобы получить ссылку на уже созданный платёж, повторяйте запрос с тем же paymentMethod, с которым он был создан.

Пример запроса


Пример ответа (успех)

HTTP Status: 201 Created
Важно: Поле paymentUrl — это ссылка для перенаправления клиента. Токен в URL является единственным способом авторизации на странице оплаты. Не передавайте его третьим лицам.

Поля ответа


Структура dealRequisites

Поле dealRequisites содержит JSON-строку с реквизитами, куда клиент должен отправить платёж.
Важно: Поле bankName в ответе — это запрошенный банк. Фактический банк назначения находится в dealRequisites.bankName.

Проверка статуса

Используется тот же endpoint, что и для H2H интеграции.

Пример запроса


Webhook-уведомления

Webhook-уведомления работают идентично H2H интеграции. При изменении статуса платежа система отправляет POST-запрос на указанный notificationUrl.

Формат и верификация

См. полную документацию в разделе Трансграничные платежи — Webhook.

Создание апелляции

Если клиент оплатил, но статус не изменился, создайте апелляцию. Процесс идентичен H2H интеграции.