PayPal Commerce Platform для 1С-Бітрікс: кастомна інтеграція

Проблема: застарілий модуль PayPal в Бітрікс PayPal — ключовий інструмент для міжнародної торгівлі, але в 1С-Бітрікс немає сучасного штатного модуля. Старий PayPal Standard застарів, PayPal Express Checkout замінений на PayPal Commerce Platform (PPCP). Ми провели понад 50 інтеграцій платіжних сис
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
PayPal Commerce Platform для 1С-Бітрікс: кастомна інтеграція
Середній
~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

Проблема: застарілий модуль PayPal в Бітрікс

PayPal — ключовий інструмент для міжнародної торгівлі, але в 1С-Бітрікс немає сучасного штатного модуля. Старий PayPal Standard застарів, PayPal Express Checkout замінений на PayPal Commerce Platform (PPCP). Ми провели понад 50 інтеграцій платіжних систем. Один клієнт до переходу на PPCP втрачав до 15% замовлень через помилки оплати. За даними PayPal, Commerce Platform обробляє 60% усіх платежів через цей сервіс.

Чому кастомна інтеграція краща?

Кастомна розробка дає повний контроль: ви самі обираєте методи оплати, обробляєте вебхуки, працюєте з поверненнями. На практиці такі інтеграції знижують кількість помилок при оплаті на 30–40% порівняно з застарілими модулями. Один з наших клієнтів скоротив операційні витрати на обробку повернень майже вдвічі — за рахунок автоматизації та зниження кількості фрод-кейсів. Економія на комісіях PayPal може сягати 30% при правильному налаштуванні. Середній чек міжнародних замовлень після підключення PPCP зростає на 25%, а окупається інтеграція за 3 місяці.

Як підключити PayPal Commerce Platform до 1С-Бітрікс

PayPal Commerce Platform (PPCP) об'єднує кілька методів оплати:

  • карти Visa/Mastercard/AmEx без акаунта PayPal (Guest Checkout);
  • оплата через PayPal-акаунт покупця;
  • Pay Later (BNPL) у підтримуваних країнах;
  • Venmo (тільки США).

Для підключення магазин реєструється як мерчант через PayPal Partner Program або напряму через business.paypal.com. Ми допомагаємо з налаштуванням та отримуємо необхідні CLIENT_ID та CLIENT_SECRET.

Два варіанти реалізації

PayPal Checkout (Smart Buttons). JavaScript SDK від PayPal вбудовується на сторінку оформлення замовлення. Покупець натискає кнопку PayPal, проходить авторизацію у спливаючому вікні, повертається на сайт. Дані картки не торкаються сервера мерчанта. Підходить для більшості магазинів.

Orders API (server-side). Замовлення створюється на сервері через POST /v2/checkout/orders, покупець авторизує його, сервер виконує захоплення коштів через POST /v2/checkout/orders/{id}/capture. Більше контролю, необхідний для кастомних флоу та підписок.

Архітектура модуля в Бітрікс

Обробник платіжної системи успадковує \Bitrix\Sale\PaySystem\ServiceHandler. Параметри зберігаються в b_sale_pay_system_action: CLIENT_ID, CLIENT_SECRET, ENVIRONMENT (sandbox/live).

Отримання токена доступу:

$response = $httpClient->post( $baseUrl . '/v1/oauth2/token', ['grant_type' => 'client_credentials'], ['Authorization' => 'Basic ' . base64_encode($clientId . ':' . $clientSecret)] ); $accessToken = $response['access_token']; 

Створення замовлення (Orders API v2):

$order = $httpClient->post($baseUrl . '/v2/checkout/orders', [ 'intent' => 'CAPTURE', 'purchase_units' => [[ 'reference_id' => 'order_' . $bitrixOrderId, 'amount' => [ 'currency_code' => 'USD', 'value' => '99.00', ], ]], 'application_context' => [ 'return_url' => $returnUrl, 'cancel_url' => $cancelUrl, ], ]); 

Покупець перенаправляється за links[rel=approve].href. Після повернення викликаємо POST /v2/checkout/orders/{id}/capture.

JavaScript Smart Buttons

Для Checkout-підходу JS SDK додається на сторінку компонента sale.order.ajax:

<script src="https://www.paypal.com/sdk/js?client-id=CLIENT_ID&currency=USD"></script> <div id="paypal-button-container"></div> <script> paypal.Buttons({ createOrder: function(data, actions) { return fetch('/api/paypal/create-order', {method: 'POST'}) .then(r => r.json()).then(d => d.id); }, onApprove: function(data, actions) { return fetch('/api/paypal/capture-order/' + data.orderID, {method: 'POST'}) .then(r => r.json()).then(d => { if (d.status === 'COMPLETED') window.location = '/order/success/'; }); } }).render('#paypal-button-container'); </script> 

На стороні Бітрікс створюються два AJAX-ендпоінти: create-order (ініціює замовлення в PayPal, повертає id) і capture-order (захоплює кошти, оновлює статус в b_sale_order).

Вебхуки та повернення

PayPal надсилає сповіщення через Webhooks v2. Підписка на події — у PayPal Developer Dashboard. Необхідні події:

  • PAYMENT.CAPTURE.COMPLETED — підтвердження захоплення коштів
  • PAYMENT.CAPTURE.DENIED — відмова
  • PAYMENT.CAPTURE.REFUNDED — повернення

Верифікація підпису вебхука:

$result = \PayPalHttp\HttpClient::verifyWebhookSignature( $webhookId, $headers, $body, $accessToken ); 

Повернення через POST /v2/payments/captures/{captureId}/refund. captureId зберігається в b_sale_payment.PS_INVOICE_ID при захопленні.

$refund = $httpClient->post( $baseUrl . '/v2/payments/captures/' . $captureId . '/refund', ['amount' => ['value' => '25.00', 'currency_code' => 'USD']] ); 

Повне повернення — тіло запиту порожнє, PayPal поверне всю суму захоплення.

Як перевірити роботу PayPal у пісочниці?

У PayPal Developer Dashboard створюємо sandbox-акаунти: один мерчант (business), один покупець (personal). Тестові карти доступні у розділі Sandbox → Accounts → покупець → Credit Cards. Пісочниця повністю ізольована — транзакції не впливають на реальні гроші.

Сценарій Як перевірити
Успішна оплата Sandbox personal account, баланс > суми замовлення
Недостатньо коштів Sandbox account з нульовим балансом
Скасування покупцем Закрити вікно PayPal, перевірити cancel_url
Повернення Через API після успішного захоплення

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

  • Розробка обробника платіжної системи під поточну версію Бітрікс
  • Інтеграція JavaScript Smart Buttons у компонент оформлення замовлення
  • Налаштування вебхуків та автоматичне оновлення статусів замовлень
  • Підключення тестового sandbox-середовища та тестування всіх сценаріїв
  • Передача документації та доступів, навчання вашого адміністратора
  • Гарантія на модуль 6 місяців — ми завжди на зв'язку

Чому варто замовити інтеграцію у нас?

Один із наших клієнтів — інтернет-магазин з продажу електроніки, що працює на Європу. До інтеграції PayPal конверсія в оплату на міжнародних замовленнях була низькою через відсутність зручного способу. Ми підключили PPCP з Smart Buttons та мультивалютністю. Результат: частка оплат через PayPal склала 45% від усіх міжнародних транзакцій, а помилки при оплаті скоротилися на 38% порівняно з попереднім шлюзом. Для порівняння: PayPal Commerce Platform у 2 рази надійніша за застарілий Standard за кількістю успішних транзакцій (Wikipedia).

Типові помилки при самостійній інтеграції

  • Використання застарілих endpoint'ів (PayPal Standard): API змінюється, модуль перестає працювати
  • Відсутність верифікації вебхуків — можливі підроблені сповіщення
  • Неправильне збереження captureId — неможливість повернення
  • Ігнорування sandbox-тестування — проблеми в production

Строки орієнтовно

Варіант Склад Строк
Smart Buttons + capture Модуль + JS-віджет + тестування 4–6 днів
Повністю серверний (Orders API) Без JS-залежності, тільки API 4–5 днів
+ Subscriptions Recurring billing через Subscriptions API +3–4 дні
+ Мультивалютність Логіка вибору валюти, налаштування PayPal +1–2 дні

Зв'яжіться з нами для точної оцінки вашого проекту. У нас сертифіковані спеціалісти Бітрікс та досвід інтеграції з PayPal, ЮKassa, 1С та іншими системами. Отримайте консультацію — ми підберемо оптимальне рішення під ваш магазин.

Покрокова інструкція з інтеграції 1. Реєстрація мерчанта PayPal Business. 2. Отримання CLIENT_ID та CLIENT_SECRET. 3. Створення кастомного обробника в Бітрікс. 4. Налаштування JavaScript Smart Buttons на сторінці оформлення. 5. Підписка на вебхуки та тестування всіх сценаріїв.