Tapaya
PřehledWebhookyWebhooky

Webhooky

Přijímejte podepsaná oznámení o změnách plateb, vratek, obchodníků a onboardingu.

Webhooky oznamují vašemu serveru změny v organizaci Tapaya. Stejnou integraci použijete pro platby v prodejně i online bez ohledu na zpracovatele plateb.

Jak to funguje

Pro každou organizaci nastavte jednu cílovou HTTPS adresu a vyberte požadované události. Tapaya odešle HTTP POST se snímkem dat v JSON a podpisem. Ověřte podpis, uložte událost a vraťte úspěšnou odpověď ještě před spuštěním vlastní aplikační logiky.

Můžete odebírat jednotlivé typy nebo všechny podporované typy. Odběr všech typů zahrnuje i typy přidané v budoucnu, proto ignorujte typy, které vaše aplikace nezná.

Rychlá integrace

Uložte cílovou adresu

V Platform otevřete API Keys a poté Webhooks. Zadejte HTTPS URL, vyberte požadované události a uložte. Hned zkopírujte podpisový klíč; zobrazí se jen jednou. Viz Nastavení.

Ověřte každý požadavek

Vypočítejte HMAC-SHA256 z časového razítka, tečky a původního těla pomocí podpisového klíče a porovnejte ho s X-Tapaya-Signature. Viz Ověřte podpis.

Uložte událost a vraťte 2xx

Uložte událost s jedinečným id, odpovězte 2xx do 10 sekund a zpracujte ji až poté. Viz Uložte a potvrďte.

Odešlete testovací webhook

Na stejné stránce odešlete testovací akcí podepsaný webhook.test. Viz Odešlete testovací webhook.

Obálka události

Každá událost používá tuto společnou strukturu. Snímek objektu uvnitř data závisí na typu události.

{
  "id": "019a0000-0000-7000-8000-000000000001",
  "type": "payment.succeeded",
  "apiVersion": "1",
  "organizationId": "019a0000-0000-7000-8000-000000000002",
  "merchantId": "019a0000-0000-7000-8000-000000000005",
  "createdAt": "2026-10-30T12:00:00.000000Z",
  "data": {
    "payment": {
      "id": "019a0000-0000-7000-8000-000000000003",
      "token": "example_payment_token",
      "merchantId": "019a0000-0000-7000-8000-000000000005",
      "status": "success",
      "statusId": 2,
      "requestedAmount": 10000,
      "requestedCurrencyId": 203,
      "settlementAmount": 10000,
      "settlementCurrencyId": 203
    }
  }
}
PoleVýznam
idJedinečné ID události. Použijte ho k odstranění duplicitních doručení. Při opakování zůstává stejné.
typeNázev události z katalogu událostí.
apiVersionIdentifikátor schématu payloadu, aktuálně řetězec "1".
organizationIdOrganizace, které událost patří. Ověřte, že odpovídá vaší integraci.
merchantIdObchodník, kterému objekt patří. U starších plateb s neurčeným vlastníkem nebo diagnostického testu může být null.
createdAtČas zachycení události v UTC, nikoli čas doručení.
dataNeměnný snímek objektu v okamžiku zachycení.

Částky jsou celá čísla v nejmenších jednotkách měny daného pole. Například 10000 s číselným ID měny ISO 4217 203 znamená 100,00 CZK. Požadovaná a zúčtovaná částka mohou používat různé měny.

Každý typ události vkládá do data vlastní snímek. Všechny tvary payloadu a hodnoty stavu najdete na stránce Typy událostí.

Pravidla doručování

Tapaya odešle událost, jakmile se její změna uloží, a odesílá ji znovu, dokud váš server neodpoví 2xx.

PravidloChování
PotvrzeníJakákoli odpověď 2xx do 10 sekund. Přesměrování se nenásledují.
OpakováníNejvýše 12 pokusů během přibližně 20 hodin s prodlevami 1, 2, 4, 8, 16, 32, 64, 128, 256, 360 a 360 minut.
PořadíNení zaručené. Doručení probíhá alespoň jednou, počítejte proto s duplicitami a staršími snímky.
Souběh2 požadavky současně na organizaci, sdílené s ručními testy. Ostatní události čekají ve frontě.

Neúspěšné doručení nikdy nemění samotnou platbu a minulá doručení nelze odeslat znovu. Pro dohnání stavu po výpadku načtěte aktuální stav přes API plateb a obchodníků.

Začněte s integrací

Chybí vám něco na této stránce?Navrhněte funkci. Připojíme tuto stránku, aby tým viděl souvislosti.