Брендирование управляет тем, как выглядит страница оплаты Hosted Checkout для ваших покупателей: логотипом, фирменным цветом и контактом поддержки. Все настройки — это четыре поля (display_name, logo_url, brand_color, support_email), которые вы читаете через GET /me/branding и меняете через PATCH /me/branding под JWT-авторизацией кабинета. Эти же четыре поля автоматически прилетают в блок merchant на странице оплаты — то есть весь checkout перекрашивается под ваш бренд без дополнительных вызовов.
Как посмотреть текущий брендинг
GET /me/branding возвращает четыре поля брендинга. Эндпоинт никогда не отдаёт 404: у нового клиента все поля просто равны null.
curl https://api.paybot.kz/me/branding \
-H "Authorization: Bearer <jwt>"{
"display_name": "Кофейня «Астана»",
"logo_url": "https://cdn.example/logo.png",
"brand_color": "#00A651",
"support_email": "[email protected]"
}Как изменить логотип, цвет и контакты
PATCH /me/branding меняет любые из четырёх полей — передавайте только те, что хотите обновить.
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]"
}'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:
{
"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.