Інтеграція Kaspi Pay з 1С-Бітрікс: від API до QR-оплати

Ми часто стикаємося з запитами від інтернет-магазинів з Казахстану: як підключити Kaspi Pay до сайту на 1С-Бітрікс? Стандартні платіжні модулі не враховують специфіку [Kaspi eCommerce API](https://en.wikipedia.org/wiki/Kaspi_Bank) <cite>Офіційна документація Kaspi eCommerce API</cite> — доводиться п
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція Kaspi Pay з 1С-Бітрікс: від API до QR-оплати
Середній
~1-2 тижні

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

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

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

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

Ми часто стикаємося з запитами від інтернет-магазинів з Казахстану: як підключити Kaspi Pay до сайту на 1С-Бітрікс? Стандартні платіжні модулі не враховують специфіку Kaspi eCommerce API Офіційна документація Kaspi eCommerce API — доводиться писати власну інтеграцію. Без готового рішення — ручне оброблення замовлень, помилки при невірному форматі телефону, відсутність верифікації callback (ризик шахрайства). Наш підхід — зібрати все під ключ за 3-5 днів, з навчанням та документацією.

Kaspi Pay — платіжний інструмент екосистеми Kaspi Bank, широко поширений в Казахстані. Покупець сканує QR-код або вводить номер телефону, підтверджує оплату в додатку Kaspi. Для інтернет-магазинів це один із найбільш конверсійних методів оплати — Kaspi Pay дає конверсію в 2-3 рази вищу, ніж класична оплата карткою, а комісія становить лише 1.5–2.5%. В результаті магазини економлять до 30% на комісіях порівняно зі звичайним еквайрингом.

Як працює Kaspi eCommerce API?

Kaspi надає кілька методів для інтернет-магазинів:

  • QR-оплата — генерується QR-код із рахунком. Покупець сканує через Kaspi.kz app. Використовується як на сайті, так і в офлайн-точках.
  • Kaspi Pay за посиланням — посилання веде на форму підтвердження в браузері або відкриває додаток Kaspi.
  • Kaspi eCommerce API — для інтернет-магазинів, пряма інтеграція через API.

Для інтеграції з Бітрікс стандартний підхід — eCommerce API або платіжне посилання. Авторизація через Bearer токен. Базовий URL: https://api.kaspi.kz/payment/

$token = $this->getBusinessValue($payment, 'KASPI_TOKEN'); $orderId = $payment->getOrder()->getId(); $amount = $payment->getSum(); // в тенге (KZT) // Создание платежа $payload = [ 'device' => [ 'platformType' => 'WEB', 'id' => md5($orderId), ], 'amount' => [ 'value' => $amount, 'currency' => 'KZT', ], 'externalId' => (string)$orderId, 'description' => 'Оплата заказа №' . $orderId, 'paymentType' => 'ECOM', 'customer' => [ 'phone' => $phone, // телефон покупателя в формате +77XXXXXXXXX ], 'redirectUrl' => $returnUrl, 'callbackUrl' => $callbackUrl, ]; $ch = curl_init('https://api.kaspi.kz/payment/api/v1/payments/create'); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $token, ]); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = json_decode(curl_exec($ch), true); curl_close($ch); // $response['data']['paymentLink'] — ссылка для редиректа // $response['data']['paymentId'] — ID платежа для проверки статуса 

Чому верифікація callback критична?

Без верифікації зловмисник може надіслати підроблений callback зі статусом COMPLETED. Kaspi надсилає POST на callbackUrl при зміні статусу платежу. Завжди робіть додатковий GET-запит до API для підтвердження статусу.

$rawBody = file_get_contents('php://input'); $data = json_decode($rawBody, true); $paymentId = $data['data']['paymentId']; $externalId = $data['data']['externalId']; // наш orderId $status = $data['data']['status']; // 'COMPLETED', 'FAILED', 'EXPIRED' // Верификация через заголовок подписи или дополнительный запрос статуса if ($status === 'COMPLETED') { // Подтвердить через отдельный GET-запрос для защиты от фальшивых уведомлений $verification = $this->httpGet( 'https://api.kaspi.kz/payment/api/v1/payments/' . $paymentId, [], ['Authorization: Bearer ' . $token] ); if ($verification['data']['status'] === 'COMPLETED') { $order = \Bitrix\Sale\Order::loadByAccountNumber($externalId); // setPaid('Y'), save() } } http_response_code(200); echo json_encode(['status' => 'OK']); 

Важно: завжди верифікуйте статус через додатковий GET-запит до API. Приймати статус лише з тіла callback без перевірки — ризик шахрайства.

QR-код на сторінці замовлення

Альтернативний UX для мобільних користувачів — QR-код прямо на сторінці оформлення:

// Получить QR-код для оплаты $qrResponse = $this->httpPost('https://api.kaspi.kz/payment/api/v1/payments/qr', $payload, $headers); $qrBase64 = $qrResponse['data']['qrCode']; // base64 PNG изображение echo '<img src="data:image/png;base64,' . $qrBase64 . '" alt="Kaspi Pay QR">'; echo '<p>Отсканируйте QR в приложении Kaspi</p>'; 

Додатково — реалізуйте polling або WebSocket для автооновлення статусу на сторінці без перезавантаження.

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

  • Невірний формат телефону — передавання номера без коду країни або з зайвими символами. Kaspi вимагає формат +77XXXXXXXXX. Перевіряйте перед відправкою.
  • Відсутність верифікації callback — багато розробників приймають статус з тіла POST без додаткової перевірки. Це дозволяє зловмисникам сфабрикувати успішний платіж.
  • Ігнорування polling для QR — якщо не реалізувати періодичну перевірку статусу, користувач залишиться на сторінці з QR після оплати, не бачачи зміни замовлення.

Особливості казахстанського ринку

  • Валюта — тенге (KZT). Суми без копійок (цілі числа).
  • Телефони у форматі +77XXXXXXXXX (уточнюйте у Kaspi).
  • Kaspi Pay популярний для оплат від 5 000 до 500 000 KZT — основна аудиторія.
  • Kaspi Red — розстрочка, вимагає окремого налаштування мерчанта. Ми включаємо її за запитом.

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

Делівераблі Опис
Документація callback Схема верифікації, приклади payload
Логи платежів Запис статусів у журнал Бітрікс
Доопрацювання адмінки Перегляд платежів, ручна верифікація
Навчання Інструкція для менеджерів (Kaspi Red, повернення)
Підтримка 14 днів після релізу, фіксація багів

Процес роботи

  1. Аналітика — реєстрація мерчанта, налаштування webhook, тестові ключі.
  2. Проектування — вибір методів (QR, API, посилання), схема callback-верифікації.
  3. Реалізація — створення платіжного модуля для Бітрікс, з урахуванням інфоблоків і ORM.
  4. Тестування — на тестовому середовищі Kaspi, перевірка callback, повернення.
  5. Деплой та навчання — перенесення на прод, налаштування прав доступу, документація.

Терміни та досвід

Орієнтовні терміни — від 3 до 5 робочих днів залежно від складності. У нас 5+ років досвіду інтеграцій Kaspi Pay, 50+ проектів на 1С-Бітрікс. Оцінимо ваш проект за 1 день — просто зв'яжіться з нами.

Задача Термін
Створення платежу + редирект + callback 2–3 дні
QR-код на сторінці + polling статусу +1–2 дні
Тестування на тестовому середовищі 0.5–1 день

Отримайте консультацію щодо інтеграції — ми допоможемо обрати оптимальний метод та уникнути типових помилок (невірний формат телефону, відсутність верифікації). Замовте інтеграцію Kaspi Pay під ключ.