Tapaya
ОглядВебхукиТипи подій

Типи подій

Виберіть зміни платежів, повернень коштів, мерчантів та онбордингу, потрібні вашій інтеграції.

Виберіть із цих 23 типів подій або ввімкніть підписку на всі типи. Кожне сповіщення використовує спільну оболонку події; на цій сторінці показано, що кожна група подій розміщує всередині data.

Групи подій

ГрупаПодіїdata містить
Платежі7payment
Повернення коштів6payment і refund
Мерчанти2merchant
Онбординг мерчанта8onboarding

Більшість інтеграцій починає з payment.succeeded, payment.failed і payment.refund.succeeded. Платформи, які проводять онбординг мерчантів, додають merchant.onboarding.approved і merchant.onboarding.action_required.

Платежі

Ці події описують увесь платіж у межах підтримуваних платіжних процесорів і каналів. Вони містять data.payment, зокрема поля status і statusId платежу.

ПодіяКоли надсилається
payment.createdПлатіж зберігається.
payment.updatedЙого статус змінюється на pending або інший статус без окремої назви події. Це не сповіщення про кожне редагування поля.
payment.succeededЙого статус змінюється на success.
payment.failedУвесь платіж переходить у статус failed, а не окрема спроба платежу завершується невдало.
payment.canceledЙого статус змінюється на cancelled.
payment.refundedTapaya позначає платіж як refunded.
payment.action_requiredЙого статус змінюється на actionNeeded.

Створення платежу в стані, відмінному від очікування, надсилає і payment.created, і відповідну подію статусу, якщо ви підписані на обидві. Повторне збереження того самого статусу не надсилає ані нової події статусу, ані payment.updated.

Поля status і statusId у знімках платежів і повернень коштів набувають таких значень:

statusIdstatusЗначення
1pendingОбробка ще не досягла остаточного результату.
2successПлатіж або повернення коштів завершено успішно.
3cancelledПлатіж або повернення коштів скасовано.
4refundedTapaya позначила платіж як повернений.
5failedПлатіж або повернення коштів завершилося невдало.
6actionNeededПотрібна подальша дія.

Невідомі майбутні ID статусів використовують status: "unknown" і зберігають числове значення statusId. Назви подій використовують succeeded і canceled; значення статусів використовують success і cancelled.

Повернення коштів

Події повернення коштів містять і data.payment, і data.refund. Повернення коштів має власні ID, токен, статус, запитані суми й суми розрахунку та їхні валюти. Використовуйте ID повернення коштів, щоб відстежувати його незалежно від батьківського платежу.

ПодіяКоли надсилається
payment.refund.createdПовернення коштів зберігається.
payment.refund.updatedЙого статус змінюється на pending або інший статус без окремої назви події.
payment.refund.succeededЙого статус змінюється на success.
payment.refund.failedЙого статус змінюється на failed.
payment.refund.canceledЙого статус змінюється на cancelled.
payment.refund.action_requiredЙого статус змінюється на actionNeeded.

Створення повернення коштів у стані, відмінному від очікування, також може надіслати відповідну подію статусу. Успішне повернення коштів саме собою не описує остаточний статус усього платежу: перевірте data.payment.status і будь-яке окреме сповіщення payment.refunded.

Мерчанти

Події мерчантів містять data.merchant із полями id, token і знімком збереженого статусу мерчанта.

ПодіяКоли надсилається
merchant.createdУ вашій організації створюється мерчант.
merchant.status_changedЗмінюється активація, статус базового запису мерчанта, наявність профілю або обліковий запис, подання, схвалення чи відмова у процесора.
data
{
  "merchant": {
    "id": "019a0000-0000-7000-8000-000000000005",
    "token": "example_merchant_token",
    "status": {
      "isActive": true,
      "isShellMerchant": false,
      "profileOnboarded": true,
      "processors": [
        {
          "paymentProcessorId": 2,
          "hasAccount": true,
          "submitted": true,
          "approved": true,
          "rejected": false,
          "submittedAt": "2026-10-29T10:00:00+00:00",
          "approvedAt": "2026-10-30T12:00:00+00:00",
          "rejectedAt": null
        }
      ]
    }
  }
}
  • profileOnboarded означає, що профіль існує. Це не означає, що процесор схвалив мерчанта або що всі способи оплати готові.
  • Ідентифікатори облікових записів у процесорів та їхні приватні повідомлення про відмову не включаються. ID процесора вище наведено для ілюстрації.
  • Збереження незмінених значень або редагування непов'язаних даних мерчанта не надсилає жодної події. Події merchant.updated та події видалення мерчанта немає.

Онбординг мерчанта

Події онбордингу містять data.onboarding. Його status відповідає останньому сегменту назви події, а деякі події додають поля, наведені нижче.

ПодіяКоли надсилається
merchant.onboarding.startedПерший профіль мерчанта та дані онбордингу збережено.
merchant.onboarding.profile_completedПерший повний профіль мерчанта збережено.
merchant.onboarding.document_addedНовий документ збережено. Додає documentId, documentTypeId, paymentProcessorId і source: "cache" для тимчасово збереженого документа.
merchant.onboarding.stakeholder_completedДані онбордингу зацікавленої особи завершено. Додає stakeholderId.
merchant.onboarding.submittedОнбординг готовий до подання процесору. Додає paymentProcessorId.
merchant.onboarding.approvedОбліковий запис у процесора вперше схвалено. Додає paymentProcessorId.
merchant.onboarding.rejectedTapaya відхиляє онбординг після ручної перевірки. Додає reason, а requiredAction має значення null.
merchant.onboarding.action_requiredTapaya запитує додаткову інформацію після ручної перевірки. Додає reason і requiredAction.
data
{
  "onboarding": {
    "status": "action_required",
    "reason": "The submitted company document is no longer valid.",
    "requiredAction": "Upload a current company registration document."
  }
}

Події онбордингу та статусу мерчанта описують різні аспекти зміни. Той самий збережений профіль або схвалення процесором може створити обидві групи подій, якщо ви підписані на обидві; не покладайтеся на певний порядок між ними. Події минулої активності онбордингу не додаються заднім числом.

Діагностичні тести

Використовуйте тестову дію в Platform, щоб надіслати webhook.test. Він містить test: true, merchantId: null і data.message, без стану платежу або мерчанта. Його не можна вибрати як підписку на події.

Перегляньте Перевірку й тестування, щоб перевірити доставку без створення платежу.

Чогось бракує на цій сторінці?Надішліть запит на функцію. Ми додамо цю сторінку, щоб команда бачила контекст.