Создание заявки
Endpoint для создания заявки на прием платежа:Обязательные параметры
| Параметр | Тип | Описание |
|---|---|---|
internalId | string | Уникальный идентификатор заявки в вашей системе для защиты от дубликатов. Используется для идемпотентности - повторные запросы с тем же internalId вернут существующую заявку. Пример: "order-12345", "payment-uuid-123" |
direction | string | Направление платежа. Для приема используйте "in". Допустимые значения: "in" (входящий), "out" (исходящий) |
amount | number | Сумма платежа в рублях (НЕ в копейках). Примеры: 1000 = 1000 RUB |
currency | string | Код валюты ISO 4217. Пока доступно: "RUB" |
startDeal | boolean | Критически важно! Флаг автоматического старта сделки. true - автоматически назначить трейдера и заморозить средства (рекомендуется для production). false - создать без трейдера (требует ручного назначения) |
notificationUrl | string | URL для webhook уведомлений о смене статуса заявки. Требования: валидный HTTPS URL. Пример: "https://your-site.com/webhooks/meridian" |
notificationToken | string | Секретный токен для HMAC-SHA256 подписи webhook. Требования: 32-255 символов |
Опциональные параметры
| Параметр | Тип | Описание |
|---|---|---|
paymentMethod | string | Метод платежа: "SBP" (Система быстрых платежей, рекомендуется), "TO_CARD" (перевод на карту), “MOBILE” (мобильная коммерция) |
paymentOption | string | Банк для платежа (зависит от доступности реквизитов): "sberbank", "tinkoff", "alfa", "vtb", "raiffeisen" |
Пример запросач
Пример ответа (успех)
HTTP Status: 200 OKПримеры ошибок
Ошибка: Нет доступных реквизитов
HTTP Status: 503 Service Unavailable Эта ошибка возникает когда все трейдеры с подходящими реквизитами занятыПоля ответа
| Поле | Тип | Описание |
|---|---|---|
id | string | Уникальный идентификатор заявки в системе Meridian. Используйте для проверки статуса через GET /api/v1/invoices/:id |
direction | string | Направление платежа: "in" (входящий) или "out" (исходящий) |
status | string | Текущий статус заявки. Для direction="in": "new" (создана, ожидает трейдера), "paid" (оплачена, средства распределены), "expired" (истек срок 10 мин), "canceled" (отменена), "dispute" (открыт спор). Следите за: new → processing → paid |
amount | string | Сумма заявки в указанной валюте (строка для точности) |
currency | string | Код валюты: "RUB", "USD", "EUR", "USDT" |
paymentMethod | string | Метод платежа: "SBP" или "TO_CARD" |
paymentOption | string | Выбранный банк для платежа (например, "sberbank", "tinkoff") |
requisiteId | string | ID назначенного реквизита (только если startDeal=true) |
dealRequisites | string | JSON-строка с реквизитами для оплаты (номер карты, счет, имя получателя). Важно: Передайте эту информацию клиенту для совершения платежа |
dealRate | string | Курс обмена USDT/RUB на момент создания заявки |
expireAt | string | Время истечения заявки ISO 8601. Для IN: истекает через 10 минут. После истечения средства автоматически размораживаются |
createdAt | string | Время создания заявки в формате ISO 8601 |
updatedAt | string | Время последнего обновления заявки в формате ISO 8601 |
internalId | string | Уникальный идентификатор заявки в вашей системе (тот же, что был передан при создании). Используйте для сопоставления с вашими внутренними записями |
merchantName | string | Отображаемое имя мерчанта (ваша организация) |