Принимайте платежи и получайте уведомления о статусах транзакций через простой HTTP API. Ниже — вход за пару минут; детали протокола — в разделах справочника.
Приём платежей
Уведомления
Все запросы отправляются на:
Остальные пути в документации — относительные (без слэша в конце Base URL).
Пример: POST /api/v1/payments → Base URL + /api/v1/payments
Интеграция занимает ~10–15 минут
POST /api/v1/payments с JSON телом.Пошагово с кодом: первый запрос.
Создадим тестовый платёж:
Поле method задаёт канал (например СБП); сервер приводит его к внутренней схеме. Полный список полей — в справочнике по созданию платежа.
curl -X POST 'https://api.protopays.io/api/v1/payments' \
-H 'Content-Type: application/json' \
-H 'X-Merchant-Secret: <SECRET>' \
-H 'Signature: <SIGNATURE>' \
-d '{
"orderId": "demo-001",
"amount": "1000",
"currency": "RUB",
"callbackUri": "https://your-site.example/hooks/protopays",
"method": "sbp"
}'Пример ответа (успешное создание; для СБП реквизит типично телефон):
{
"message": "Payment created",
"data": {
"id": 1001,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"orderId": "demo-001",
"status": "pending",
"amount": "1000.00",
"currency": "RUB",
"requisite": {
"type": "sbp",
"method": "sbp",
"value": "+79991234567",
"holder": "И. Иванов",
"bank": "Пример банк"
},
"expiresAt": "2026-04-20T15:30:00+00:00"
}
}Что взять из ответа: поле message — признак успешной операции; в data сохраните id и uuid для учёта, status — текущее состояние; requisite — что показать плательщику (значение зависит от канала); expiresAt — крайний срок резерва реквизита. Итоговое подтверждение оплаты приходит через webhook; подробнее — реквизиты.
orderId, чтобы не создавать дублирующие платежи при повторах — см. идемпотентность.OpenAPI (JSON): /openapi/api-docs.json