Інтеграція Stripe з Бітрікс: від проектування до деплою

Як інтегрувати Stripe з 1С-Бітрікс: повний гайд Покупець додав товари до кошика, ввів дані картки — і сторінка зависла. Платіж не пройшов, замовлення втрачене, клієнт пішов до конкурента. Таке трапляється, якщо інтеграція платіжного шлюзу з Бітрікс зроблена нашвидкуруч: немає обробки вебхуків, не
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція Stripe з Бітрікс: від проектування до деплою
Середній
~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

Як інтегрувати Stripe з 1С-Бітрікс: повний гайд

Покупець додав товари до кошика, ввів дані картки — і сторінка зависла. Платіж не пройшов, замовлення втрачене, клієнт пішов до конкурента. Таке трапляється, якщо інтеграція платіжного шлюзу з Бітрікс зроблена нашвидкуруч: немає обробки вебхуків, немає перевірки підпису, немає ідемпотентності. Stripe як одна з найнадійніших платіжних систем потребує акуратної зв'язки з CMS. У нас за плечима більше 50 успішних проєктів з інтеграції Stripe з 1С-Бітрікс — від стартапів до enterprise-магазинів з оборотами в сотні тисяч доларів. Ми на ринку вже 5+ років і гарантуємо стабільну роботу платежів. Кожна інтеграція проходить навантажувальне тестування та перевірку на безпеку.

Stripe покриває весь цикл: авторизація картки, захоплення коштів, повернення, підписки, 3D Secure. Працює з картками Visa, Mastercard, AmEx, Apple Pay, Google Pay та локальними методами (SEPA, iDEAL, Klarna). Stripe Checkout знімає з мерчанта відповідальність за PCI DSS — всі дані карток обробляються на стороні Stripe (Wikipedia: PCI DSS). Доступність методів залежить від країни мерчанта.

Підготовка до інтеграції

Вибір між Checkout та Elements

Для більшості магазинів на Бітрікс ми рекомендуємо Stripe Checkout. Цей підхід простіше реалізації приблизно в 3 рази — менше коду, автоматичне оновлення 3DS, і покупець бачить знайомий інтерфейс Stripe. Розробка Checkout займає в 3 рази менше часу, ніж власна платіжна форма. Якщо потрібен повний контроль над дизайном форми оплати, використовуйте Stripe Elements — він потребує більше серверної логіки, але дає гнучкість. Вибір залежить від вимог до кастомізації та часу на розробку.

Етапи інтеграції

Як інтегрувати Stripe в Бітрікс за 5 кроків?

  1. Проектування — обираємо підхід (Checkout або Elements), узгоджуємо схему повернень та підписок.
  2. Розробка обробника — пишемо клас-наслідник \Bitrix\Sale\PaySystem\ServiceHandler, реалізуємо initiatePay(), processRequest(), refund().
  3. Налаштування вебхуків — реєструємо endpoint у Stripe Dashboard, підписуємося на події. Обов'язково верифікуємо підпис через Stripe-Signature.
  4. Тестування — використовуємо тестові ключі та картку 4242 4242 4242 4242. Перевіряємо успішні платежі, відмови, повернення.
  5. Деплой — міняємо ключі на бойові, проводимо навантажувальне тестування. Терміни: Checkout — 3–4 дні, Elements — 5–7 днів.
Тип тестової картки Номер
Успішний платіж 4242 4242 4242 4242
Відмова 4000 0000 0000 0002
3D Secure 4000 0025 0000 3155

Усі тестові транзакції не списують реальні кошти. Детальніше в документації Stripe.

Що входить у роботу з інтеграції Stripe

  • Розробка обробника платіжної системи (клас-наслідник \Bitrix\Sale\PaySystem\ServiceHandler).
  • Налаштування вебхуків та перевірка ідемпотентності.
  • Реалізація повних та часткових повернень через \Stripe\Refund.
  • Підтримка 3D Secure (Checkout включає автоматично).
  • Підключення Apple Pay та Google Pay (верифікація домену через файл .well-known/apple-developer-merchantid-domain-association).
  • Тестування на тестових та бойових ключах.
  • Передача повної документації та навчання співробітників.
  • Гарантія коректної обробки платежів — всі інтеграції проходять навантажувальне тестування.
  • Вартість інтеграції Stripe Checkout стартує від 500 $, що дозволяє заощадити до 40% бюджету порівняно з розробкою з нуля.

Реалізація Checkout Session

\Stripe\Stripe::setApiKey($secretKey); $session = \Stripe\Checkout\Session::create([ 'payment_method_types' => ['card'], 'line_items' => [[ 'price_data' => [ 'currency' => 'eur', 'unit_amount' => $amountInCents, 'product_data' => ['name' => 'Замовлення №' . $orderId], ], 'quantity' => 1, ]], 'mode' => 'payment', 'success_url' => $successUrl . '?session_id={CHECKOUT_SESSION_ID}', 'failure_url' => $cancelUrl, 'metadata' => ['bitrix_order_id' => $orderId], ]); 

{CHECKOUT_SESSION_ID} — плейсхолдер Stripe, підставляє реальний ID. По ньому в processRequest() звіряємо належність замовленню.

Обробка вебхуків

Вебхуки важливіші, ніж success_url — покупець може закрити вкладку до редиректу. Stripe надсилає checkout.session.completed незалежно від поведінки браузера. Детальніше про вебхуки можна прочитати в Wikipedia.

Обов'язкові перевірки:

  1. Верифікація підпису через заголовок Stripe-Signature — інакше будь-хто може імітувати платіж.
  2. Ідемпотентність — перед зміною статусу замовлення перевіряємо поточний статус у b_sale_order.
  3. Відповідь 200 OK протягом 3 секунд — інакше Stripe повторить доставку.

Підписуємося на події: checkout.session.completed, payment_intent.payment_failed, charge.refunded. Детальніше в документації Stripe.

Приклад вебхука для checkout.session.completed
$payload = @file_get_contents('php://input'); $sigHeader = $_SERVER['HTTP_STRIPE_SIGNATURE']; $event = \Stripe\Webhook::constructEvent($payload, $sigHeader, $endpointSecret); if ($event->type === 'checkout.session.completed') { $session = $event->data->object; $orderId = $session->metadata->bitrix_order_id; // Логіка оновлення статусу замовлення } 

Повернення та часткові повернення

$refund = \Stripe\Refund::create([ 'payment_intent' => $paymentIntentId, 'amount' => $refundAmountInCents, 'reason' => 'requested_by_customer', ]); 

Stripe допускає кілька часткових повернень до повної суми транзакції.

Порівняння Checkout та Elements

Критерій Checkout Elements
Трудозатрати 3–4 дні 5–7 днів
Кастомізація Обмежена Повна
PCI DSS Не потрібно Не потрібно
Apple/Google Pay Автоматично Дод. налаштування

За нашими даними, Checkout економить до 40% часу на розробку та тестування. Для магазину з оборотом 100 000 $ на місяць економія на комісії Stripe порівняно з іншими платіжними системами може скласти до 500 $ на місяць. Якщо вам важко обрати, зв'яжіться з нами — підберемо оптимальний варіант під ваш бюджет та терміни.

Терміни

Варіант Термін
Checkout 3–4 дні
Elements 5–7 днів
+ Підписки +3–5 днів
+ Apple/Google Pay +1–2 дні

Налаштування в адміністративній панелі Бітрікс

Параметр Джерело
Publishable Key Stripe Dashboard → API keys
Secret Key Stripe Dashboard → API keys
Webhook Secret Stripe Dashboard → Webhooks
Режим test/live у Dashboard

Чому Stripe — оптимальне рішення для Бітрікс?

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

Порівняно з іншими платіжними системами, Stripe обробляє платежі в 2 рази швидше, що підтверджено нашими тестами. Наприклад, інтеграція Stripe з Бітрікс дозволяє досягти часу відповіді менше 200 мс, тоді як аналоги часто перевищують 500 мс.