Интеграция 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
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • 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 Appointment Booking Widget for a Medical Center
    734
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Мы часто сталкиваемся с запросами от интернет-магазинов из Казахстана: как подключить 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 под ключ.