Перейти к содержанию

PayIn - MobileCommerce - H2H#

На этой странице описаны методы для работы с ордерами на ввод типа MobileCommerce по флоу H2H.

Создание ордера#

Запрос#

URL: POST https://<host>/api/v1/payin/mobile-commerce/h2h

Заголовки:

Тело запроса:

Поле Тип Обязательное Описание
methodID integer да Метод перевода. Будет сообщен при интеграции
amount float64 да Сумма платежа в валюте, заданной методом
trafficType string нет Тип трафика. Возможные значения: "ftd" (первичный), "td" (вторичный, доверенный), "mixed" (смешанный). Если значение не указано, используется "mixed"
clientID string нет* ID или имя клиента мерчанта
merchantOrderID string нет ID ордера в системе мерчанта. Должен быть уникальным в рамках одного аккаунта мерчанта
clientMetadata.phone string нет* Номер телефона клиента
clientMetadata.operator string нет* Мобильный оператор клиента (например, "mts")
clientMetadata.name string нет* Имя и фамилия клиента
clientMetadata.email string нет* Email клиента
metadata.webHook string нет URL-адрес, по которому будут направлены callback-запросы при изменениях в ордере

* - может быть обязательным для отдельных гео — уточняйте при интеграции, как и требования к полям clientMetadata.

Пример cURL#

curl -X 'POST' \
  'https://<host>/api/v1/payin/mobile-commerce/h2h' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <YOUR-API-KEY>' \
  -d '{
  "methodID": 9,
  "amount": 100.12,
  "clientID": "ID1234",
  "merchantOrderID": "316b6280-d6e2-4627-bacd-fcda062438bc",
  "clientMetadata": {
    "phone": "88005553535",
    "operator": "mts",
    "name": "Ivan Ivanov",
    "email": "ivan@example.com"
  },
  "metadata": {
    "webHook": "https://example.com/webhook"
  }
}'

Ответ#

См. раздел "Структура ответа API методов"

Успешный ответ#

HTTP Status Code: 200

Тело ответа:

{
  "data": {
    "amount": 100.12,
    "amountComission": 0.5,
    "currency": "KES",
    "dateAdded": "2025-11-28T14:22:52.09469Z",
    "dateUpdated": "2025-11-28T14:22:52.613964Z",
    "exchangeRate": 1.78,
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "idTransactionMerchant": null,
    "merchantID": "e7eb6ae1-f477-4712-99ca-b93e6e95824b",
    "orderType": "payIn",
    "paymentDetailsData": {
      "bankCode": null,
      "mediatorName": null,
      "methodID": 9,
      "number": null,
      "numberAdditional": null,
      "link": "https://example.com/pay/abc123",
      "requisiteTypeCode": "link"
    },
    "routingAttempts": [],
    "status": "payment_pending",
    "usdtAmount": 5.617978,
    "usdtAmountComission": 0.280899
  },
  "result": {
    "codeError": "none",
    "message": null,
    "status": "success",
    "x-request-id": "4d925d05e23f81170a7d899a482d2391"
  }
}

Описание полей структуры data:

Поле Тип Обязательное Описание
id string да Уникальный ID ордера в системе MoneyMania
dateAdded string да Дата и время создания ордера
dateUpdated string да Дата и время последнего обновления ордера
orderType string да Тип ордера
status string да Статус ордера. См. статусную модель
idTransactionMerchant string нет ID ордера в системе мерчанта
amount float64 да Сумма ордера в валюте ордера
amountComission float64 да Сумма комиссии мерчанта в валюте ордера
currency string да Валюта ордера
usdtAmount float64 да Сумма ордера в USDT
usdtAmountComission float64 да Сумма комиссии по ордеру мерчанта в USDT
exchangeRate float64 да Курс валюты ордера к USDT (1 USDT = X currency)
merchantID string да ID мерчанта, от которого поступил ордер
paymentDetailsData object да Данные для совершения платежа
paymentDetailsData.mediatorName string нет Имя держателя карты/счета
paymentDetailsData.methodID integer да ID метода платежа
paymentDetailsData.requisiteTypeCode string да Тип реквизитов
paymentDetailsData.bankCode string нет** Код банка
paymentDetailsData.number string нет** Номер карты/счета/телефона
paymentDetailsData.numberAdditional string нет Дополнительный номер (БИК банка и т.п.)
paymentDetailsData.link string нет** Ссылка для перевода (если применимо. Например, при requisiteTypeCode="link")
  • ** - зависит от methodID

Отправка кода подтверждения#

Запрос#

URL: POST https://<host>/api/v1/orders/{id}/mobile-commerce-confirm/h2h

  • {id} - ID ордера в системе MoneyMania

Заголовки:

Тело запроса:

Поле Тип Обязательное Описание
code string да Код подтверждения

Пример cURL#

curl -X 'POST' \
  'https://<host>/api/v1/orders/3fa85f64-5717-4562-b3fc-2c963f66afa6/mobile-commerce-confirm/h2h' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <YOUR-API-KEY>' \
  -d '{
  "code": "123456"
}'

Ответ#

См. раздел "Структура ответа API методов"

Успешный ответ#

HTTP Status Code: 200

Тело ответа:

{
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "waiting_for_terminal",
    "merchantOrderID": "316b6280-d6e2-4627-bacd-fcda062438bc",
    "currency": "KES",
    "amount": 100.12,
    "timer": 300
  },
  "result": {
    "codeError": "none",
    "message": null,
    "status": "success",
    "x-request-id": "4d925d05e23f81170a7d899a482d2391"
  }
}

Описание полей структуры data:

Поле Тип Обязательное Описание
id string да Уникальный ID ордера в системе MoneyMania
status string да Статус ордера. См. статусную модель
merchantOrderID string нет ID ордера в системе мерчанта
currency string да Валюта ордера
amount float64 да Сумма ордера в валюте ордера
timer float64 да Таймер

Условия отправки callback-запросов#

Переход ордера в статусы (См. статусную модель):

  1. succeeded
  2. expired
  3. failed_by_terminal
  4. succeeded_by_appeal