API документация

REST API для приёма платежей через СБП и карты. OpenAPI 3.0 + интерактивная спецификация.

Скачать openapi.json

Быстрый старт

  1. Создайте API-ключ в личном кабинете
  2. Укажите webhook URL в настройках проекта
  3. Создайте платёж и перенаправьте клиента на `payment_url`

Пример (cURL):

curl -X POST https://paydock.ru/api/v1/payments \
  -H "Authorization: Bearer pk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 200,
    "method": "SBP",
    "description": "Заказ #123",
    "external_id": "order-123",
    "return_url": "https://shop.example/success"
  }'

Поле amount — сумма заказа без комиссии. Клиент оплатит сумму с комиссией; в ответе amount — итог к оплате.

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

Postman Collection

Импорт коллекции с переменными base_url и api_key

Node.js

examples/node/create-payment.js в репозитории

PAYDOCK_API_KEY=pk_... node create-payment.js

Webhook Ozon Bank (входящий): https://paydock.ru/api/webhooks/ozon-bank

OpenAPI

Аутентификация

Передавайте публичный ключ (pk_...) одним из способов:

Authorization: Bearer pk_your_api_key
X-API-Key: pk_your_api_key

Для POST-запросов рекомендуется подпись тела секретом ключа (sk_...):

X-Signature: HMAC-SHA256(raw_request_body, api_secret)  // hex

Если заголовок X-Signature передан, он проверяется обязательно. Без него достаточно API-ключа.

Webhooks

POST на URL проекта при смене статуса. До 3 попыток доставки (0 / 2 / 5 сек).

СобытиеКогда
payment.successПлатёж успешно оплачен
payment.failedОшибка или отмена оплаты
payment.expiredИстёк срок оплаты
payment.refundedВыполнен возврат
POST https://your-shop.example/webhook/paydock
Content-Type: application/json
X-PayDock-Event: payment.success
X-PayDock-Signature: <hmac-sha256-hex>

{
  "event": "payment.success",
  "data": {
    "id": "clx...",
    "external_id": "order-123",
    "amount": 207,
    "status": "SUCCESS",
    "method": "SBP",
    "paid_at": "2026-09-01T12:00:00.000Z"
  },
  "timestamp": "2026-09-01T12:00:00.000Z"
}

Проверка: HMAC-SHA256(raw_body, api_secret) === X-PayDock-Signature

Коды статусов

СтатусОписание
PENDINGОжидает оплаты
PROCESSINGВ обработке
SUCCESSУспешно оплачен
FAILEDОшибка оплаты
CANCELLEDОтменён
EXPIREDИстёк срок оплаты (30 мин)
REFUNDEDВозврат

Эндпоинты

POST/api/v1/payments

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

GET/api/v1/payments

Список платежей

GET/api/v1/payments/:id

Статус платежа

POST/api/v1/payments/:id/refund

Возврат