Skip to content

Платежи — общая информация

POST /deposits

Создание нового платежа. После успешного создания возвращает идентификатор операции и данные для проведения платежа (URL для редиректа, реквизиты, поля ввода и т.д.).

Заголовки

ЗаголовокОбязательныйОписание
merchant-idДаИдентификатор мерчанта
x-signatureДаHMAC-SHA256 подпись запроса
Content-TypeДаapplication/json

Тело запроса

ПолеТипОбязательныйОписание
amountstringДаСумма (например, "100.00")
currencystringДаВалюта (RUB, и др.)
paymentMethodstringДаПлатежный метод (например, card)
userIdstringДаИдентификатор пользователя мерчанта
merchantOperationIdstringНетИдентификатор операции на стороне мерчанта
callbackUrlstringНетURL для отправки колбэков
processingUrlstringНетURL страницы обработки
successUrlstringНетURL для редиректа при успехе
failUrlstringНетURL для редиректа при ошибке
requisitesobjectНетРеквизиты, специфичные для платежного метода
userDataUserDataНетДанные пользователя

Пример запроса

bash
curl -X POST https://api.arcanumpay.ru/api/v1/deposits \
  -H "Content-Type: application/json" \
  -H "merchant-id: 12345" \
  -H "x-signature: a1b2c3d4e5f6..." \
  -d '{
    "amount": "100.00",
    "currency": "RUB",
    "paymentMethod": "card",
    "userId": "user-123",
    "merchantOperationId": "merch-op-001",
    "callbackUrl": "https://example.com/callback",
    "successUrl": "https://example.com/success",
    "failUrl": "https://example.com/fail",
    "userData": {
      "email": "user@example.com",
      "ipAddress": "192.168.1.1"
    }
  }'

Ответ

ПолеТипОписание
operationIdstringUUID созданного платежа
statusnumberСтатус: 1 (Approved), 2 (Declined), 3 (Processing)
amountstringСумма операции
currencystringВалюта
errorCodestringКод ошибки (при отклонении)
errorMessagestringОписание ошибки (при отклонении)
redirectUrlstringURL для редиректа пользователя
requisitesobjectРеквизиты для оплаты
lifetimenumberВремя жизни реквизитов в секундах
instructionobjectИнструкция для пользователя
inputFieldsarrayДинамические поля для ввода
confirmRequiredbooleanТребуется ли подтверждение
confirmationobjectДанные подтверждения

Типы действий

В зависимости от платежного провайдера и метода, ответ может содержать различные данные для завершения платежа:

Redirect

Пользователь должен быть перенаправлен на указанный URL для завершения платежа.

json
{
  "data": {
    "operationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": 3,
    "amount": "100.00",
    "currency": "RUB",
    "redirectUrl": "https://provider.com/pay/session-123"
  }
}

Requisites (реквизиты для оплаты)

Отображение реквизитов для оплаты (номер карты, кошелек и т.д.).

json
{
  "data": {
    "operationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": 3,
    "amount": "100.00",
    "currency": "RUB",
    "requisites": {
      "cardNumber": "4111111111111111",
      "bankName": "Example Bank"
    },
    "lifetime": 3600
  }
}

Input Fields (дополнительные поля)

Провайдер запрашивает дополнительные данные (OTP-код, выбор банка и т.д.).

json
{
  "data": {
    "operationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": 3,
    "amount": "100.00",
    "currency": "RUB",
    "inputFields": [
      {
        "name": "otp_code",
        "label": "OTP Code",
        "type": "string",
        "required": true
      },
      {
        "name": "bank",
        "label": "Select Bank",
        "type": "select",
        "required": true,
        "options": [
          { "value": "bank_a", "label": "Bank A" },
          { "value": "bank_b", "label": "Bank B" }
        ]
      }
    ]
  }
}

Instruction (инструкция)

Текстовая инструкция для пользователя с шагами выполнения.

json
{
  "data": {
    "operationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": 3,
    "amount": "100.00",
    "currency": "RUB",
    "instruction": {
      "category": "DoPayment",
      "steps": [
        { "title": "Шаг 1", "description": "Откройте мобильное приложение банка" },
        { "title": "Шаг 2", "description": "Подтвердите платеж" }
      ]
    }
  }
}

Confirmation (подтверждение)

Требуется подтверждение по одному из каналов (SMS, email и т.д.).

json
{
  "data": {
    "operationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": 3,
    "amount": "100.00",
    "currency": "RUB",
    "confirmRequired": true,
    "confirmation": {
      "channels": ["sms"]
    }
  }
}

Ошибки

HTTP-кодОшибкаОписание
403ForbiddenНет доступа к платежному методу
422NoRouteFoundНе найден маршрут обработки платежа