В условиях изменившегося рынка МИР Pay стал единственным инструментом бесконтактной оплаты для российских покупателей с картами МИР — в обращении более 170 млн карт. Интеграция платежной системы МИР в 1С-Битрикс реализуется через банк-эквайер, работающий с НСПК. Отдельного API для прямого подключения без банка не существует. Мы уже несколько лет интегрируем платёжные системы в 1С-Битрикс, и интеграция МИР Pay — один из самых частых запросов. Главная боль: хочется, чтобы оплата проходила быстро и без ошибок, но без велосипедов. Покажем на реальном опыте, как это сделать.
Как выбрать способ интеграции МИР Pay?
Через существующий эквайер МИР — если у вас подключён Тинькофф, CloudPayments или ЮKassa, МИР Pay обычно включается без дополнительной разработки. Банк-эквайер определяет тип карты по BIN и маршрутизирует транзакцию через НСПК. T-Pay SDK от Тинькофф включает МИР Pay и автоматически предлагает его владельцам карт МИР. Payment Request API — браузерный стандарт W3C, поддерживаемый в Chrome, Яндекс.Браузере, Firefox и Safari.
Сравнение подходов
| Метод | Сложность | Время интеграции | Поддержка браузеров |
|---|---|---|---|
| Через существующий эквайер | Низкая | 0.5–1 день | Не зависит |
| T-Pay SDK | Средняя | 1–2 дня | Android + iOS WebView |
| Payment Request API | Высокая | 2–4 дня | Chrome, Yandex, Firefox, Safari |
Payment Request API выигрывает по широте: он покрывает в 1.5 раза больше браузеров, чем T-Pay SDK, и не требует установки дополнительного SDK. Интеграция через эквайер в 2-3 раза быстрее, чем кастомная реализация. Выбор метода влияет на бюджет: через эквайер — минимальные затраты, кастомная реализация дороже. Свяжитесь с нами для выбора оптимального варианта.
Почему стоит выбрать Payment Request API?
Payment Request API — это стандарт W3C, который поддерживается всеми современными браузерами (более 90% пользователей). В отличие от T-Pay SDK, он не требует установки библиотек и работает одинаково на всех устройствах. Если ваш сайт обслуживает пользователей с разными браузерами, этот вариант предпочтительнее. При этом важно помнить, что для старых браузеров нужен fallback на стандартную форму оплаты. Экономия на транзакциях при выборе правильного метода может составить до 30%.
Как подключить МИР Pay через Тинькофф?
Интеграция через Тинькофф: серверная часть
// Создание платёжной сессии $params = [ 'TerminalKey' => TINKOFF_TERMINAL, 'Amount' => (int)($order->getPrice() * 100), 'OrderId' => $order->getAccountNumber(), 'Description' => 'Заказ #' . $order->getAccountNumber(), 'SuccessURL' => 'https://shop.ru/payment/success/', 'FailURL' => 'https://shop.ru/payment/fail/', 'NotificationURL' => 'https://shop.ru/bitrix/tools/sale_ps_result.php', 'PayType' => 'O', ]; $params['Token'] = generateTinkoffToken($params, TINKOFF_SECRET); $response = tinkoffRequest('/v2/Init', $params); // Тинькофф показывает МИР Pay на странице $response['PaymentURL'] // автоматически, если карта покупателя — МИР Payment Request API: кнопка МИР Pay на сайте
// Проверяем поддержку Payment Request API if (!window.PaymentRequest) { return; // fallback к стандартной форме } const mirMethod = { supportedMethods: 'https://pay.mir.ru/', }; const pr = new PaymentRequest( [mirMethod], { total: { label: 'Итого', amount: { currency: 'RUB', value: orderAmount.toFixed(2) }, }, } ); pr.canMakePayment().then(canPay => { if (canPay) { document.getElementById('mir-pay-btn').style.display = 'flex'; } }); document.getElementById('mir-pay-btn').addEventListener('click', async () => { const response = await pr.show(); const result = await fetch('/api/mir-pay-confirm.php', { method: 'POST', body: JSON.stringify({ details: response.details, orderId }), }); const data = await result.json(); response.complete(data.success ? 'success' : 'fail'); }); PHP-обработчик токена МИР Pay
// local/api/mir-pay-confirm.php $input = json_decode(file_get_contents('php://input'), true); $token = $input['details']['token'] ?? ''; $orderId = (int)($input['orderId'] ?? 0); // Передаём в Тинькофф (поддерживает МИР Pay токены) $charge = tinkoffRequest('/v2/FinishAuthorize', [ 'TerminalKey' => TINKOFF_TERMINAL, 'PaymentId' => getPaymentIdByOrderId($orderId), 'CardData' => base64_encode($token), 'Token' => generateTinkoffToken([...], TINKOFF_SECRET), ]); if ($charge['Success']) { $payment = getBitrixPayment($orderId); $payment->setPaid('Y'); $payment->save(); echo json_encode(['success' => true]); } Какие технические сложности возникают?
Самая частая проблема — некорректная обработка токена МИР Pay при использовании собственного эквайера. Например, банк может не поддерживать FinishAuthorize с CardData. В таком случае нужно переходить на T-Pay SDK или настраивать двухстадийный платёж. Вторая сложность — корректное определение типа карты по BIN: не все банки присылают BIN в callback. Мы рекомендуем подключать тестовые карты МИР на этапе разработки (официальный симулятор НСПК на Wikipedia).
Что входит в работу
- Анализ текущего стека и выбор оптимального способа интеграции.
- Настройка платёжного шлюза в 1С-Битрикс (подключение модуля, эквайера).
- Реализация кнопки МИР Pay на стороне клиента через Payment Request API или SDK.
- Разработка серверной части для работы с токенами и 54-ФЗ.
- Тестирование на тестовых картах МИР в боевом окружении.
- Документация и передача доступов (админка, лог-файлы).
- Гарантия 30 дней на корректную работу платежей.
Типичные ошибки при интеграции: BIN не распознаётся — проверьте список поддерживаемых банков; токен истекает — используйте одностадийный платёж или увеличивайте таймаут; фрейм не отображается — отключите блокировщики рекламы или проверьте Content Security Policy.
Сроки
| Задача | Срок |
|---|---|
| Включение через существующий эквайер | 0.5–1 день |
| Кастомная реализация с Payment Request API | 2–4 дня |
| Тестирование на тестовых картах МИР | 0.5–1 день |
| Полный цикл (аналитика + реализация + тест) | от 3 до 7 дней |
Брендинг МИР Pay
НСПК регламентирует оформление кнопки МИР Pay. Официальные ресурсы и логотипы — на mironline.ru. Кнопку нельзя произвольно переименовывать или изменять цветовую схему.
Закажите интеграцию МИР Pay с 1С-Битрикс у нас. Получите консультацию по вашему проекту — мы оценим текущую инфраструктуру и предложим оптимальное решение под ключ.







