Интеграция 1С-Битрикс с платежной системой МИР Pay

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция 1С-Битрикс с платежной системой МИР Pay
Средний
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1322
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    915
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    811
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    710
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

В условиях изменившегося рынка МИР 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. Анализ текущего стека и выбор оптимального способа интеграции.
  2. Настройка платёжного шлюза в 1С-Битрикс (подключение модуля, эквайера).
  3. Реализация кнопки МИР Pay на стороне клиента через Payment Request API или SDK.
  4. Разработка серверной части для работы с токенами и 54-ФЗ.
  5. Тестирование на тестовых картах МИР в боевом окружении.
  6. Документация и передача доступов (админка, лог-файлы).
  7. Гарантия 30 дней на корректную работу платежей.

Типичные ошибки при интеграции: BIN не распознаётся — проверьте список поддерживаемых банков; токен истекает — используйте одностадийный платёж или увеличивайте таймаут; фрейм не отображается — отключите блокировщики рекламы или проверьте Content Security Policy.

Сроки

Задача Срок
Включение через существующий эквайер 0.5–1 день
Кастомная реализация с Payment Request API 2–4 дня
Тестирование на тестовых картах МИР 0.5–1 день
Полный цикл (аналитика + реализация + тест) от 3 до 7 дней

Брендинг МИР Pay

НСПК регламентирует оформление кнопки МИР Pay. Официальные ресурсы и логотипы — на mironline.ru. Кнопку нельзя произвольно переименовывать или изменять цветовую схему.

Закажите интеграцию МИР Pay с 1С-Битрикс у нас. Получите консультацию по вашему проекту — мы оценим текущую инфраструктуру и предложим оптимальное решение под ключ.