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

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

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

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

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

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

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

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

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

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

Відповідь з інформацією про помилку на стороні сервера (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"
}
]
}

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

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

{
"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