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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция Kaspi Pay с 1С-Битрикс: от API до QR-оплаты
Средний
~1-2 недели
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • 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
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

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