UAPAY - національний платіжний сервіс
Callback
Callback - це повідомлення клієнта про те, що сталась якась подія за допомогою HTTP запиту. Система UAPAY робить HTTP запит з методом POST на вказаний клієнтом URL. Формат переданих даних - JSON. Запит підписується за допомогою JWT-токена, докладніше про це тут.
Обов'язково! Для отримання callback з продуктового середовища, необхідно передати вашому персональному менеджеру UAPAY, URL, на який ви хочете їх отримувати, і після підтверждення, ваш URL буде внесено в список дозволених для отримання callback.
При зміні IP-адреси вашого сервісу - попереджати персонального менеджера UAPAY, щоб вашу нову IP-адресу внесли до списку дозволених для отримання callback.
Приклад підписаного тіла запиту callback у вигляді JWT-токена:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXltZW50SWQiOiI2MWI5YTVkNS1kNDI5LTQ4ZmEtYjAxYy0yZjhkYzc1ZjIwMjMiLCJpbnZvaWNlSWQiOiIxY2ZkZWE0My0xMGYwLTQwYzgtOWZlOC01NWQzOGY0OGI5YmMiLCJleHRlcm5hbElkIjoiMGY5MWJiOTAtODhlZS00ZjJhLThiNzUtOTNiZGNiNjE0NGVjIiwicGF5bWVudE51bWJlciI6MjQ5NTAzLCJjYXJkRnJvbU1hc2tlZCI6IjQxMTExMTExMTEiLCJjYXJkVG9NYXNrZWQiOm51bGwsImFtb3VudCI6MTAwMDAwLCJzdGF0dXMiOiJGSU5JU0hFRCIsInR5cGUiOiJQQVkiLCJzeXN0ZW1UeXBlIjoiRUNPTSIsInBheW1lbnRTdGF0dXMiOiJGSU5JU0hFRCIsInJlY2VpcHRQYXRoIjoiaHR0cHM6Ly9hcGkuc3RhZ2UudWFwYXkudWEvYXBpL2FjcXVpcmluZy9yZWNlaXB0cy92Mi82MWI5YTVkNS1kNDI5LTQ4ZmEtYjAxYy0yZjhkYzc1ZjIwMjMucGRmIiwiZXh0cmFJbmZvIjoie1wiZG9jSWRcIjpcIjA5OTQ3ODA0MDJcIixcInNwcm90b2NvbFwiOlwi0KLQldCh0KJcIixcIm5wcm90b2NvbFwiOlwiMjQyMzg1MlwiLFwibGljZW5zZVBsYXRlXCI6XCJmaW5lU2VyaWVzXCJ9IiwiY3JlYXRlRGF0ZSI6IjIwMjEtMDQtMTJUMTA6MDM6MTAuMDAwWiIsInBheURhdGUiOiIyMDIxLTA0LTEyVDEwOjAzOjMxLjg3NFoiLCJpYXQiOjE2MTgyMjE4MTF9.qfbEOHLPka3YW6z0J0FygRx4Sw5R5g6jyjFF6bFhU2g"
}
Також є гарантований механізм доставки callback - крім першої спроби доставки, є ще 5 спроб протягом наступної доби з інтервалами між запитами - 5 с, 5 хв, 1 год, 2 год, 24 год.
Callback вважається доставленим, якщо у відповідь на запит прийшов HTTP status code 200.
Метод перезапиту постбеків
Метод перезапиту постбеків які не були доставлені використовується у випадках, коли по будь-якій з причин один та більше постбеків не були доставлені на вказаний клієнтом URL.
URI
POST /api/callbacks/resend
Запит:
Ключ | Опис | Тип | Чи обов'язковий параметр? | Приклад |
---|---|---|---|---|
params |
|
|
|
|
sessionId | id сесії клієнта | string, uuid | так | "52be10d0-d094-4ede-b201-904783df5f8d" |
{
"params":{
"sessionId":"9499b6f1-907c-4907-93bf-5d89bda6c40a"
}
} |
Успішна відповідь:
Ключ | Опис | Тип | Приклад |
---|---|---|---|
status | Статус. 0 - помилка, 1 - успіх | integer | 1 |
data |
| object |
|
success | результат запиту. Можливі варіанти: true, | boolean | true |
{
"status": 1,
"data": {
"success": true
}
} |
Неуспішна відповідь:
Ключ | Опис | Тип | Приклад |
---|---|---|---|
status | Статус. 0 - помилка, 1 - успіх | integer | 1 |
error | результат запиту. Можливі варіанти: true | boolean | true |
error.code | код помилки | string | “TOO_MANY_REQUESTS“ |
error.message | текст помилки | string | "You already resended postbacks" |
Callback зміни статусу платежу інвойсу
Для отримання callback з інформацією про зміни статусу платежу інвойсу потрібно передати URL в поле callbackUrl на створення інвойсу.
Поля тіла callback:
Ключ | Тип | Опис |
---|---|---|
paymentId | uuid | ID платежу |
invoiceId | uuid | ID інвойсу |
externalId | string | зовнішній ID інвойсу |
paymentNumber | integer | номер платежу |
cardFromMasked | string | маскований номер картки списання |
cardToMasked | string | маскований номер картки зарахування |
cardFromHolderName | string | ім'я та прізвище тримача карти |
amount | integer | сума платежу |
reversalAmount | integer | сума повернення платежу |
status | string | статус платежу |
type | string | тип інвойсу |
systemType | string | тип платіжного сервісу |
paymentStatus | string | детальний статус платежу в платіжному сервісі |
receiptPath | string | посилання на квитанцію |
extraInfo | string | додаткова інформація інвойсу |
createDate | string | дата створення платежу |
payDate | string | дата успішного завершення платежу |
holdDate | string | дата холда платежу |
Приклад:
Callback зміни статусу P2P платежу
Для отримання callback з інформацією про зміни статусу P2P платежу потрібно передати URL в поле callbackUrl на створення P2P платежу.
Поля тіла callback:
Ключ | Тип | Опис |
---|---|---|
paymentSystem | string | тип платіжного сервісу |
paymentId | uuid | ID платежу |
operationId | uuid | ID операції |
operationType | string | тип операції |
operationStatus | string | статус операції |
paymentType | string | тип платежу |
paymentNumber | string | номер платежу |
paymentAmount | integer | сума платежу |
paymentCommission | integer | сума комісії |
paymentStatus | string | статус платежу |
postbackTime | string | час формування запиту |
cardFromMasked | string | маскований номер картки списання |
cardFromId | uuid | ID картки списання |
cardToMasked | string | маскований номер картки зарахування |
cardToId | uuid | ID картки зарахування |
operationExternalId | string | зовнішній ID платежу |
reason | object | об'єкт з деталями помилки |
confirmation | object | об'єкт з деталями підтвердження |
key | string | ключ, який потрібен для підтвердження платежу |
Приклад:
Related pages
UAPAY - національний платіжний сервіс
pay@uapay.ua