Callback - це повідомлення клієнта про те, що сталась якась подія за допомогою HTTP запиту. Система UAPAY робить HTTP запит з методом POST на вказаний клієнтом URL. Формат передаваних даних - JSON. Запит підписується за допомогою JWT-токена, докладніше про це в Швидкий старт
Note |
---|
Обов'язково! Для налаштування отримання callback -повідомлень з інформацією про платежі з продуктовго середовища необхідно передати нашому вашому персональному менеджеру UAPAY URL, на котрий який ви хочете їх отримувати такі повідомлення, і опісля отримати від нього після підтверждення, що ваш URL буде внесено в наш список дозволених для отримання callback. |
Структура callback-повідомлень
Callback буде відправлено у вигляді jwtТакож є гарантований механізм доставки callback - крім першої спроби доставки, є ще 5 спроб протягом наступної доби з інтервалами між запитами - 5 с, 5 хв, 1 год, 2 год, 24 год.
Callback вважається доставленим, якщо у відповідь на запит прийшов HTTP status code 200.
Приклад підписаного тіла запиту callback у вигляді JWT-токена:
Code Block | ||
---|---|---|
| ||
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXltZW50SWQiOiI2MWI5YTVkNS1kNDI5LTQ4ZmEtYjAxYy0yZjhkYzc1ZjIwMjMiLCJpbnZvaWNlSWQiOiIxY2ZkZWE0My0xMGYwLTQwYzgtOWZlOC01NWQzOGY0OGI5YmMiLCJleHRlcm5hbElkIjoiMGY5MWJiOTAtODhlZS00ZjJhLThiNzUtOTNiZGNiNjE0NGVjIiwicGF5bWVudE51bWJlciI6MjQ5NTAzLCJjYXJkRnJvbU1hc2tlZCI6IjQxMTExMTExMTEiLCJjYXJkVG9NYXNrZWQiOm51bGwsImFtb3VudCI6MTAwMDAwLCJzdGF0dXMiOiJGSU5JU0hFRCIsInR5cGUiOiJQQVkiLCJzeXN0ZW1UeXBlIjoiRUNPTSIsInBheW1lbnRTdGF0dXMiOiJGSU5JU0hFRCIsInJlY2VpcHRQYXRoIjoiaHR0cHM6Ly9hcGkuc3RhZ2UudWFwYXkudWEvYXBpL2FjcXVpcmluZy9yZWNlaXB0cy92Mi82MWI5YTVkNS1kNDI5LTQ4ZmEtYjAxYy0yZjhkYzc1ZjIwMjMucGRmIiwiZXh0cmFJbmZvIjoie1wiZG9jSWRcIjpcIjA5OTQ3ODA0MDJcIixcInNwcm90b2NvbFwiOlwi0KLQldCh0KJcIixcIm5wcm90b2NvbFwiOlwiMjQyMzg1MlwiLFwibGljZW5zZVBsYXRlXCI6XCJmaW5lU2VyaWVzXCJ9IiwiY3JlYXRlRGF0ZSI6IjIwMjEtMDQtMTJUMTA6MDM6MTAuMDAwWiIsInBheURhdGUiOiIyMDIxLTA0LTEyVDEwOjAzOjMxLjg3NFoiLCJpYXQiOjE2MTgyMjE4MTF9.qfbEOHLPka3YW6z0J0FygRx4Sw5R5g6jyjFF6bFhU2g" } |
...
Callback зміни статусу платежу інвойсу
Для отримання callback з інформацією про зміни статусу платежу інвойсу потрібно передати URL в поле callbackUrl на створення інвойсу.
Поля тіла callback:
Ключ | Тип | Опис |
---|---|---|
paymentId | uuid | ID платежу |
invoiceId | uuid | ID інвойсу |
externalId | string | зовнішній ID інвойсу |
paymentNumber | integer | номер платежу |
cardFromMasked | string | маскований номер картки списання |
cardToMasked | string | маскований номер картки зарахування |
amount | integer | сума платежу |
reversalAmount | integer | сума повернення платежу |
status | string | статус платежу |
type | string | тип інвойсу |
systemType | string | тип платіжного сервісу |
paymentStatus | string | детальний статус платежу в платіжному сервісі |
receiptPath | string | посилання на квитанцію |
extraInfo | string | додаткова інформація інвойсу |
createDate | string | дата створення платежу |
payDate | string | дата успішного завершення платежу |
holdDate | string | дата холда платежу |
Приклад:
Code Block | ||
---|---|---|
| ||
{
"paymentId": "61b9a5d5-d429-48fa-b01c-2f8dc75f2023",
"invoiceId": "1cfdea43-10f0-40c8-9fe8-55d38f48b9bc",
"externalId": "0f91bb90-88ee-4f2a-8b75-93bdcb6144ec",
"paymentNumber": 249503,
"cardFromMasked": "4111111111",
"cardToMasked": null,
"amount": 100000,
"reversalAmount": 0,
"status": "FINISHED",
"type": "PAY",
"systemType": "ECOM",
"paymentStatus": "FINISHED",
"receiptPath": "https://api.stage.uapay.ua/api/acquiring/receipts/v2/61b9a5d5-d429-48fa-b01c-2f8dc75f2023.pdf",
"extraInfo": "{\"docId\":\"0994780402\",\"sprotocol\":\"ТЕСТ\",\"nprotocol\":\"2423852\",\"licensePlate\":\"fineSeries\"}",
"createDate": "2021-04-12T10:03:10.000Z",
"payDate": "2021-04-12T10:03:31.874Z",
"iat": 1618221811
} |
Callback зміни статусу P2P платежу
Для отримання callback з інформацією про зміни статусу P2P платежу потрібно передати URL в поле callbackUrl на створення P2P платежу.
Поля тіла callback:
...
Ключ | Тип | Опис |
---|---|---|
paymentSystem | Типstring | paramsтип платіжного сервісу |
paymentId | uuid | id ID платежу |
operationId | uuid | |
invoiceId | id інвойсу | uuid |
externalId | зовнішній id (id в системі клієнта) | uuid |
paymentNumber | номер платежу | integer |
cardFromMasked | маска номеру картки списання | string |
cardToMasked | маска номеру картки зарахування | string |
amount | сума в копійках | integer |
status | статус інвойсу | string |
type | тип платіжної системи P2P|ECOM | string |
systemType | тип інвойсу PAY|HOLD|SUBSCRIBE | string |
paymentStatus | статус платежу | string |
receiptPath | посилання на квитанцію | string |
extraInfo | додаткова інформація щодо інвойсу | string |
createDate | дата створення платежу | string |
iat | час створення запиту | integer |
Структура callback (p2p)
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 | об'єкт з деталями підтвердження |
lookupAttempts | integer | кількість спроб на підтвердження платежу з типом LOOKUP |
key | string | ключ, який потрібен для підтвердження платежу |
Приклад:
Code Block | ||
---|---|---|
| ||
{ "paymentSystem": "p2p", "paymentId": "e6edab68-da39-4a99-8fcb-e6974f6d3078", "operationId": "47106586-63ef-45ef-8560-038f646fc709", "operationType": "SEND", "operationStatus": "FINISHED", "paymentType": "BUCKET", "paymentNumber": "17639513", "paymentAmount": 1000, "paymentPendingAmount": 1000, "paymentCommission": 200, "paymentStatus": "PAYED", "postbackTime": 1618311873588, "cardFromMasked": "4111111111", "cardFromId": "f68484b7-9f85-4c94-8b91-c364cd5b6d0b", "cardToMasked": null, "cardToId": null, "operationExternalId": "985293a9-4b8b-411d-9e61-d82e8e8bb239", "keyiat": "892Snn6Uuai5XiUSTmr4iqCWrHBW8wq2rJmPPbnzbGEy.knfx3aol14620039386" } |
...
Ключ
...
Опис
...
Тип
...
params
...
paymentSystem
...
тип платіжної системи
...
string
...
paymentId
...
id платежу
...
uuid
...
operationId
...
id операції
...
uuid
...
operationType
...
тип операції SEND|RECEIVE
...
string
...
operationStatus
...
статус операції
...
string
...
paymentType
...
тип платежу
...
string
...
paymentNumber
...
номер платежу
...
string
...
paymentAmount
...
сума платежу
...
integer
...
paymentPendingAmount
...
залишок суми платежу
...
integer
...
paymentCommission
...
комісія
...
integer
...
paymentStatus
...
статус платежу
...
string
...
postbackTime
...
час запиту
...
string
...
cardFromMasked
...
маска номеру картки списання
...
string
...
cardFromId
...
id картки списання
...
string
...
cardToMasked
...
маска номеру картки зарахування
...
string
...
cardToId
...
id картки зарахування
...
string
...
operationExternalId
...
зовнішній id (id в системі клієнта)
...
uuid
...
key
...
ключ для розшифровки CVV
...
1614370565
} |