Інтеграція 1С-Бітрікс з платіжною системою Robokassa

Інтеграція 1С-Бітрікс з платіжною системою Robokassa Стандартний модуль Robokassa з Маркетплейсу часто не дає потрібної гнучкості: ви не можете керувати параметрами `Shp_*`, змінювати логіку фіскалізації або оптимізувати обробку під високі навантаження. Кастомна інтеграція вирішує ці проблеми — в
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція 1С-Бітрікс з платіжною системою Robokassa
Середній
~1-2 тижні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    996
  • 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
    736
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1135

Інтеграція 1С-Бітрікс з платіжною системою Robokassa

Стандартний модуль Robokassa з Маркетплейсу часто не дає потрібної гнучкості: ви не можете керувати параметрами Shp_*, змінювати логіку фіскалізації або оптимізувати обробку під високі навантаження. Кастомна інтеграція вирішує ці проблеми — ви отримуєте повний контроль над формуванням підпису, обробкою сповіщень та логікою помилок. Наш досвід — 7+ років інтеграцій Бітрікс з платіжними системами, понад 50 успішних проектів. Ми гарантуємо коректну обробку платежів і повну відповідність вимогам 54-ФЗ.

Чому кастомна інтеграція Robokassa надійніша за готовий модуль?

Готовий модуль з Маркетплейсу обмежений у налаштуваннях: не дозволяє гнучко керувати параметрами Shp_*, не підтримує нестандартні сценарії фіскалізації та не оптимізований під високі навантаження. Кастомна інтеграція дає повний контроль над формуванням підпису, обробкою сповіщень і логікою помилок. Вона в 3 рази швидше обробляє платежі завдяки оптимізованому кешуванню та паралельним запитам до API Бітрікс і Robokassa.

Критерій Стандартний модуль Кастомна інтеграція
Керування Shp_* Обмежено Повний контроль
Фіскалізація Базова, часті помилки Гнучке налаштування під 54-ФЗ
Продуктивність Середня Оптимізована (кешування, паралельні запити)
Гарантія Відсутня 12 місяців

Схема роботи

  1. Бітрікс формує підписане посилання на форму Robokassa
  2. Покупець оплачує (картка, гаманець, готівка)
  3. Robokassa надсилає POST-сповіщення на ResultURL магазину
  4. Магазин перевіряє підпис, підтверджує оплату
  5. Robokassa перенаправляє покупця на SuccessURL або FailURL

Параметри та формування підпису

Базові параметри запиту до Robokassa:

Параметр Значення Опис
MerchantLogin з ОК Логін магазину
OutSum сума Сума оплати
InvId orderId Номер замовлення
Description текст Опис (до 100 символів)
SignatureValue MD5/SHA256 Підпис
IsTest 1 Тестовий режим
Encoding utf-8 Кодування

Підпис формується як MD5 або SHA256 (залежить від налаштувань магазину в ОК Robokassa):

// MD5 підпис $signature = md5("{$merchantLogin}:{$outSum}:{$invId}:{$password1}"); // SHA256 (рекомендується) $signature = hash('sha256', "{$merchantLogin}:{$outSum}:{$invId}:{$password1}"); // URL платіжної форми $payUrl = 'https://auth.robokassa.ru/Merchant/Index.aspx?' . http_build_query([ 'MerchantLogin' => $merchantLogin, 'OutSum' => number_format($outSum, 2, '.', ''), 'InvId' => $invId, 'Description' => $description, 'SignatureValue' => $signature, 'Encoding' => 'utf-8', 'IsTest' => $isTest ? 1 : 0, ]); 

Обробка ResultURL

Robokassa надсилає POST з параметрами на ResultURL. Перевірка підпису обов'язкова — використовується Password2 (відрізняється від Password1):

$outSum = $_POST['OutSum']; $invId = $_POST['InvId']; $received = strtolower($_POST['SignatureValue']); $password2 = $this->getBusinessValue($payment, 'ROBOKASSA_PASSWORD2'); $expected = strtolower(hash('sha256', "{$outSum}:{$invId}:{$password2}")); if ($received !== $expected) { echo 'bad sign'; exit; } // Підпис вірний — підтверджуємо оплату $order = \Bitrix\Sale\Order::loadByAccountNumber($invId); // ... setPaid('Y'), save() echo "OK{$invId}"; // Robokassa чекає саме цю відповідь 

Критично: відповідь на ResultURL має бути строго OK{InvId}. Якщо Robokassa не отримує цю відповідь — вважає сповіщення невідправленим і пробує знову (до 8 разів).

Додаткові параметри (Shp_*)

Robokassa підтримує користувацькі параметри з префіксом Shp_. Вони включаються в підпис і повертаються в ResultURL. Використовуйте для передачі ідентифікатора замовлення в Бітрікс, якщо InvId зайнятий або потрібні додаткові дані:

$signature = hash('sha256', "{$merchantLogin}:{$outSum}:{$invId}:{$password1}:Shp_item={$itemId}&Shp_user={$userId}" ); // Параметри Shp_ в підпис включаються в алфавітному порядку ключів 

Фіскалізація

Robokassa підтримує ФЗ-54 через параметр Receipt в base64-encoded JSON:

$receipt = [ 'sno' => 'osn', // система оподаткування 'items' => array_map(function($basketItem) { return [ 'name' => $basketItem->getField('NAME'), 'quantity' => $basketItem->getQuantity(), 'sum' => $basketItem->getPrice() * $basketItem->getQuantity(), 'payment_method' => 'full_prepayment', 'payment_object' => 'commodity', 'tax' => 'vat20', ]; }, iterator_to_array($order->getBasket())), ]; $receiptEncoded = base64_encode(json_encode($receipt, JSON_UNESCAPED_UNICODE)); 

Як забезпечити коректну фіскалізацію чеків?

Для дотримання 54-ФЗ при оплаті через Robokassa необхідно передавати в запиті параметр Receipt з коректними даними про товари, ставки ПДВ та систему оподаткування. Часта помилка — невірний формат payment_object або tax. У нашій практиці ми використовуємо попередню валідацію чека через тестовий контур Robokassa. Це дозволяє уникнути відмов фіскального накопичувача та штрафів.

Приклад із практики: інтернет-магазин побутової техніки

Нещодавно ми впровадили кастомну інтеграцію Robokassa для великого магазину побутової техніки. Стандартний модуль не справлявся з навантаженням у 2000+ замовлень на день — платежі зависали, фіскалізація сипала помилки. Ми переписали модуль: додали асинхронну обробку ResultURL через чергу, оптимізували запити до інфоблоків та налаштували паралельне відправлення чеків. У результаті час підтвердження платежу знизився з 3 секунд до 0.4 секунди, а число неуспішних фіскалізацій впало до нуля. Замовник заощадив на поверненнях та штрафах — інвестиції в інтеграцію окупилися за пару місяців.

Що входить у роботу

Ми надаємо інтеграцію «під ключ»:

  • Аналіз поточної схеми оплати на сайті
  • Розробка модуля з повним циклом: генерація посилання, ResultURL, SuccessURL, FailURL
  • Налаштування додаткових параметрів Shp_* для передачі метаданих замовлення
  • Реалізація фіскалізації відповідно до 54-ФЗ
  • Тестування на тестовому та бойовому контурі Robokassa
  • Документація по API та інструкція з обслуговування
  • Гарантія на код — 12 місяців

Строки та бюджет

Задача Строк
Обробник: формування посилання + ResultURL 1–2 дні
Додаткові параметри Shp_* 0.5 дня
Фіскалізація +1–2 дні
Тестування повного циклу 0.5 дня

Вартість розраховується індивідуально і залежить від складності — в середньому вона порівнянна з трьома місяцями абонементу на готовий модуль, але дає набагато більше контролю. Оцінимо ваш проект за 1 день.

Зв'яжіться з нами для консультації — ми гарантуємо стабільну роботу навіть при пікових навантаженнях. Замовте інтеграцію, і ми налаштуємо все під ваш бізнес.