Данная документация является агентской документацией, которая предоставляется в случае договоренности между двумя сторонами и описывает методы и запросы в биллинговой системе 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"