Общая информация о работе с ордерами#
Введение#
Ордер (order) - сущность, обозначающая заявку от мерчанта на обмен фиат <-> USDT.
Направления ордеров:
PayIn- фиат -> USDTPayOut- USDT -> фиат
Типы ордеров:
P2P- перевод по номеру карты/счета/аккаунта/телефона/...QuasiEcom- перевод по методу Quasi EcomMobileCommerce- клиент получает реквизит (ссылку или идентификатор) от шлюза и передаёт полученный код подтверждения
Флоу ордеров:
H2H- интеграция по backend HTTP APIPaymentPage- интеграция с использованием платежной страницы (форма с реквизитами для перевода, форма ввода реквизитов для quasi ecom, ...)
API для работы с ордерами#
Методы API для работы с каждым из типов ордеров отписаны на отдельных страницах:
- PayIn - P2P - H2H
- PayIn - P2P - PaymentPage
- PayIn - QuasiEcom - H2H
- PayIn - QuasiEcom - PaymentPage
- PayIn - MobileCommerce - H2H
- PayOut - P2P - H2H
Для уведомлений мерчанта об изменениях ордера в системе MoneyMania предусмотрен механизм коллбэков. См. страницу "Коллбэки"
Статусная модель#
PayIn - P2P#

| Статус | Описание |
|---|---|
created |
Ордер зарегистрирован в системе |
rejected |
Ордер отклонён |
declined_by_gateway |
Не удалось подобрать провайдера для обработки ордера |
payment_pending |
Ордер обработан. Ожидание платежа от клиента |
expired |
Истек TTL ордера, платеж не был произведен |
succeeded |
Ордер успешно исполнен, платеж был произведен |
succeeded_by_appeal |
Ордер признан успешным по апелляции |
failed_by_appeal |
Ордер признан зафейленным по апелляции |
Значение TTL по умолчанию - 15 минут.
PayIn - QuasiEcom#

| Статус | Описание |
|---|---|
created |
Ордер зарегистрирован в системе |
rejected |
Ордер отклонён |
declined_by_gateway |
Не удалось подобрать провайдера для обработки ордера |
confirm_waiting |
Ожидание кода подтверждения |
waiting_for_terminal |
Ожидание обработки платежа провайдером |
failed_by_terminal |
Провадер не смог произвести платеж |
expired |
Истек TTL ордера, платеж не был произведен |
succeeded |
Ордер успешно исполнен, платеж был произведен |
succeeded_by_appeal |
Ордер признан успешным по апелляции |
failed_by_appeal |
Ордер признан зафейленным по апелляции |
PayOut - P2P#

| Статус | Описание |
|---|---|
created |
Ордер зарегистрирован в системе |
rejected |
Ордер отклонён |
terminal_selecting |
Подбор провайдера для платежа |
payment_in_progress |
Провайдер выбран. Ожидание платежа от провайдера |
expired |
Истек TTL ордера, платеж не был произведен |
terminal_failed |
Провайдер не смог произвести платеж |
expired_without_callback |
Истек TTL ордера, но отсутствует информация об успешности платежа от провайдера |
succeeded |
Ордер успешно исполнен, платеж был произведен |
succeeded_by_appeal |
Ордер помечен успешным по апелляции |
failed_by_appeal |
Платеж не был осуществлен, установлено по апелляции |
all_terminals_failed |
Не удалось подобрать провайдера для платежа. Платеж не был осуществлен |
Значение TTL обсуждается при интеграции.
Структура ответа API методов#
Ответ каждого метода API имеет следующий формат:
{
"result": {
"status": "success",
"x-request-id": "string",
"codeError": "none",
"message": "string"
},
"data": {
# ...
}
}
Поле result содержит результат выполнения конкретного вызова.
- Если
"status" = "success"- запрос выполнился успешно и полеdataсодержит объект сущности. - Если
"status" = "failed"- запросы выполнился неуспешно. Код ошибки содержится в полеcodeError, сообщение - в полеmessage
Результат со значением "status" = "warning" означает, что в процессе выполнения вызова API произошла ошибка. Код ошибки содержится в поле codeError, поле message содержит описание ошибки.
Возможные варианты ответов#
| HTTP Status Code | result.codeError |
Причина |
|---|---|---|
| 200 | "none" |
Успешный ответ |
| 400 | "invalidRequestParameters" |
Неверные параметры |
| 400 | "turnoverLimitsExceeding" |
Сумма оборота за день (или месяц) превысила максимальный разрешенный лимит |
| 400 | "orderLimitsExceeding" |
Сумма ордера выходит за разрешенные лимиты |
| 400 | "duplicateMerchantOrderID" |
Передан дублирующийся merchantOrderID (idTransactionMerchant) |
| 403 | - | Доступ запрещен |
| 404 | "noPaymentDetailsAvailable" |
Не найден провайдер для обработки ордера |
| 500 | "internalError" |
Внутренняя ошибка сервера |
Note
Поля idTransactionMerchant и merchantOrderID идентичны и содержат переданный мерчантом ID ордера в системе мерчанта.
Форматы данных в API#
- Время:
string,2025-11-29T06:37:45.776331Z - Суммы в валюте ордера:
float64 - Суммы в USDT:
float64с точностью до 6-ти знаков после запятой