A2A Callback - нотифікація від банку: відмінності між версіями

Матеріал з partnerdocs
Створена сторінка: Загальна логіка Банк надсилає повідомлення про факт надходження коштів на рахунок компанії, відкритий у банку. 8.1 Параметри запиту
 
Немає опису редагування
 
(Не показано 11 проміжних версій цього користувача)
Рядок 1: Рядок 1:
Загальна логіка
== Загальна логіка ==
Банк надсилає повідомлення про факт надходження коштів на рахунок компанії, відкритий у банку.
----Банк надсилає повідомлення про факт надходження коштів на рахунок компанії, відкритий у банку.
8.1 Параметри запиту
 
== Параметри запиту ==
----
<br>
<p style="border: 1px solid #9ACD32; background-color: rgba(192, 255, 192, 0.5); padding: 10px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; position: relative; padding-left: 80px;">
    <span style="position: absolute; top: 10px; left: 10px; background-color: #006400; color: white; padding: 2px 12px; border-radius: 4px; font-size: 14px; font-weight: bold;">POST</span>
    <span style="margin-left: 5px; font-weight: bold; font-size: 16px;">/api/a2a/callback</span>
</p>
<br>
 
==== '''Request''' ====
<syntaxhighlight lang="http" line="1">
headers
'PartnerKey: partnerName'
'locale: ua'
'AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1'
'PageId: 2ce7dba6-4600-456e-b9c8-f13cacf1c85d'
 
body
{
  "orderId": "3211123577871",
  "paymentId": "ORD-20251104-7890",
  "paymentDescription": "Оплата замовлення ORD-20251104-7890 за товари/послуги",
  "amount": 5800,
  "paymentDate": "2024-05-24T16:14:45+03:00",
  "payerIban": "UA113305749000000026009479663",
  "payerId": 1234567890,
  "payerFullName": "Тестеренко Тест Тестович",
  "recipientIban": "UA123456789012345678901234567",
  "status": 0
}
<br>
</syntaxhighlight>
 
==== '''Response''' ====
<syntaxhighlight lang="http" line="1">
headers
----
body
{
  "isSuccess": "true",
  "error": null
}
 
</syntaxhighlight>
{| style="border-collapse: collapse; width: 100%; font-family: Roboto, sans-serif; font-weight: 100; font-size: 0.8em; color: #333;"
! style="border: none; border-bottom: 1px solid #d3d3d3; text-align: center; padding: 8px;" |Параметр
! style="border: none; border-bottom: 1px solid #d3d3d3; text-align: center; padding: 8px;" |Характеристика
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>orderId</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |номер замовлення, який створюється в системі платіжного агрегатора, передається в банк
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>paymentId</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |номер платіжного документа в банку
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>paymentDescription</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |призначення платежу в банку
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>amount</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |сума переказу
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>paymentDate</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |дата переказу
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>payerIban</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |IBAN платника
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>payerId</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |ІПН плаитника
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>payerFullName</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |ПІБ платника
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>recipientIban</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |IBAN отримувача
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>orderId</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |номер замовлення, який створюється в системі платіжного агрегатора, передається в банк
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>status</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |статус платежу (0 - успіх, -1 - неуспіх)
|-
|}
<br>
''EasyPay приймає callback. Валідує заголовки, перевіряє підпис повідомлення.  Ідентифікує замовлення за orderId. Створюється платіжна операція для даного замовлення.''
<br>
{| style="border-collapse: collapse; width: 100%; font-family: Roboto, sans-serif; font-weight: 100; font-size: 0.8em; color: #333;"
! style="border: none; border-bottom: 1px solid #d3d3d3; text-align: center; padding: 8px;" |Параметр
! style="border: none; border-bottom: 1px solid #d3d3d3; text-align: center; padding: 8px;" |Характеристика
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>isSuccess</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |статус успішного/неуспішного прийняття колбеку зі сторони платіжного агрегатора
|-
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |'''<code>error</code>'''
| style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;" |неуспішне прийняття колбеку з помилкою
|}

Поточна версія на 13:37, 26 лютого 2026

Загальна логіка


Банк надсилає повідомлення про факт надходження коштів на рахунок компанії, відкритий у банку.

Параметри запиту



POST /api/a2a/callback


Request

headers
'PartnerKey: partnerName' 
'locale: ua'
'AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1'
'PageId: 2ce7dba6-4600-456e-b9c8-f13cacf1c85d'

body
{
  "orderId": "3211123577871",
  "paymentId": "ORD-20251104-7890",
  "paymentDescription": "Оплата замовлення ORD-20251104-7890 за товари/послуги",
  "amount": 5800,
  "paymentDate": "2024-05-24T16:14:45+03:00",
  "payerIban": "UA113305749000000026009479663",
  "payerId": 1234567890,
  "payerFullName": "Тестеренко Тест Тестович",
  "recipientIban": "UA123456789012345678901234567",
  "status": 0
}
<br>

Response

headers
----
body
{
  "isSuccess": "true",
  "error": null
}
Параметр Характеристика
orderId номер замовлення, який створюється в системі платіжного агрегатора, передається в банк
paymentId номер платіжного документа в банку
paymentDescription призначення платежу в банку
amount сума переказу
paymentDate дата переказу
payerIban IBAN платника
payerId ІПН плаитника
payerFullName ПІБ платника
recipientIban IBAN отримувача
orderId номер замовлення, який створюється в системі платіжного агрегатора, передається в банк
status статус платежу (0 - успіх, -1 - неуспіх)


EasyPay приймає callback. Валідує заголовки, перевіряє підпис повідомлення. Ідентифікує замовлення за orderId. Створюється платіжна операція для даного замовлення.

Параметр Характеристика
isSuccess статус успішного/неуспішного прийняття колбеку зі сторони платіжного агрегатора
error неуспішне прийняття колбеку з помилкою