Библиотеки: Node.js, PHP, Python
Официальные клиенты API Paydex. Без зависимостей, с проверкой подписи уведомлений и повтором запросов при сбоях сети. Подходят и для сайтов, и для Telegram-ботов.
API v1 · обновлено 2026-09-12
Скачать
- Node.js 18+ (TypeScript, ESM и CommonJS) — paydex-node-1.0.0.tgz
- PHP 7.4+ (один файл, нужен curl) — paydex-php-1.0.0.zip
- Python 3.9+ (обычный и async-клиент, обработчик для aiohttp/aiogram) — paydex-1.0.0-py3-none-any.whl · исходники
- Готовый бот на aiogram 3 — тарифы, кнопки «Оплатить» и «Проверить оплату», приём уведомлений, защита от двойной выдачи: paydex-aiogram-bot.zip (
pip install -r requirements.txt, затемpython bot.py)
Версия 1.0.0. Лицензия MIT — библиотеки можно менять и встраивать в свои проекты.
Что библиотеки делают за вас
- Проверяют уведомления дважды.
confirmсверяет подписьX-Paydex-Signature, а затем перечитывает счёт из API вашим ключом. Решение «оплачено» принимается по ответу API, поэтому подделанное или устаревшее уведомление ничего не изменит. - Повторяют запросы при сбоях. Чтение и создание счёта повторяются до 2 раз при обрыве связи, ошибке 5xx и 429 с учётом
Retry-After. Двойного счёта не будет: тот жеorderIdс тем же телом возвращает уже созданный счёт. - Не повторяют опасное. Возврат и вывод без
orderIdотправляются ровно один раз. - Ждут оплату без вебхука —
waitFor/wait_for_invoiceопрашивают счёт до окончательного статуса, соблюдая лимит «раз в 3 секунды». - Не отправят ключ открыто — только
https://, без переходов по редиректам.
Node.js
Тело уведомления нужно сырое: express.raw, в Next.js — await req.text(), в Fastify — rawBody. Методы: invoices.create / get / findByOrderId / list / iterate / start / refund / waitFor, refunds.get, methods.list, balance.get, payouts.create / get / list, webhooks.verify / parse / confirm.
PHP
Распакуйте архив в проект и подключите один файл. Для Composer в архиве есть composer.json — добавьте папку как path-репозиторий.
Python и боты на aiogram
Paydex — синхронный клиент для Django и Flask, AsyncPaydex — для aiogram, FastAPI и aiohttp. paydex.aiohttp.webhook_handler принимает уведомления в том же процессе, что и бот: проверяет подпись, перечитывает счёт и отвечает Paydex так, чтобы при ошибке уведомление пришло повторно.
Кнопка «Проверить оплату» нужна, даже если уведомления настроены: если сервер бота был недоступен, покупатель получит доступ сам. Выдавайте доступ один раз — в полном примере заказ «занимается» одной SQL-командой, поэтому повторное уведомление или второе нажатие ничего не выдадут.
Проверка
Начните с ключа sk_test_…: на тестовой странице оплаты есть кнопки «Успех / Отказ / Истёк», а уведомления приходят с isTest: true. Уведомление тестового счёта при боевом ключе (и наоборот) библиотеки пропускают — invoice будет пустым. Подробнее — Тестирование.