PayIn - MobileCommerce - H2H#
На этой странице описаны методы для работы с ордерами на ввод типа MobileCommerce по флоу H2H.
Создание ордера#
Запрос#
URL: POST https://<host>/api/v1/payin/mobile-commerce/h2h
Заголовки:
Content-Type: application/jsonAuthorization: Bearer <YOUR-API-KEY>. См. страницу "Авторизация запросов"
Тело запроса:
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
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
Заголовки:
Content-Type: application/jsonAuthorization: Bearer <YOUR-API-KEY>. См. страницу "Авторизация запросов"
Тело запроса:
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
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-запросов#
Переход ордера в статусы (См. статусную модель):
succeededexpiredfailed_by_terminalsucceeded_by_appeal