Перейти до основного вмісту

HTTP статус-коди та їх опрацювання

На цій сторінці ви знайдете інформацію про помилки, що можуть бути отримані при направленні запиту до API Tranzzo.

Загальний перелік HTTP статус-кодів з помилками:

Код помилкиОпис помилкиРекомендації
400Bad RequestЦей тип помилки свідчить про недопустимість запиту. Для її усунення перегляньте параметри запиту, щоб пересвідчитися у їх правильності та повноті.
401UnauthorizedЦя помилка вказує на те, що один або кілька параметрів автентифікації (POS_ID, API_KEY, API_SECRET, ENDPOINTS_KEY) мають невірне або недопустиме значення.
Для усунення помилки перевірте значення, що використовуються для автентифікації та використайте актуальні.
404Not FoundПомилка вказує на неможливість знайти ендпоїнт або запис про платіж. Для її усунення перевірте правильність URL-адреси, на яку відправляється запит. Можливо, в ній містяться одруки чи пропущено частину адреси.
405Method Not AllowedЦя помилка свідчить про використання недопустимого HTTP-методу у запиті. Перевірте вимоги документації для відповідного типу запитів, а також HTTP-метод, що ви використовуєте.
406Not AcceptableПомилка вказує на необхідність включення до запиту за HTTP-методом POST контенту типу application/json. Включіть до відповідного запиту контент необхідного формату.
429Too Many RequestsЦя помилка вказує на завелику кількість запитів протягом короткого проміжку часу. Спробуйте повторити свій запит після невеликої паузи.
500Internal Server ErrorЦей тип помилок відноситься до внутрішніх помилок на стороні Tranzzo. Зв’яжіться зі Службою підтримки Tranzzo для отримання додаткової інформації щодо вирішення цієї проблеми.
503Service UnavailableЦя помилка також відноситься до внутрішніх помилок на стороні Tranzzo і вказує на неможливість зв’язатися із сервером. Спробуйте повторити свій запит після невеликої паузи, а якщо це не допомогло, то зв’яжіться зі Службою підтримки Tranzzo для отримання додаткової інформації щодо вирішення цієї проблеми.

Відповідь з інформацією про помилку на стороні клієнта (4ХХ статус-коди) має таку структуру:

FieldTypeRequired
messageString(512)
argsJSON
args.codeString(16)

Приклад такої відповіді:

{
"message": "Invalid pos_id field or credentials",
"args": {
"code": "S-403"
}
}

Отримання у відповідь на запит помилки з 4ХХ статус-кодом вказує на те, що платіж не було створено або створено одразу з неуспішним статусом. При отриманні статус-коду 404 ви можете зробити повторний запит.

Відповідь з інформацією про помилку на стороні сервера (5ХХ статус-коди) має таку структуру:

FieldTypeRequired
messageString(512)
argsObject
args.error_idString(16)

Приклад такої відповіді:

{
"message": "Internal error occurred",
"args": {
"error_id": "NYdKYdA4Zv3iOJSw"
}
}

Параметр args також може містити поле Obj, що є масивом даних.

Приклад відповіді:

{
"message": "Invalid values provided",
"args": {
"obj": [
{
"msg": [
"The card is expired: expiry month and year must be numbers that are gte than today"
],
"args": []
}
]
}
}

У окремих випадках параметр args також може передаватися як масив.

Приклад відповіді:

{
"message":"Invalid amount provided",
"args":[
{
"field_name":"amount",
"violation":"Invalid value for 'amount': must be a Number in range of [500 - 100000] INR, actual - 300"
}
]
}

При отриманні статус-коду 500 або 503 необхідно здійснити переопит статусу транзакції, використовуючи значення параметру order_id, що встановлювалося в запиті на створення платежу. Переопит статусу транзакції необхідно провести не раніше ніж через 1 хвилину після отримання помилки.

Ще один тип помилки може бути отримано у випадку відправки запиту до неіснуючого ендпоїнту.

Приклад відповіді:

{
"code": 5,
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "service_control",
"stackEntries": []
}
],
"message": "Method does not exist."
}

При отриманні такої помилки рекомендуємо перевірити правильність адреси ендпоїнту, до якого відправляються запити.

При неправильному формуванні запитів, можуть бути отримані такі помилки:

Повідомлення про помилкуРекомендації
API key not valid. Please pass a valid API key.Перевірте значення параметру ENDPOINTS_KEY
Method doesn't allow unregistered callers (callers without established identity). Please use API Key or other form of API consumer identity to call this API.Перевірте, чи передається хедер X-API-KEY
Invalid pos_id field or credentialsПеревірте коректність X-API-Auth та POS_ID