Налаштування інтернет-еквайрингу на 1С-Бітрікс під ключ

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування інтернет-еквайрингу на 1С-Бітрікс під ключ
Простий
~1 день
Часті запитання

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

Етапи розробки

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

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

Як налаштувати інтернет-еквайринг на 1С-Бітрікс?

На перший погляд задача «підключити оплату карткою» здається тривіальною, аж до першого інциденту в продакшні: статуси замовлень не оновлюються, гроші прийшли — а замовлення висить в «Очікує оплати». Причина — webhook від банку не доходить до сервера через WAF або помилку PHP. Один із проєктів — інтернет-магазин автозапчастин з каталогом на 50 000 товарів. При переході на виділений сервер Cloudflare заблокував POST-запити від банку. Діагностика зайняла дві години, рішення — налаштування винятків у фаєрволі. Після цього ми розробили універсальний чек-лист для перевірки доставки сповіщень. Ми, інженери з десятирічним досвідом у Бітрікс-розробці (10+ років, 200+ проєктів), розберемо повний цикл: від вибору схеми до діагностики. Наш підхід — надійність та прозорість, гарантуємо працездатність інтеграції.

Докладніше про технологію webhook можна прочитати на Wikipedia Webhook.

Покроковий план налаштування

  1. Аудит поточної платіжної системи.
  2. Вибір оптимальної схеми: готовий модуль, кастомний обробник або JS-віджет.
  3. Розробка або встановлення платіжного обробника.
  4. Налаштування webhook та доставки сповіщень.
  5. Інтеграція з 1С та фіскалізацією (54-ФЗ).
  6. Тестування в бойовому режимі та моніторинг.

Три підходи до інтеграції

Готовий модуль з Маркетплейсу — Сбербанк, Тінькофф, ЮKassa, Альфа-Банк мають офіційні модулі. Встановлюються через /bitrix/admin/update_system.php. Швидко, підтримується вендором, але обмежена гнучкість.

Кастомний обробник у /local/ — коли стандартний модуль не покриває потреби: нестандартне маппування статусів, кастомна фіскалізація, кілька еквайрів. Кастомний обробник у 2 рази надійніший за готовий модуль при високому навантаженні.

JS-віджет еквайра — CloudPayments, Robokassa вбудовуються скриптом. Частина роботи на клієнті, сервер лише верифікує результат.

Встановлення та налаштування (приклад: Тінькофф)

Для Тінькофф Бітрікс еквайринг ми використовуємо офіційний модуль. Після встановлення модуля з Маркетплейсу: Магазин → Налаштування → Платіжні системи → Додати → Тінькофф.

Параметр Джерело
Terminal Key ОК Тінькофф Бізнес → Інтернет-еквайринг
Secret Key Там же
Notification URL https://shop.ru/bitrix/tools/sale_ps_result.php
Success URL Сторінка успішної оплати

Кастомний обробник: мінімальний каркас

Код обробника
<?php
// local/php_interface/include/sale_payment/mybank/handler.php

use Bitrix\Sale\PaySystem\BaseServiceHandler;
use Bitrix\Sale\PaySystem\ServiceResult;
use Bitrix\Sale\Payment;
use Bitrix\Main\Request;

class MyBankHandler extends BaseServiceHandler
{
    public function initiatePay(Payment $payment, Request $request): ServiceResult
    {
        $result = new ServiceResult();
        $order  = $payment->getCollection()->getOrder();

        $session = $this->createGatewaySession(
            $order->getId(),
            $payment->getSum()
        );

        if (empty($session['payUrl'])) {
            $result->addError(new \Bitrix\Main\Error('Gateway error: ' . ($session['error'] ?? '')));
            return $result;
        }

        $result->setPaymentUrl($session['payUrl']);
        return $result;
    }

    public function processRequest(Payment $payment, Request $request): ServiceResult
    {
        $result = new ServiceResult();
        $data   = json_decode(file_get_contents('php://input'), true);

        // ЗАВЖДИ верифікуємо підпис — не довіряємо даним із запиту
        if (!$this->verifySignature($data)) {
            $result->addError(new \Bitrix\Main\Error('Invalid signature'));
            return $result;
        }

        if (($data['status'] ?? '') === 'PAID') {
            $result->setOperationType(ServiceResult::MONEY_COMING);
        }

        return $result;
    }
}

Діагностика: webhook не доходить

Найчастіша причина — статуси замовлень не змінюються, хоча гроші списані. Алгоритм діагностики:

# 1. Перевіряємо доступність endpoint ззовні
curl -v -X POST https://shop.ru/bitrix/tools/sale_ps_result.php   -d 'test=1'
# Має повернути 200, не 403

# 2. Дивимось access.log на запити від IP банку
grep "sale_ps_result" /var/log/nginx/access.log | tail -50

# 3. Тимчасове логування (тільки при налагодженні!)
file_put_contents('/tmp/ps_debug.log',
    date('Y-m-d H:i:s') . ' ' . $_SERVER['REMOTE_ADDR'] . ' '
    . file_get_contents('php://input') . PHP_EOL, FILE_APPEND
);

Типові винуватці: Cloudflare Bot Fight Mode блокує POST-запити без User-Agent; fail2ban блокує IP банку за кількістю запитів; PHP fatal error без запису в лог; HTTP→HTTPS редирект втрачає тіло POST. Перевірте webhook Бітрікс на відповідність.

Чому кастомний обробник кращий за готовий модуль?

Готовий модуль не дозволяє гнучко маппувати статуси замовлень: наприклад, у Тінькофф статус «SUCCESS» може означати «Оплачено» або «Чекає підтвердження». Кастомний обробник дає 100% контроль над логікою, плюс можливість об'єднати кілька еквайрів в один інтерфейс. При інтеграції з 1С та фіскалізацією (54-ФЗ) кастомний підхід обов'язковий — готові модулі часто не підтримують АТОЛ у нестандартних сценаріях. Вимоги 54-ФЗ регулюються Федеральным законом. Кастомний обробник у 2 рази гнучкіший та надійніший за готове рішення.

Коли потрібна фіскалізація?

Фіскалізація обов'язкова для всіх онлайн-платежів на території РФ. При оплаті карткою касовий чек має бути надісланий покупцю в електронному вигляді. Налаштування фіскалізації включає інтеграцію з ОФД та АТОЛ. У нашому стеку — АТОЛ Онлайн, який підтримує 54-ФЗ. Підключення фіскалізації додає 1–2 дні до терміну розробки.

Як ми забезпечуємо надійність інтеграції?

Після налаштування проводимо навантажувальне тестування: емулюємо до 50 одночасних запитів від банку, перевіряємо коректність обробки дублів та збоїв. Для критичних магазинів налаштовуємо моніторинг webhook-ів через cron — кожні 5 хвилин перевіряємо, що endpoint відповідає 200. У договорі фіксуємо гарантію на доставку сповіщень: якщо замовлення оплачене, статус зміниться максимум за 30 секунд.

Двостадійний еквайринг

Для магазинів, що відвантажують після резервування товару:

// При оформленні замовлення — холдуємо (PayType=T у Тінькофф)
// При зміні статусу на "Відвантажено" — підтверджуємо списання

AddEventHandler('sale', 'OnSaleStatusOrder', function(\Bitrix\Main\Event $event) {
    $order = $event->getParameter('ENTITY');
    if ($order->getField('STATUS_ID') !== 'OD') return;

    foreach ($order->getPaymentCollection() as $payment) {
        if ($payment->getField('PS_STATUS') === 'hold') {
            capturePayment($payment->getField('PS_INVOICE_ID'));
        }
    }
});

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

Повний пакет при замовленні налаштування еквайрингу під ключ: аудит поточної платіжної системи, вибір оптимальної схеми, розробка або доопрацювання обробника (включаючи фіскалізацію), налаштування webhook-ів та тестування доставки сповіщень, інтеграція з 1С (обмін статусами, синхронізація), документація з налаштувань та логування, гарантійна підтримка 1 місяць після запуску.

Терміни та наші цифри

Задача Термін
Встановлення та налаштування готового модуля 0.5–1 день
Кастомний обробник з нуля 2–4 дні
Двостадійний еквайринг +1–2 дні
Налагодження webhook та тестування 0.5–1 день

Вартість налаштування готового модуля — від 15 000 грн, кастомного обробника — від 30 000 грн, двостадійний еквайринг — від 40 000 грн. Точна ціна залежить від складності інтеграції з 1С та фіскалізацією.

Наша компанія має 10+ років досвіду у розробці на 1С-Бітрікс (200+ реалізованих проєктів). Ми працюємо з 1С-Бітрікс понад 10 років, реалізували 200+ проєктів для інтернет-магазинів та B2B-порталів. Більше 50 з них — з кастомним еквайрингом. У разі проблем реагуємо за 2 години, надаємо сертифікати відповідності.

Наша розробка еквайрингу для 1С-Бітрікс включає налаштування платіжного обробника, webhook Бітрікс, онлайн-каси 54-ФЗ та інтеграцію з Тінькофф. Ми пропонуємо готовий модуль Бітрікс еквайрингу для швидкого старту та кастомний обробник для складних проєктів.

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

Як уникнути типових помилок при підключенні платіжних систем на 1С-Бітрікс

Найчастіша помилка при інтеграції — забути про callback. Покупець оплатив замовлення, гроші списалися, а статус у b_sale_order не оновився: менеджер бачить «Очікування оплати» і починає дзвонити клієнту. Причина — неправильний URL у налаштуваннях шлюзу або обробник, що падає з 500 при нестандартній структурі відповіді. Ми пропонуємо послуги з підключення платіжних систем на 1С-Бітрікс з повним тестуванням усіх сценаріїв: успішна оплата, відмова, тайм-аут, часткове повернення, повторний callback.

Чому callback-сповіщення критичні?

Кожен платіжний шлюз надсилає сповіщення на ваш сервер. Якщо обробник не гарантує ідемпотентність — подвійний виклик призведе до подвійного списання. Ми завжди реалізуємо перевірку за ID сповіщення (external_id) та блокування повторної обробки в \Bitrix\Sale\Order. Також критично налаштувати URL callback в особистому кабінеті агрегатора — /bitrix/tools/sale_ps_result.php для штатного модуля. Якщо використовуєте кастомний обробник, перевіряємо, що він віддає HTTP 200 навіть при помилці параметрів (шлюз не повинен повторювати запит нескінченно). Через некоректний callback втрачається до 30% успішних оплат — покупець платить, але статус не оновлюється, і ви не отримуєте гроші.

Приклад простого обробника callback з перевіркою підпису
use Bitrix\Sale\Order;
use Bitrix\Main\Application;

// Отримуємо дані сповіщення
$data = Application::getInstance()->getContext()->getRequest()->toArray();
// Перевіряємо підпис (залежить від агрегатора)
if (!checkSignature($data, 'SECRET_KEY')) {
    die('FAIL');
}
// Шукаємо замовлення за зовнішнім ID
$order = Order::loadByExternalId((int)$data['order_number']);
if ($order && $order->isPaid() === false) {
    $order->setField('PAYED', 'Y');
    $order->save();
}
echo 'OK';

Як вибрати платіжний агрегатор для 1С-Бітрікс?

Вибір залежить від географії покупців, середнього чека та потреби у розстрочці. Для ринку РФ базовий набір — ЮKassa (усі основні методи, фіскалізація з коробки) та CloudPayments (віджет без редиректу, Apple Pay, Google Pay). Якщо працюєте з великими корпоративними клієнтами — додайте Ощадбанк (SberPay, СБП). Для міжнародних продажів — Stripe або PayPal. Ми часто використовуємо дворівневу схему: основний агрегатор + резервний (автоперемикання при падінні). CloudPayments забезпечує на 15–25% більше успішних оплат за рахунок віджету без редиректу — покупець не йде з сайту.

Які платіжні агрегатори та способи оплати ми використовуємо

ЮKassa

Один договір — всі основні способи: картки Visa/MasterCard/МИР, ЮMoney, SberPay, інтернет-банки, розстрочка. Фіскалізація за 54-ФЗ з коробки (через модуль sale). Штатний обробник /bitrix/modules/sale/handlers/paysystem/yandexpay/ покриває базові сценарії. Для холдування (двостадійна оплата), підписок або спліт-платежів — кастомна інтеграція через API v3. Callback налаштовуємо на /bitrix/tools/sale_ps_result.php, парсимо notification та оновлюємо \Bitrix\Sale\Order через setField('PAYED', 'Y').

CloudPayments

Заточений на конверсію: віджет оплати прямо на сторінці чекауту, без редиректу на зовнішній домен. Покупець не йде з сайту — відсоток відмов на етапі оплати падає. Підтримує рекурентні платежі (токенізація картки через cryptogram), Apple Pay та Google Pay. 3D Secure з інтелектуальною маршрутизацією — запитується лише при високому ризику фроду. Інтеграція з Бітрікс — через REST API CloudPayments та кастомний обробник.

Тинькофф Оплата

API-інтеграція через TinkoffPaymentAPI (готовий модуль або ручна реалізація). QR-код для оплати через додаток, розстрочка «Тинькофф Кредит» — критично для дорогих товарів. Часткові повернення через метод Cancel — без дзвінків у банк, все з адмінки Бітрікс.

Ощадбанк (SberPay та СБП)

SberPay — оплата за push-сповіщенням або QR, СБП — комісія нижча порівняно з картками. На обсязі це відчутна економія. Холдування через API registerPreAuth / deposit. Враховуємо, що для SberPay потрібне підписання окремого договору з банком.

Apple Pay та Google Pay

Оплата в два дотики, без введення даних картки. Підключаються через агрегатор (ЮKassa, CloudPayments, Тинькофф). Важливі нюанси:

  • Apple Pay вимагає верифікації домену: файл apple-developer-merchantid-domain-association в /.well-known/. Без нього кнопка не з'явиться.
  • Розміщення кнопок строго за гайдлайнами Apple та Google — інакше відмова в рев'ю.
  • Фолбек на стандартну форму оплати, якщо пристрій не підтримує безконтактну оплату.
Спосіб оплати Пристрої Браузери
Apple Pay iPhone, iPad, Mac Safari
Google Pay Android, Chrome Chrome, Firefox, Edge
Samsung Pay Samsung Galaxy Samsung Internet

Розстрочка, BNPL та робота з 54-ФЗ

Якщо середній чек великий і конверсія просідає — розстрочка знімає ціновий бар'єр. Ми підключаємо:

  • Тинькофф Розстрочка (3–24 місяці)
  • Покупай зі Сбером
  • Мокка / Долями — BNPL: 4 платежі, 0% для покупця

Інтеграція: віджет з розрахунком щомісячного платежу на картці товару («від суми на місяць»), передача даних замовлення в банк через API, обробка статусів (схвалення, відмова, очікування документів) в обробниках OnSaleStatusOrder.

Фіскалізація за 54-ФЗ — обов'язкова вимога. Штраф за відсутність чека — до значної суми. Відповідно до Федерального закону № 54-ФЗ касовий чек повинен бути надісланий покупцю в електронній формі. Підключаємо АТОЛ Онлайн, Orange Data, Модуль.Каса, Евотер, Штрих-М. Налаштування в Бітрікс — розділ «Каси» в модулі sale:

  • Ставка ПДВ, предмет та спосіб розрахунку — помилка в будь-якому полі може призвести до штрафу при перевірці.
  • Чеки при передоплаті та частковій оплаті (два чеки: при оплаті та при відвантаженні).
  • Чеки повернення при скасуванні через \Bitrix\Sale\Cashbox\Cashbox::addChecks().
  • Моніторинг: якщо чек не пішов — алерт менеджеру.

При торгівлі взуттям, одягом, парфумерією обов'язкова передача кодів маркування в чеку. Інтеграція з «Честний ЗНАК», сканування DataMatrix при збірці замовлення, автоматичний вивід з обігу при продажу через \Bitrix\Catalog\Product\Marking.

Супровід платежів: повернення, мультивалютність, безпека

Повернення

Повне та часткове повернення без дзвінків у банк — через API агрегатора (refund / cancel). Чек повернення формується автоматично, оновлюється статус замовлення, перераховується сума, сповіщається покупець. Строки: електронні гаманці та СБП — 1–3 дні, банківська картка — до 30 робочих днів (залежить від банку-емітента).

Мультивалютність

Типи цін у b_catalog_price для кожної валюти, курси через API ЦБ (\Bitrix\Currency\CurrencyManager::updateCBRFRates()) або ручне введення. Конвертація на рівні каталогу — покупець бачить ціни у своїй валюті. Для прийому доларів/євро підключаємо Stripe, PayPal. Враховуємо комісії за конвертацію при розрахунку маржинальності.

Безпека

Дані карток обробляються на стороні сертифікованого шлюзу (PCI DSS) — номер картки ніколи не проходить через ваш сервер. Антифрод на рівні агрегатора. Логування всіх подій у b_sale_order_change для аудиту. Моніторинг аномалій: стрибок транзакцій, нетипова географія — алерт.

Як ми працюємо та які орієнтовні терміни?

  1. Аналіз — які способи оплати потрібні, ринки, обсяг транзакцій, поточний агрегатор.
  2. Підбір рішень — іноді два агрегатори краще одного: ЮKassa як основний, CloudPayments як резерв — при падінні одного трафік іде на другий.
  3. Інтеграція — тестуємо кожен сценарій: успішна оплата, відмова 3DS, тайм-аут шлюзу, подвійний callback, часткове повернення.
  4. Фіскалізація — онлайн-каса, перевірка коректності чеків на тестових замовленнях.
  5. Моніторинг — алерти при збоях шлюзу, дашборд конверсії на етапі оплати.
Задача Орієнтовний термін
Підключення однієї платіжної системи 2–5 днів
Комплексне налаштування платежів (кілька агрегаторів) 1–2 тижні
Підключення онлайн-каси (54-ФЗ) 3–5 днів
Інтеграція розстрочки 3–5 днів
Налаштування мультивалютності 1 тиждень
Повна платіжна інфраструктура 3–5 тижнів

Як підібрати оптимальний платіжний агрегатор?

Вибір агрегатора залежить від специфіки бізнесу: обсягу продажів, географії клієнтів, необхідності у розстрочці або рекурентних платежах. Ми допомагаємо проаналізувати ваші потреби та обрати найкраще рішення. Маємо понад 7 років досвіду в інтеграції платіжних систем на Бітрікс, реалізували більше 50 проектів. Замовте консультацію — ми розповімо про плюси та мінуси кожного варіанту.

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

  • Повне налаштування вибраних платіжних систем в 1С-Бітрікс: модулі, обробники, callback, тестування.
  • Документація з інтеграції (схема роботи шлюзів, опис обробників, логи).
  • Навчання вашого менеджера роботі з платіжними модулями та поверненнями.
  • Технічна підтримка на етапі запуску та перші 2 тижні експлуатації.
  • Моніторинг — налаштовуємо алерти на помилки та падіння конверсії.

Всі роботи виконуються сертифікованими розробниками 1С-Бітрікс. Гарантуємо працездатність кожного сценарію. Для швидкої оцінки вашого проекту залиште заявку на сайті або зв'яжіться з нами — підберемо оптимальне рішення для вашого бізнесу.