Кнопку «Оплатить» на сайт добавляют одной строкой HTML — обычной ссылкой на платёжную ссылку PayBot. Вы создаёте ссылку через POST /v2/payment-links, берёте из ответа поле url вида https://paybot.kz/checkout/{token} и вставляете его в тег . По клику покупатель попадает на готовую страницу Hosted Checkout с Kaspi QR и вашим брендингом — никакого JavaScript и SDK для этого не нужно.
Как вставить кнопку одной строкой
Самый простой виджет — ссылка-кнопка на публичный url платёжной ссылки. Откройте оплату в новой вкладке, чтобы не терять покупателя на вашем сайте.
<a href="https://paybot.kz/checkout/pl_abc123" target="_blank" rel="noopener">Оплатить 5000 ₸</a>Токен pl_abc123 в URL — это token из ответа POST /v2/payment-links. Сумма и описание уже зашиты в саму ссылку при её создании, поэтому в HTML их дублировать не нужно.
Как оформить кнопку под свой сайт
Тег можно стилизовать как обычную кнопку — PayBot не навязывает разметку. Пример самодостаточной кнопки в фирменном зелёном цвете Kaspi:
<a
href="https://paybot.kz/checkout/pl_abc123"
target="_blank"
rel="noopener"
style="display:inline-block;padding:14px 28px;border-radius:12px;
background:#F14635;color:#fff;font:600 16px/1 sans-serif;
text-decoration:none;">
Оплатить через Kaspi
</a>Цвет, скругление и текст — на ваше усмотрение; сама страница оплаты дополнительно подстроится под ваш логотип и brand_color из раздела Брендирование.
Как встроить оплату прямо в страницу (iframe)
Если нужно, чтобы оплата не уводила покупателя на отдельную вкладку, встройте страницу checkout во фрейм на своём сайте.
<iframe
src="https://paybot.kz/checkout/pl_abc123"
width="420"
height="640"
style="border:0;border-radius:16px;"
title="Оплата PayBot"></iframe>Фрейм показывает тот же Hosted Checkout: Kaspi QR, deep-link и поллинг статуса работают внутри него без вашего участия.
Какие параметры задаются при создании ссылки
У виджета нет собственных параметров — всё поведение оплаты определяется полями платёжной ссылки, на которую он ведёт.
| Что настроить | Поле при создании ссылки |
|---|---|
| Сумма | amount (целые тенге) |
| Назначение платежа | description (1–500 символов) |
| Куда вернуть после оплаты | success_url |
| Куда вернуть при отмене | cancel_url |
| Срок жизни кнопки | expires_in_minutes (5–43200) |
| Много оплат по одной кнопке | allow_repeat: true |
| Спросить email покупателя | email_required: true |
Чтобы кнопка на витрине работала постоянно и по ней могли платить разные покупатели, создавайте ссылку с allow_repeat: true и большим expires_in_minutes.
FAQ
Нужен ли JavaScript или SDK для кнопки?
Нет. Виджет — это обычная HTML-ссылка или iframe на страницу paybot.kz/checkout/{token}. Вся логика оплаты (QR, deep-link, поллинг статуса, редирект) живёт на стороне PayBot. Если нужен более глубокий контроль, вызывайте публичные эндпоинты Hosted Checkout напрямую.
Можно ли одну кнопку показывать многим покупателям?
Да, если создать ссылку с allow_repeat: true — тогда по одному URL смогут платить разные люди, и ссылка не «сгорит» после первой оплаты. Для разовой продажи оставьте allow_repeat: false (по умолчанию), и кнопка станет неактивной после оплаты.
Как получать уведомления об оплате по кнопке?
Настройте вебхук — при успешной оплате PayBot пришлёт вам событие payment.completed с metadata, которое вы задали при создании ссылки. Это надёжнее, чем полагаться на возврат покупателя на success_url.