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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с платежной системой МИР Pay
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

После 2022 года МИР Pay стал единственным инструментом «оплаты одним касанием» для российских покупателей с картами МИР — их в обращении более 170 млн. Подключение МИР Pay реализуется через банк-эквайер, работающий с НСПК. Отдельного «МИР Pay API» для прямого подключения без банка не существует.

Варианты технической реализации

Через существующий эквайер — если подключён Тинькофф, CloudPayments или ЮКасса, МИР Pay обычно включается без дополнительной разработки. Банк-эквайер сам определяет тип карты по BIN и маршрутизирует транзакцию через НСПК.

T-Pay SDK — Тинькофф предоставляет SDK, включающий МИР Pay. Покупателям с картой МИР он предлагает МИР Pay вместо стандартной формы.

Payment Request API — браузерный стандарт W3C. Работает в Chrome, Яндекс.Браузере и других браузерах с поддержкой стандарта.

Интеграция через Тинькофф: серверная часть

// Создание платёжной сессии
$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

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

Сроки

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