API anore
REST API для приёма платежей. Создавайте счёт, отправляйте клиента на готовую форму оплаты (СБП, карты, крипта) и получайте уведомление об оплате на свой сервер.
https://api.anore.cc/v1Запросы и ответы — application/json. Суммы в рублях.
Быстрый старт
Создайте API-ключ в кабинете. Тестовый для проверки, боевой для приёма денег.
API-ключи →SDK
Официальные библиотеки для приёма платежей и проверки вебхуков — из коробки. Установка одной командой, создание счёта в один вызов.
Авторизация
Каждый запрос требует API-ключ в заголовке. Ключи создаются в кабинете → API-ключи. Тестовый ключ (an_test_…) создаёт платежи в тестовом режиме, боевой (an_live_…) — настоящие.
Authorization: Bearer an_live_xxxxxxxxxxxxxxxxАккаунт-ключ обслуживает все кассы — тогда в теле нужен shopId.
Подпись запроса · необязательно
Bearer-ключа достаточно для авторизации. Для дополнительной защиты от подмены тела можно подписать запрос — передайте HMAC-SHA256 тела в заголовке Anore-Signature, сервер пересчитает его вашим секретным ключом и сверит.
Anore-Signature: hex( HMAC-SHA256( raw_body, SECRET_KEY ) )import crypto from 'node:crypto'
const body = JSON.stringify({ amount: 1500, description: 'Pro plan', orderId: 'o_1' })
const sign = crypto.createHmac('sha256', SECRET_KEY).update(body).digest('hex')Создать платёж
Создаёт счёт и возвращает ссылку на платёжную форму. Перенаправьте клиента на paymentUrl — счёт действителен 4 часа.
/paymentsamountcurrencydescriptionshopIdorderIdmethodsgetbackurlsuccessurlfailurlcurl -X POST https://api.anore.cc/v1/payments \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"amount":1500,"description":"Pro plan","orderId":"order_8842","shopId":1,"methods":"sbp,yoomoney","successurl":"https://shop.example/success","failurl":"https://shop.example/fail"}'{
"success": true,
"id": "b5b773de-b7f4-4c20-93da-2ab5f8679ba5",
"orderId": "order_8842",
"amount": 1500,
"rubAmount": 1500,
"currency": "rub",
"status": "new",
"paymentUrl": "https://pay.anore.cc/b5b773de-...",
"sbpUrl": "https://qr.nspk.ru/...", // H2H only
"expiresIn": 14400
}Статус платежа
Статусы: new · paid · expired. Опрос — не чаще раза в 3 секунды.
/payments/{id}curl https://api.anore.cc/v1/payments/b5b773de-... \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"success": true,
"id": "b5b773de-...",
"amount": 1500,
"rubAmount": 1500,
"currency": "rub",
"status": "paid",
"paid": true
}Список платежей
Возвращает платежи вашей кассы, свежие сверху. Аккаунт-ключу нужен shopId; ключ, привязанный к кассе, уже ограничен ей. Можно фильтровать по статусу и датам.
/paymentsshopIdstatusfromtolimitoffsetcurl "https://api.anore.cc/v1/payments?shopId=1&status=paid&from=2026-06-01&to=2026-06-30&limit=50" \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"success": true,
"shopId": 1,
"total": 128,
"limit": 50,
"offset": 0,
"payments": [
{
"id": "b5b773de-...",
"orderId": "order_8842",
"amount": 1500,
"baseAmount": 1500,
"rubAmount": 1500,
"currency": "rub",
"description": "Pro plan",
"status": "paid",
"paid": true,
"method": "sbp",
"createdAt": "2026-06-09T12:00:00.000Z",
"paidAt": "2026-06-09T12:01:12.000Z"
}
]
}Вебхуки
Настраиваются в кабинете → Вебхуки. При смене статуса платежа или выплаты anore отправляет подписанный POST на URL соответствующей кассы.
payment.succeededСчёт оплаченpayment.expiredСчёт истёк по времени без оплатыpayout.createdЗаявка на выплату создана и ожидает обработкиpayout.processingЗаявка принята оператором в работуpayout.succeededВыплата успешно исполненаpayout.failedВ выплате отказаноContent-Type: application/json
Anore-Event: payout.succeeded
Anore-Delivery-Id: payout.succeeded:WD-42
Anore-Signature: hex( HMAC-SHA256( raw_body, SECRET ) ){
"event": "payment.succeeded",
"id": "b5b773de-...",
"orderId": "order_8842",
"amount": 1500,
"rubAmount": 1500,
"currency": "rub",
"status": "paid",
"description": "Pro plan",
"shop": "shop-anore.cc",
"createdAt": "2026-06-09T12:00:00.000Z"
}{
"event": "payout.succeeded",
"id": "WD-42",
"externalId": "wd_88",
"shopId": 1,
"status": "paid",
"amount": 10000,
"currency": "RUB",
"method": "usdt_ton",
"fee": 240,
"netRub": 9760,
"amountUsdt": 119.388379,
"txHash": "993e41b84318...",
"createdAt": "2026-07-05T21:37:11.000Z",
"processedAt": "2026-07-06T11:51:04.000Z"
}Ответьте любым HTTP 2xx. При сетевой ошибке или другом статусе доставка повторяется с увеличивающейся задержкой. Семантика доставки — at-least-once: сохраняйте Anore-Delivery-Id и не обрабатывайте его повторно.
Пересчитайте HMAC по сырому телу своим SECRET и сравните с Anore-Signature. Не совпало — отклоните запрос.
Баланс
Возвращает состояние баланса для вывода: сколько доступно, сколько в холде, размер комиссии и текущий курс выплат Rapira +2% USDT/RUB (фиксинг обновляется в 09:00 МСК). Доступно только если у кассы включён API выплат.
/balancecurl "https://api.anore.cc/v1/balance?shopId=1" \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"currency": "RUB",
"available": 12750.42,
"hold": 3100.00,
"matured": 15850.42,
"paidAmount": 15850.42,
"withdrawn": 5000.00,
"reserved": 0.00,
"fee": {
"flatRub": 240,
"thresholdRub": 25000,
"percentAbove": 1.0,
"trc20SurchargeRub": 60
},
"minAmount": 500,
"maxAmount": 500000,
"usdtRateRub": 83.39,
"rapiraMarketUsdtRub": 81.75,
"rapiraMarkupPercent": 2.0,
"sbpBanks": ["Сбербанк", "Т-Банк", "Альфа-Банк", "..."],
"cbrRateRub": 78.50
}Комиссии на вывод
Возвращает актуальные комиссии на вывод, настроенные для авторизованного мерчанта. До thresholdRub используется flatRub; начиная с thresholdRub — percentAbove от суммы плюс surchargeRub. Настройки едины для всех касс мерчанта.
/payouts/feescurl "https://api.anore.cc/v1/payouts/fees?shopId=1" \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"shopId": 1,
"currency": "RUB",
"thresholdRub": 25000,
"minAmountRub": 500,
"maxAmountRub": 500000,
"methods": [
{
"method": "card_rub",
"label": "Карта РФ",
"flatRub": 240,
"percentAbove": 1.0,
"surchargeRub": 0
},
{
"method": "sbp_rub",
"label": "СБП",
"flatRub": 240,
"percentAbove": 1.0,
"surchargeRub": 0
},
{
"method": "usdt_ton",
"label": "USDT TON",
"flatRub": 240,
"percentAbove": 1.0,
"surchargeRub": 0
},
{
"method": "usdt_bep20",
"label": "USDT BEP20",
"flatRub": 240,
"percentAbove": 1.0,
"surchargeRub": 0
},
{
"method": "usdt_trc20",
"label": "USDT TRC20",
"flatRub": 300,
"percentAbove": 1.0,
"surchargeRub": 60
}
]
}Курсы выплат
Возвращает текущие курсы и коэффициенты, используемые при расчёте выплат. rapiraUsdtRub — фиксинг Rapira с надбавкой 2%, rapiraMarketUsdtRub — исходный фиксинг, rapiraMarkupPercent — размер надбавки. rubToUsdt — количество USDT за 1 ₽ чистой суммы, usdtToRub — рублей за 1 USDT при зачислении на карту или по СБП, rubToRubSettlement — рублей к зачислению за 1 ₽ чистой суммы. Комиссия здесь не учитывается. Итоговая выплата рассчитывается заново по актуальным курсам в момент исполнения.
/payouts/ratescurl "https://api.anore.cc/v1/payouts/rates?shopId=1" \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"shopId": 1,
"ratePolicy": "execution",
"rapiraUsdtRub": 83.39,
"rapiraMarketUsdtRub": 81.75,
"rapiraMarkupPercent": 2.0,
"cbrUsdRub": 78.50,
"rubToUsdt": 0.01199185,
"usdtToRub": 78.50,
"rubToRubSettlement": 0.94135988,
"rapiraFixing": "09:00 Europe/Moscow"
}Создать выплату
Ставит заявку на вывод в очередь администратора. Сумма — целые рубли от 500 ₽ до 500 000 ₽. Комиссия удерживается из суммы заявки по актуальным настройкам мерчанта из GET /payouts/fees. Для карты РФ и СБП чистая сумма переводится в USDT по курсу Rapira +2%, затем эта же сумма USDT пересчитывается в рубли по курсу ЦБ. Рублёвые выплаты обрабатываются оператором вручную. Котировка в ответе на создание ориентировочная: итоговая сумма рассчитывается по курсам, действующим в момент обработки выплаты. После исполнения эти курсы сохраняются в истории. Заявка сразу становится в статусе pending.
/payoutsamountmethodaddressbankshopIdexternalIdcardКарта РФ — ручная выплата. Номер карты: 16–19 цифр; сумма к зачислению рассчитывается по курсам Rapira +2% → ЦБsbpСБП — ручная выплата по российскому мобильному номеру; сумма к зачислению рассчитывается по курсам Rapira +2% → ЦБusdt_tonUSDT в сети TON — при подключённом авто-выводе уходит сразу и возвращает txHashusdt_bep20USDT в сети BEP20 — обрабатывается вручную операторомusdt_trc20USDT в сети TRC20 — ручная выплата на валидный TRON-адрес, начинающийся с T; к стандартной комиссии добавляется 60 ₽curl -X POST https://api.anore.cc/v1/payouts \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"amount":10000,"method":"sbp","address":"+79991234567","bank":"Сбербанк","shopId":1,"externalId":"wd_88"}'{
"id": "WD-42",
"status": "pending",
"amount": 10000,
"method": "sbp",
"address": "+7 999 123-45-67",
"bank": "Сбербанк",
"fee": 240,
"netRub": 9760,
"amountUsdt": 117.04,
"rapiraRate": 83.39,
"cbrRate": 78.50,
"settlementRub": 9187.64,
"quoteType": "estimate",
"ratePolicy": "execution",
"externalId": "wd_88"
}Статус выплаты
Статусы: pending · approved · paid · rejected. У успешных TON-выплат в ответе будет txHash.
/payouts/{id}curl https://api.anore.cc/v1/payouts/WD-42 \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"id": "WD-42",
"status": "paid",
"amount": 10000,
"method": "СБП",
"methodCode": "sbp",
"address": "+7 999 123-45-67",
"bank": "Сбербанк",
"fee": 240,
"netRub": 9760,
"amountUsdt": 117.04,
"rapiraRate": 83.39,
"cbrRate": 78.50,
"settlementRub": 9187.64,
"quoteType": "executed",
"ratePolicy": "execution",
"externalId": "wd_88",
"createdAt": "2026-07-05T21:37:11.000Z",
"processedAt": "2026-07-06T11:51:04.000Z"
}Коды ошибок
400Ошибка валидации (amount / method / address / bank / description / shopId / JSON)401Нет или неверный ключ · неверная подпись403Касса заблокирована · API выплат не включён для кассы404Касса, платёж или выплата не найдены503Курс Rapira +2% или ЦБ временно недоступенНужна помощь с интеграцией?
Напишите нам — поможем подключиться и разобраться с вебхуками.
Написать в Telegram →