Данная документация является агентской документацией, которая предоставляется в случае договоренности между двумя сторонами и описывает методы и запросы в биллинговой системе Interhub.
Все данные принимаются POST методом Ответ возвращается в формате JSON
Обращение производится данными запросами calculate, check, pay, и check_status, deposit, merchant_list
calculate - метод, который должен выполниться до использования метода check. Используется для получения фиксированных суммах гифт карт и проверка возможности реальной транзакции.
check - метод, который должен выполниться до использования метода pay. Используется для получения дополнительной информации от системы и проверки возможности реальной транзакции.
pay - метод, который должен выполниться после того как метод (Response) вернет значение True. Данный метод используется для того, чтобы выполнилась реальная транзакция.
check_status - метод, который должен выполниться после pay. Используется для получения информации о транзакции в случае получения некорректного ответа. Возвращает значения True или False. Если ответ от сервиса не получен или получен нечеткий ответ (например: HTTP status 500), системе агента следует отправить check_status запрос для получения окончательного ответа. Рекомендуется следующий режим повтора: первый повтор через 1 минуту, следующие три с промежутком в 5 минут, далее не более одного раза в 30 минут.
deposit - данный запрос производится для получения баланса агента
merchant_list - данный запрос возвращает список услуг которые были предоставлены агенту
trancsations_list - данный запрос возвращает список cписок успешных транзакций которые были выполнены агентом в нашей системе.
Авторизация происходит при помощи токена (token) - который мы вам предоставим в процессе интеграции
Здесь будут предоставлены коды ошибок в биллинговой системе
{{url}}/api/payment/check/calculate
url и token будут предоставлены в процессе интеграции.
Параметры запроса (request):
| Параметр | Тип | Описание |
|---|---|---|
| account | string | Аккаунт или номер телефона |
| agent_transaction_id | string | Идентификатор транзакции на стороне агента - должен быть уникальным |
| service_id | integer | Уникальный идентификатор услуги |
Параметры ответа (response):
| Параметр | Тип | Описание |
|---|---|---|
| message | string | Ответа от биллинга |
| success | boolean | Информация о том, как был проведен ответ (false или true) |
| status | integer | Статус транзакции |
| account | string | Аккаунт или номер телефона |
| amount | long | Сумма платежа (валюта от договора) |
| transaction_id | string | Идентификатор транзакции |
| amount_in_currency | double | Валюта платежа |
| comission | integer | Комиссия |
| fixed_amount | BigDecimal | Фиксированная сумма гифт карты |
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Body raw (application/json)
{
"service_id": 870,
"account": "",
"agent_transaction_id":test
}
Example RequestCheck
{
"merchant_id": 870,
"account": "3333",
"agent_transaction_id":test
}
Example Response 200 OK
Body
{
"message": "Success",
"success": true,
"status": 0,
"account": "3333",
"amount": 1.00,
"transaction_id": 1616064023131,
"amount_in_currency": 0.00,
"comission": 0.00,
"fixed_amount": 8.55
}
{{url}}/api/payment/check
url и token будут предоставлены в процессе интеграции.
Параметры запроса (request):
| Параметр | Тип | Описание |
|---|---|---|
| account | string | Аккаунт или номер телефона |
| agent_transaction_id | string | Идентификатор транзакции на стороне агента - должен быть уникальным |
| amount | double | Сумма платежа (валюта указанная в договоре) |
| service_id | integer | Уникальный идентификатор услуги |
| params | object | Объект с параметрами метода. Если в данном методе нет параметров, поле можно пропустить |
Параметры ответа (response):
| Параметр | Тип | Описание |
|---|---|---|
| message | string | Ответа от биллинга |
| success | boolean | Информация о том, как был проведен ответ (false или true) |
| status | integer | Статус транзакции |
| account | string | Аккаунт или номер телефона |
| amount | long | Сумма платежа (валюта от договора) |
| id | string | Идентификатор транзакции |
| amount_in_currency | double | Валюта платежа |
| comission | integer | Комиссия |
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Body raw (application/json)
{
"account" : "",
"agent_transaction_id": "test",
"amount": 20000,
"service_id": 95,
"params": {}
}
Example RequestCheck
{
"account" : "997774433",
"agent_transaction_id": "test",
"amount": 20000,
"service_id": 95,
"params": {}
}
Example Response 200 OK
{
"message": "Success",
"success": true,
"status": 0,
"account": "997774433",
"amount": 20000,
"transaction_id": 1589273985135,
"amount_in_currency": 20000,
"comission": 0,
"currency": "UZS"
}
{{url}}/api/payment/pay
url и token будут предоставлены в процессе интеграции.
Параметры запроса (request):
| Параметр | Тип | Описание |
|---|---|---|
| transaction_id | integer | Идентификатор транзакции |
Параметры ответа (response):
| Параметр | Тип | Описание |
|---|---|---|
| message | string | Ответ от сервера |
| success | string | информация о том, как был проведен ответ (false или true) |
| status | string | Статус транзакции |
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Body raw (application/json)
{
"transaction_id": {{transaction_id}}
}
Example Request
{
"transaction_id": 1576476477083
}
Example Response 200 OK
{
"message": "Transaction is success",
"success": true,
"status": 0
}
{{url}}/api/payment/check_status
url и token будут предоставлены в процессе интеграции.
Параметры запроса (request):
| Параметр | Тип | Описание |
|---|---|---|
| transaction_id | integer | Идентификатор транзакции |
Параметры ответа (response):
| Параметр | Тип | Описание |
|---|---|---|
| message | string | Ответ от сервера |
| success | string | информация о том, как был проведен ответ (false или true) |
| status | integer | Статус транзакции |
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Body raw (application/json)
{
"transaction_id": {{transaction_id}}
}
Example Request
curl --location --request POST '{{url}}/api/payment/check_status' \
--header 'Content-Type: application/json' \
--header 'token: ' \
--data-raw '{
"transaction_id": {{transaction_id}}
}'
Example Response
{
"message": "Transaction is success",
"success": true,
"status": 0
}
{{url}}/api/agent/deposit?currency=860
url и token будут предоставлены в процессе интеграции.
Значение параметра currency будет зависеть от валюты обращения.
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Params
| currency | 860 |
|---|
Example Request
getBalance
curl --location --request GET '{{url}}/api/agent/deposit?currency=860' \
--header 'Content-Type: application/json' \
--header 'token: '
Example Response 200 OK
{
"balance": 0,
"currency": 860
}
{{url}}/api/agent/merchant/list
url и token будут предоставлены в процессе интеграции.
Параметры ответа (response):
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Example Request getMerchants
curl --location --request GET '{{url}}/api/agent/merchant/list' \
--header 'Content-Type: application/json' \
--header 'token: {{token}}'
Example Response 200 OK
[
{
"name": "WebMoney (Y)",
"id": 268,
"min_amount": 1000,
"max_amount": 5000000
},
{
"name": "WebMoney (Z)",
"id": 267,
"min_amount": 1000,
"max_amount": 5000000
}
]
{{url}}/api/agent/transaction/list
url и token будут предоставлены в процессе интеграции.
Параметры запроса (request):
| Параметр | Тип | Описание |
|---|---|---|
| from_date | integer | Начало даты |
| to_date | integer | Конец даты |
Параметры ответа (response):
| Параметр | Тип | Описание |
|---|---|---|
| message | string | Ответ от сервера |
| success | string | информация о том, как был проведен ответ (false или true) |
| status | string | Статус транзакции |
Headers
| Content-Type | application/json |
|---|---|
| token | {{token}} |
Example Request getTransactions
curl --location --request GET '{{url}}/api/agent/transaction/list' \
--header 'Content-Type: application/json' \
--header 'token: {{token}}' \
--data-raw '{
"from_date": "01.07.2020",
"to_date": "01.07.2020"
}'
Example Response 200 OK
"message": "Success",
"success": true,
"status": 0,
"data": [
{
"client_account": "993803782",
"transaction_id": 1593629995697,
"agent_transaction_id": "test",
"amount": 48758,
"date": "02.07.2020 00:00:20",
"merchant_id": 95,
"merchant_name": "UzMobile_GSM"
},
{
"client_account": "997791523",
"transaction_id": 1593629995681,
"agent_transaction_id": "test",
"amount": 20896,
"date": "02.07.2020 00:00:19",
"merchant_id": 95,
"merchant_name": "UzMobile_GSM"
}
]
}
status = -100, message = "Unauthorized"
status = -101, message = "Paramaters are missing"
status = -102, message = "Paramaters are invalid"
status = -103, message = "Merchant not found"
status = -104, message = "You can not pay for this merchant"
status = -105, message = "Amount is less from minimum"
status = -106, message = "Amount is greater from maximum"
status = -107, message = "Transaction not found"
status = -108, message = "Transaction is not success"
status = -109, message = "Transaction is not valid"
status = -110, message = "Account not found"
status = -111, message = "Deposit is not enough"
status = -112, message = "Payment authorization error"
status = -113, message = "Identification is not valid"
status = -114, message = "Amount is not valid"
status = -115, message = "Method not allowed"
status = -116, message = "Deposit is not found"
status = -117, message = "Transaction is too old"
status = -118, message = "Transaction is duplicate"
status = -119, message = "Agent is not active at the moment"
status = -136, message = "Not enough gift cards"
status = -999, message = "Unknown error"