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', email: 'buyer@example.com' })
const sign = crypto.createHmac('sha256', SECRET_KEY).update(body).digest('hex')Создать платёж
Создаёт счёт и возвращает ссылку на платёжную форму. Перенаправьте клиента на paymentUrl - счёт действителен 4 часа.
/paymentsamountcurrencydescriptionshopIdorderIdemailmethodsgetbackurlsuccessurlfailurlcallbackUrlcurl -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","email":"buyer@example.com","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 USDT/RUB по фиксингу на 09:00 МСК с наценкой магазина. Для новых заявок USDT окончательный курс сохраняется при взятии заявки в работу. Доступно только если у кассы включён 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,
"minAmountByMethod": {
"sbp_rub": 500,
"usdt_ton": 500,
"usdt_bep20": 500,
"usdt_erc20": 500,
"usdt_trc20": 500
},
"maxAmount": 1500000,
"maxAmountByMethod": {
"sbp_rub": 500000,
"usdt_ton": 1500000,
"usdt_bep20": 1500000,
"usdt_erc20": 1500000,
"usdt_trc20": 1500000
},
"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,
"minAmountRubByMethod": {
"sbp_rub": 500,
"usdt_ton": 500,
"usdt_bep20": 500,
"usdt_erc20": 500,
"usdt_trc20": 500
},
"maxAmountRub": 1500000,
"maxAmountRubByMethod": {
"sbp_rub": 500000,
"usdt_ton": 1500000,
"usdt_bep20": 1500000,
"usdt_erc20": 1500000,
"usdt_trc20": 1500000
},
"methods": [
{
"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_erc20",
"label": "USDT ERC20",
"flatRub": 240,
"percentAbove": 1.0,
"surchargeRub": 0
},
{
"method": "usdt_trc20",
"label": "USDT TRC20",
"flatRub": 300,
"percentAbove": 1.0,
"surchargeRub": 60
}
]
}Курсы выплат
Возвращает предварительные курсы выплат. rapiraUsdtRub - фиксинг Rapira на 09:00 МСК с наценкой магазина; rapiraMarketUsdtRub - тот же фиксинг без наценки; rateBasis=fixed_0900_msk, rapiraFixing=09:00 Europe/Moscow. rubToUsdt - USDT за рубль чистой суммы. Для новых заявок USDT ratePolicy=approval: действующий фиксинг с наценкой и окончательная сумма сохраняются при взятии заявки в работу. usdtToRub и rubToRubSettlement относятся только к СБП с пересчётом фиксинга Rapira 09:00 МСК → ЦБ при исполнении (sbpRatePolicy=execution).
/payouts/ratescurl "https://api.anore.cc/v1/payouts/rates?shopId=1" \
-H "Authorization: Bearer an_live_xxxxxxxxxxxxxxxx"{
"shopId": 1,
"ratePolicy": "approval",
"rateBasis": "fixed_0900_msk",
"sbpRatePolicy": "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 ₽; максимум 1 500 000 ₽ для USDT или 500 000 ₽ для СБП. Лимиты по способам возвращаются в maxAmountByMethod и maxAmountRubByMethod. Комиссия мерчанта удерживается из суммы заявки. Для USDT курс и amountUsdt при создании предварительные, окончательные значения сохраняются при взятии заявки в работу. Для СБП используется пересчёт Rapira → ЦБ при исполнении. Выплаты на карты недоступны до подключения токенизации провайдера; PAN и CVV передавать запрещено. Начальный статус заявки pending.
/payoutsamountmethodaddressbankshopIdexternalIdsbpСБП - ручная выплата по российскому мобильному номеру; сумма к зачислению рассчитывается по курсам Rapira +2% → ЦБusdt_tonUSDT в сети TON - при подключённом авто-выводе уходит сразу и возвращает txHashusdt_bep20USDT в сети BEP20 - обрабатывается вручную операторомusdt_erc20USDT в сети ERC20 - обрабатывается вручную оператором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": "+79991234567",
"bank": "Т-Банк",
"fee": 240,
"netRub": 9760,
"amountUsdt": 119.388379,
"rapiraRate": 81.75,
"cbrRate": 78.50,
"settlementRub": 9372.00,
"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": "+79991234567",
"bank": "Т-Банк",
"fee": 240,
"netRub": 9760,
"settlementRub": 9372.00,
"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 →