Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

Типparams

Ключ

Тип

Опис

paymentSystem

string

тип платіжного сервісу

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