ДокументацияВведение
Коды ошибок

Приём платежей

Виджет на сайт

Кнопка «Оплатить» одной строкой HTML

Кнопку «Оплатить» на сайт добавляют одной строкой HTML — обычной ссылкой на платёжную ссылку PayBot. Вы создаёте ссылку через POST /v2/payment-links, берёте из ответа поле url вида https://paybot.kz/checkout/{token} и вставляете его в тег . По клику покупатель попадает на готовую страницу Hosted Checkout с Kaspi QR и вашим брендингом — никакого JavaScript и SDK для этого не нужно.

Как вставить кнопку одной строкой

Самый простой виджет — ссылка-кнопка на публичный url платёжной ссылки. Откройте оплату в новой вкладке, чтобы не терять покупателя на вашем сайте.

html
Скачать
<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:

html
Скачать
<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 во фрейм на своём сайте.

html
Скачать
<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.