В условиях изменившегося рынка МИР 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С-Битрикс у нас. Получите консультацию по вашему проекту — мы оценим текущую инфраструктуру и предложим оптимальное решение под ключ.







