1. Приём платежей
BANKA BOT Merchant API
  • Приём платежей
    • Создать платёж
      POST
    • Получить платёж
      GET
    • Вебхук об изменении статуса платежа
  • Крипто сервис
    • Приём
      • Создать крипто-инвойс
      • Получить крипто-инвойс
      • Создать статический кошелёк клиента
      • Список статических кошельков
      • Получить статический кошелёк
      • Заблокировать статический кошелёк
      • Разблокировать статический кошелёк
      • Вернуть полученный платёж
      • Получить возврат
      • Вебхук о состоянии крипто-инвойса
      • Вебхук о поступлении на статический кошелёк
      • Вебхук о завершении возврата
    • Выплаты
      • Создать выплату
      • Список выплат
      • Получить выплату
      • Создать массовую выплату
      • Получить массовую выплату
      • Вебхук о состоянии выплаты
      • Вебхук об итоге массовой выплаты
    • Баланс
      • Получить баланс
      • Перевести между своими счетами
      • История операций
      • Вебхук о пополнении баланса
  • Вывод средств из кабинета
    • Вебхук об исходе заявки на вывод из кабинета
  • Schemas
    • PaymentCreate
    • Payment
    • PaymentStatus
    • WebhookEvent
    • Error
    • CryptoNetwork
    • CryptoAsset
    • CryptoAmount
    • CryptoErrorCode
    • CryptoOperationError
    • CryptoInvoiceStatus
    • CryptoInvoiceTransfer
    • CryptoInvoiceCreate
    • CryptoInvoice
    • CryptoStaticWalletStatus
    • CryptoStaticWalletCreate
    • CryptoStaticWallet
    • CryptoPayoutStatus
    • CryptoPayoutCreate
    • CryptoPayout
    • CryptoBatchStatus
    • CryptoPayoutBatchItemCreate
    • CryptoPayoutBatchCreate
    • CryptoPayoutBatch
    • CryptoBalance
    • CryptoInternalTransferCreate
    • CryptoInternalTransfer
    • CryptoTransactionType
    • CryptoTransaction
    • CryptoRefundCreate
    • CryptoWebhookEnvelope
    • CryptoRefund
    • CryptoStaticWalletDepositEvent
    • CryptoInvoiceWebhookEvent
    • CabinetWithdrawal
    • CryptoBalanceFundedEvent
    • CabinetWithdrawalWebhookEvent
    • CryptoPayoutWebhookEvent
    • CryptoBatchWebhookEvent
    • CryptoRefundWebhookEvent
  1. Приём платежей

Создать платёж

POST
/v1/payments
Адрес: POST https://api.banka.bot/v1/payments.
Создаёт разовый платёж и возвращает payment_url, ссылку на
платёжную страницу для плательщика.
Идентификатор платежа генерируется на нашей стороне; поле id
в запросе не передаётся.

Повтор запроса#

Передавайте заголовок Idempotency-Key, вашу уникальную строку на
каждый платёж (подойдёт uuid4), сохранённую вместе с заказом. Повтор
с тем же ключом и тем же телом в течение 24 часов возвращает тот же
платёж с тем же ответом, второй платёж не создаётся. Тот же ключ с
другим телом отвечает 409 duplicate_external_id. Если первый запрос с
этим ключом ещё выполняется, ответ 409 invalid_request, повторите
через несколько секунд.
Обрыв связи или таймаут: ответа нет, а платёж мог быть создан.
Повторите тот же самый запрос с тем же Idempotency-Key. Новый ключ
или запрос без ключа это новый платёж.
Без заголовка каждый вызов создаёт новый платёж. Платёж, ответ на
который потерялся, истечёт через час; если в запросе был
callback_url, по нему придёт payment.expired с payment_id,
которого вы не видели. Поэтому сопоставляйте заказ по payment_id,
а не только по order_id.

Способ оплаты#

Необязательное поле method привязывает платёж к способу оплаты:
платёжная страница открывается сразу в нём, без шага выбора, а
method в ответе, статусе и вебхуке заполнен с момента создания.
Способ, недоступный вашему магазину или этой сумме, отвечает 400
method_unavailable до создания платежа: платёж не создан, измените
сумму или способ либо создайте платёж без method.

Ошибки#

Тело ошибки: {"error": "<код>", "message": "<текст>"}. Ветвитесь
по error, текст message меняется без предупреждения.
КодHTTPКогда
invalid_request400тело не прошло проверку: сумма вне 1..1 000 000 или больше 2 знаков, неверный URL
amount_not_supported400сумму не покрывает тариф магазина; message объясняет, что сделать
method_unavailable400способ оплаты недоступен вашему магазину или этой сумме, выключен в настройках магазина в кабинете либо код способа пока не поддерживается; платёж не создан
unauthorized401нет заголовка Authorization, ключ неверен или отозван
duplicate_external_id409тот же Idempotency-Key с другим телом запроса
invalid_request409первый запрос с этим Idempotency-Key ещё выполняется; повторите через несколько секунд
rate_limited429больше 120 запросов в минуту одним ключом
internal_error500платёж не создан; повторите запрос

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201Created
application/json
Платёж создан
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠409TooManyRequests
🟠429
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/v1/payments' \
--header 'Idempotency-Key: 4f1c9d2e-8a37-4b56-9f0e-1d2c3b4a5968' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "amount": 500,
    "currency": "RUB"
}'
Response Response Example
201 - Success Example
{
    "payment_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "order_code": "7XK4M2QD",
    "payment_url": "https://pay.banka.bot/7XK4M2QD",
    "status": "pending",
    "amount": 500,
    "amount_total": 540,
    "currency": "RUB",
    "method": null,
    "order_id": "order_123",
    "created_at": "2026-08-02T12:00:00Z",
    "paid_at": null,
    "expires_at": "2026-08-02T13:00:00Z"
}
Modified at 2026-09-07 18:22:00
Next
Получить платёж
Built with