Коротко
Готового приложения Qut Pay для Shopify нет, и «вставить» Kaspi QR в стандартный checkout Shopify нельзя: платформа принимает сторонние шлюзы только через свою программу Payments Apps для одобренных партнёров, а магазину произвольный шлюз добавить не даёт. Что реально работает сегодня: в Shopify включаете ручной способ оплаты («Manual payment method», например «Kaspi QR»), а оплату принимаете через Qut Pay — по постоянной ссылке или по счёту, который создаёт ваш небольшой бэкенд. Заказ отмечается оплаченным либо вручную по журналу в кабинете, либо автоматически: webhook invoice.paid приходит на ваш бэкенд, и тот закрывает заказ через Shopify Admin API. Автоматический шаг «оплатить Kaspi QR» внутри самого checkout Shopify при этом не появится.
Что можно и чего нельзя
| Задача | Возможно? | Как |
|---|---|---|
| Кнопка Kaspi QR среди способов оплаты в checkout Shopify | Нет | Только через программу Payments Apps Shopify, в ней Qut Pay не участвует |
| Принять Kaspi QR по заказу из Shopify | Да | Ручной способ оплаты + ссылка или счёт Qut Pay |
| Автоматически пометить заказ оплаченным | Да, с разработчиком | Webhook Qut Pay → ваш бэкенд → Shopify Admin API |
| Продажи вне Shopify checkout | Да | Ссылка на оплату qut.kz/p/<slug> в описании товара, в переписке, в Instagram |
Вариант A — ручной способ оплаты + ссылка (без кода)
- В админке Shopify: Settings → Payments → Manual payment methods → добавьте способ «Kaspi QR». В инструкции покупателю напишите, что ссылка на оплату придёт после оформления.
- В кабинете Qut Pay создайте постоянную ссылку на оплату с открытой суммой — или выставляйте счёт на каждый заказ вручную.
- Отправьте покупателю ссылку (письмо подтверждения заказа, WhatsApp). Он платит, деньги приходят на ваш Kaspi Pay.
- Увидев оплату в кабинете, нажмите «Mark as paid» у заказа в Shopify.
Подходит для небольшого потока заказов. Минус очевиден: между оформлением и оплатой есть ручной шаг, а сумму на ссылке с открытой суммой вводит покупатель — сверяйте её с заказом.
Вариант B — свой бэкенд (нужен разработчик)
Схема: Shopify создаёт заказ → ваш бэкенд получает его (webhook Shopify orders/create) → создаёт счёт Qut Pay на сумму заказа → отправляет покупателю payUrl → при оплате Qut Pay присылает invoice.paid → бэкенд вызывает Shopify Admin API и отмечает заказ оплаченным.
Создание счёта с бэкенда — обычный запрос к API, ключ хранится только на сервере:
curl -X POST https://api.qut.kz/api/v1/invoices \
-H "X-API-Key: qp_test_…" -H "Content-Type: application/json" \
-H "Idempotency-Key: shopify-1001" \
-d '{"amount": 12500, "externalOrderId": "1001", "description": "Заказ #1001",
"successUrl": "https://shop.kz/thanks?order=1001", "metadata": {"shopifyOrderId": 5566778899}}'
Ответ содержит id, status, payUrl, qrUrl, deepLink, expiresAt — покупателю нужен payUrl. Webhook invoice.paid приходит JSON { "event", "invoice": { "id", "status", "amount", "externalOrderId", "metadata", … }, "sentAt" }; проверяйте подпись X-Webhook-Signature по сырому телу, сверяйте amount с суммой заказа и отвечайте 2xx в течение 8 секунд — иначе доставка повторится до 11 раз за ~2 часа. Подробно: настройка вебхуков, как автоматически узнать об оплате. Готовые клиенты: Node.js, PHP, Python; инструкция для ИИ-ассистента, которому можно поручить этот бэкенд: https://api.qut.kz/for-ai.
Ограничения варианта B: QR действует около 3 минут (expiresAt), поэтому ссылку лучше открывать сразу после оформления; доступ к Admin API Shopify настраиваете вы сами (custom app с правом на заказы); тариф Qut Pay от 4 990 ₸ в месяц — тарифы.
Пошагово, с чего начать
- Зарегистрируйтесь в кабинете https://qut.kz/app, попробуйте всё в песочнице с ключом
qp_test_…— оплату имитируетPOST /invoices/{id}/simulate{"status":"paid"}. - Подключите кассира Kaspi Pay и переключитесь в live — чек-лист перед запуском.
- Включите ручной способ оплаты в Shopify и выберите вариант A или B.
Вопросы и ответы
Появится ли приложение Qut Pay в Shopify App Store? Сейчас его нет, и обещать сроки мы не будем: платёжные приложения Shopify проходят отдельную программу партнёрства платформы. Эта статья описывает то, что работает уже сегодня.
Можно ли обойтись без разработчика? Да, вариант A: ручной способ оплаты в Shopify и ссылка Qut Pay. Автоматическая пометка заказа оплаченным без кода невозможна.
Покупатель вернулся на страницу «спасибо» — значит оплатил? Нет. Переход по successUrl не доказательство; оплату подтверждает webhook invoice.paid или статус paid по GET /invoices/{id} с сервера.
А если у меня не Shopify, а WooCommerce или OpenCart? Для них есть готовые модули: WooCommerce, OpenCart.