Примеры интеграции

Полный цикл — создание счёта, редирект покупателя, приём подписанного вебхука и запрос статуса — на curl, Node.js, PHP и Python. Отдельных SDK-пакетов пока нет: API достаточно простой, чтобы обойтись HTTP-клиентом; ниже — готовые обёртки, которые можно скопировать в проект.

API v1 · обновлено 2026-09-12

Сценарий

  1. Покупатель нажимает «Оплатить» на вашем сайте → ваш сервер вызывает POST /invoices.
  2. Сохраняете id счёта рядом с заказом, перенаправляете покупателя на url.
  3. Покупатель платит → на ваш webhook_url приходит invoice.paid. Проверяете подпись, отмечаете заказ оплаченным.
  4. Покупатель возвращается на successUrl. Если вебхук ещё не обработан, показываете «проверяем оплату» и опрашиваете свой бэкенд (или GET /invoices/{id}).

curl

Node.js

Без зависимостей — только встроенные fetch и crypto. Подходит для Express, Fastify, Nest, Next.js API routes.

PHP

Один класс на ext-curl. Работает в Laravel, Symfony, WordPress-плагине или чистом PHP.

Python

На requests; для Django, Flask или FastAPI.

Go и другие языки

Проверка подписи вебхука на Go есть в разделе Вебхуки. Клиент к API — три вызова net/http с заголовком Authorization: Bearer; отдельный пример не нужен.

Практика

  • Храните id счёта Paydex в таблице заказов — по нему ищется платёж в кабинете и в API.
  • Делайте обработчик вебхука идемпотентным: повторный invoice.paid не должен выдавать товар дважды.
  • Не блокируйте ответ на вебхук тяжёлой работой — сначала 200, затем очередь.
  • Логируйте error.code и HTTP-статус при ошибках API — с ними поддержка разберётся быстрее.
  • Начинайте с sk_test_: полный цикл можно прогнать за пять минут, см. Тестирование.
  • Машиночитаемое описание API — /docs/openapi.json (OpenAPI 3.1): из него генерируются клиенты для любого языка.