Перейти до документації для розробників
Довідник розробника

Webhooks

Перевіряйте X-VPOS-Signature за вихідним тілом запиту, зберігайте event id, швидко повертайте 2xx та обробляйте повторну доставку ідемпотентно.

Версія
API v1
Перевірено
Статус
Контракт опубліковано
Навігація для розробника
01

Огляд

Публічний webhook-контракт VPOS.am доставляє підписану подію payment.status_changed із підтвердженим сервером статусом платежу.

HTTP / HMAC

Контракт підпису

Перевірте HMAC з міткою часу за необробленим тілом запиту до розбору payload або зміни бізнес-стану.

HTTP
X-VPOS-Event-Id: <event_id>
X-VPOS-Event-Type: payment.status_changed
X-VPOS-Webhook-Timestamp: <unix_timestamp>
X-VPOS-Signature: t=<unix_timestamp>,v1=<current_secret_hmac>[,v1=<grace_secret_hmac>]

signed_payload = <timestamp>.<raw_request_body>
signature = HMAC-SHA256(webhook_secret, signed_payload)
ПолеКонтракт
ЗаголовокX-VPOS-Signature
Значення для підпису<timestamp>.<raw_request_body>
АлгоритмHMAC-SHA256
Допуск timestamp5 хвилин
Таймаут доставки5 секунд
Максимум спроб за замовчуванням8 спроб
Графік повторівЕкспоненційно від 30 секунд, максимум 1 година
ПідтвердженняШвидко повернути відповідь 2xx
Ротація секретуЗаголовок може містити кілька значень v1. Приймайте подію, лише якщо хоча б одне збігається з поточним або чинним grace-секретом.
ОбробкаПеревірити підпис, зберегти event id, а потім поставити побічні дії в чергу.
03

Публічний контракт події

Зараз публічно документовано лише payment.status_changed. fiscalStatus входить до data.payment, але не означає наявність окремих публічних fiscal або reconciliation events.

04

Підпис і повторна доставка

Обчисліть HMAC-SHA256 для <timestamp>.<raw_request_body> з merchant webhook secret, відхиляйте застарілий timestamp і виконуйте downstream-дії через ідемпотентну queue.

05

Як використовувати сторінку

Webhooks допомагає узгодити платіжний сценарій між власником бізнесу, розробником та операційною командою. Перед запуском варто зафіксувати канал продажів, provider route, відповідальних за webhook, перевірку статусу та підтримку клієнта після оплати.