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

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

Брендирование

Логотип, цвет, поддержка

Брендирование управляет тем, как выглядит страница оплаты Hosted Checkout для ваших покупателей: логотипом, фирменным цветом и контактом поддержки. Все настройки — это четыре поля (display_name, logo_url, brand_color, support_email), которые вы читаете через GET /me/branding и меняете через PATCH /me/branding под JWT-авторизацией кабинета. Эти же четыре поля автоматически прилетают в блок merchant на странице оплаты — то есть весь checkout перекрашивается под ваш бренд без дополнительных вызовов.

Как посмотреть текущий брендинг

GET /me/branding возвращает четыре поля брендинга. Эндпоинт никогда не отдаёт 404: у нового клиента все поля просто равны null.

bash
Скачать
curl https://api.paybot.kz/me/branding \
  -H "Authorization: Bearer <jwt>"
json
Скачать
{
  "display_name": "Кофейня «Астана»",
  "logo_url": "https://cdn.example/logo.png",
  "brand_color": "#00A651",
  "support_email": "[email protected]"
}

Как изменить логотип, цвет и контакты

PATCH /me/branding меняет любые из четырёх полей — передавайте только те, что хотите обновить.

bash
Скачать
curl -X PATCH https://api.paybot.kz/me/branding \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
    "display_name": "Кофейня «Астана»",
    "logo_url": "https://cdn.example/logo.png",
    "brand_color": "#00A651",
    "support_email": "[email protected]"
  }'
python
Скачать
import requests

requests.patch(
    "https://api.paybot.kz/me/branding",
    headers={"Authorization": "Bearer <jwt>"},
    json={"brand_color": "#00A651", "support_email": "[email protected]"},
)
ПолеОграничениеЧто задаёт
display_name≤255 символовНазвание компании на странице оплаты.
logo_url≤2048 символов, URLЛоготип, показываемый в шапке checkout.
brand_colorстрого #RRGGBBОсновной цвет кнопок и акцентов.
support_email≤255, обязателен @Контакт поддержки для покупателя.

Как загрузить логотип

Загрузка файла логотипа сейчас отключена: POST /me/branding/logo всегда отвечает 501 logo_upload_disabled. Вместо этого разместите логотип на своём хостинге или CDN и передайте его адрес в поле logo_url через PATCH /me/branding.

Не показывайте покупателю или в кабинете кнопку «загрузить файл» — эндпоинт POST /me/branding/logo гарантированно вернёт 501. Используйте поле ввода URL.

Как задать фирменный цвет

Поле brand_color принимает строго шестнадцатеричный цвет в формате #RRGGBB (например, #00A651). Значение вне этого формата вернёт 400 bad_color с param: brand_color — подсветите поле цвета в форме.

Аналогично, support_email без символа @ вернёт 400 bad_email с param: support_email. Обе ошибки — валидационные, показывайте их inline под соответствующим полем, а не общим тостом (см. Ошибки, если нужен разбор модели ошибок).

Как брендинг выглядит на странице оплаты

Заданные вами четыре поля приходят в GET /v2/checkout/{token} внутри объекта merchant:

json
Скачать
{
  "merchant": {
    "display_name": "Кофейня «Астана»",
    "logo_url": "https://cdn.example/logo.png",
    "brand_color": "#00A651",
    "support_email": "[email protected]"
  }
}

Страница Hosted Checkout подставляет display_name и logo_url в шапку, красит акценты в brand_color и показывает support_email как контакт для вопросов об оплате. Собрать превью можно локально — это те же четыре поля.

FAQ

Почему не получается загрузить логотип файлом?

Загрузка файла намеренно отключена на бэкенде: POST /me/branding/logo всегда возвращает 501 logo_upload_disabled. Разместите логотип по внешнему URL и укажите его в logo_url через PATCH /me/branding.

Обязательно ли настраивать брендинг?

Нет. Если поля пустые (null), страница оплаты показывается в нейтральном оформлении PayBot. Брендинг лишь делает checkout узнаваемым для ваших покупателей — это опционально.

В каком формате указывать цвет?

Только #RRGGBB — шесть шестнадцатеричных цифр с решёткой, например #F14635. Иначе PATCH /me/branding вернёт 400 bad_color.