Інтеграція платіжної системи СберPay на сайт
При спробі підключити СберPay на сайт розробники часто стикаються з неочевидними обмеженнями: повільна підтримка банку, неповна документація та складнощі з двостадійною оплатою. Ми у своїй практиці інтегрували СберPay десятки разів — понад 50 проєктів — і виробили надійний підхід, який гарантує стабільну роботу. Наприклад, на одному з проєктів ми скоротили час обробки оплат на 40% завдяки правильному налаштуванню callback-сповіщень. Нижче — технічні деталі, які допоможуть уникнути типових помилок.
Як підключити СберPay до сайту?
СберPay — це не окремий платіжний шлюз, а метод оплати через додаток СберБанк Онлайн. Для його роботи необхідний договір еквайрингу зі Сбербанком. Після підписання договору видаються облікові дані для тестового та бойового середовища. Аутентифікація виконується через userName + password або через token (рекомендований спосіб). Використовуйте токен — він знижує ризик витоку облікових даних. Комісія за транзакцію залежить від тарифу і становить кілька відсотків — уточнюйте під час укладання договору.
Чому варто обрати Сбербанк Еквайринг?
Сбербанк Еквайринг — один із найпоширеніших платіжних шлюзів у Росії. Він підтримує оплату картками, СберPay, QR-коди через СБП та Apple Pay/Google Pay. Інтеграція через REST API проста, а двостадійна оплата дозволяє реалізувати складні сценарії. Ми гарантуємо коректну роботу шлюзу після інтеграції, спираючись на 5+ років досвіду та понад 50 успішних проєктів. Економія від переходу на двостадійну оплату може становити до 10% від виручки за рахунок зниження ризику повернень.
Підключення до Сбербанк Еквайрингу
Для роботи потрібен договір еквайрингу зі Сбербанком. Після підписання видаються логін і пароль для тестового та бойового середовища.
| Середовище | URL |
|---|---|
| Тестове | https://3dsec.sberbank.ru/payment/rest/ |
| Бойове | https://securepayments.sberbank.ru/payment/rest/ |
Аутентифікація — через userName + password у кожному запиті, або через token.
Приклад реєстрації замовлення (PHP)
$response = Http::get('https://securepayments.sberbank.ru/payment/rest/register.do', [ 'userName' => env('SBER_USERNAME'), 'password' => env('SBER_PASSWORD'), 'orderNumber' => 'order-12345', 'amount' => 150000, // в копійках 'returnUrl' => 'https://example.com/payment/return', 'failUrl' => 'https://example.com/payment/fail', 'description' => 'Замовлення #12345', 'email' => '[email protected]', 'language' => 'ru', 'pageView' => 'DESKTOP', // або MOBILE ]); $orderId = $response->json('orderId'); // ID в системі Сбербанку $formUrl = $response->json('formUrl'); // URL платіжної сторінки Після отримання formUrl — редирект туди. Сбербанк покаже сторінку оплати з усіма доступними методами, включаючи СберPay, якщо покупець зайшов із пристрою зі встановленим СберБанк Онлайн.
Перевірка статусу замовлення
Сбербанк підтримує сповіщення (callback), але їх потрібно окремо налаштувати в особистому кабінеті. Надійніше додатково перевіряти статус на returnUrl. Виконайте серверну перевірку за чотири кроки:
- Отримайте
orderIdіз параметрів запиту. - Надішліть запит до
getOrderStatusExtended.do. - Перевірте поле
orderStatus. - При статусі
2— оновіть замовлення у своїй системі.
public function paymentReturn(Request $request): RedirectResponse { $orderId = $request->query('orderId'); $status = Http::get('https://securepayments.sberbank.ru/payment/rest/getOrderStatusExtended.do', [ 'userName' => env('SBER_USERNAME'), 'password' => env('SBER_PASSWORD'), 'orderId' => $orderId, 'language' => 'ru', ])->json(); // orderStatus: 0=зареєстровано, 1=не сплачено, 2=сплачено, 3=авторизовано, // 4=анульовано, 5=повернення, 6=АЗ відхилена банком покупця if ($status['orderStatus'] === 2) { $localOrderId = $status['orderNumber']; // наш внутрішній номер Order::where('id', $localOrderId)->update(['status' => 'paid']); return redirect('/orders/' . $localOrderId . '?paid=1'); } return redirect('/cart?payment_failed=1'); } Ніколи не вірте лише параметрам у URL — тільки серверна перевірка через getOrderStatusExtended.
Двостадійна оплата
Для маркетплейсів або замовлень із постоплатою підходить двостадійна схема: спочатку авторизація (заморожування коштів), потім списання після відвантаження.
// Реєстрація з прапорцем двостадійної оплати Http::get('https://securepayments.sberbank.ru/payment/rest/registerPreAuth.do', [ // ті самі параметри, що й register.do ]); // Підтвердження списання після відвантаження Http::get('https://securepayments.sberbank.ru/payment/rest/deposit.do', [ 'userName' => env('SBER_USERNAME'), 'password' => env('SBER_PASSWORD'), 'orderId' => $sberbankOrderId, 'amount' => 150000, ]); Заморожені кошти утримуються до 30 днів. Якщо протягом цього терміну не підтвердити — авторизація автоматично скасовується.
Фіскалізація
Сбербанк підтримує фіскалізацію через власну касу «Атол Онлайн», інтегровану в еквайринг. Чекові дані передаються в параметрі orderBundle:
'orderBundle' => json_encode([ 'customerDetails' => ['email' => '[email protected]'], 'cartItems' => [ 'items' => [[ 'positionId' => 1, 'name' => 'Товар 1', 'quantity' => ['value' => 1, 'measure' => 'шт'], 'itemAmount' => 150000, 'itemCode' => 'SKU-001', 'tax' => ['taxType' => 0], // 0=без ПДВ 'itemPrice' => 150000, ]], ], ]), Повернення
Http::get('https://securepayments.sberbank.ru/payment/rest/refund.do', [ 'userName' => env('SBER_USERNAME'), 'password' => env('SBER_PASSWORD'), 'orderId' => $sberbankOrderId, 'amount' => 75000, // часткове або повне повернення ]); Особливості та обмеження
Основна складність з еквайрингом Сбербанку — повільна підтримка. Відповідь на запит про підключення займає від 5 до 14 робочих днів, активація бойового середовища після тестування — ще 3–5 днів. Документація оновлюється нерегулярно; актуальну версію запитують у менеджера. Для СберPay як окремого методу (без введення картки) обов'язкова наявність додатка СберБанк Онлайн у покупця — на десктопі цей метод не працює.
Порівняйте доступні методи оплати:
| Метод | Вимоги | Комісія (приблизно) |
|---|---|---|
| Картки | Будь-який пристрій | 2.5–3% |
| СберPay | iOS/Android + додаток | 2–2.5% |
| СБП QR | Будь-який пристрій з камерою | 0.5–1.5% |
Що входить у роботу
- Консультація щодо вибору тарифу та підготовки документів.
- Налаштування тестового та бойового середовища еквайрингу.
- Інтеграція REST API: реєстрація замовлень, перевірка статусів, повернення.
- Реалізація двостадійної оплати та фіскалізації (за необхідності).
- Тестування всіх сценаріїв (успішна оплата, відмова, повернення).
- Передача документації та навчання вашої команди.
- Гарантійна підтримка 30 днів після запуску.
Терміни та вартість
Терміни інтеграції залежать від складності: від 3 до 14 робочих днів. Вартість розраховується індивідуально — оцінимо обсяг робіт після аудиту вашого проєкту. Щоб прискорити процес, зв'яжіться з нами — ми підготуємо договір за 2 дні. Замовте інтеграцію СберPay під ключ — ми налаштуємо все від договору до бойового запуску. Отримайте консультацію з інтеграції — ми оцінимо ваш проєкт за 1 день.







