Přeskočit na hlavní obsah

Ověření stavu platby v systému platební brány prostřednictvím REST API

Prostřednictvím dotazu na stav platby je možné se kdykoliv dotázat na stav libovolné platby náležející obchodnímu účtu obchodníka.

💡 Tip GoPay:
Dotaz na stav platby je nutné autorizovat pomocí tokenu. Token pro dotaz na stav platby lze založit ve scope=payment-create. Více informací o procesu získání tokenu naleznete v článku postup integrace platební brány.

Dotaz na stav platby je možné provádět prostřednictvím požadavku na API.

Odpovědí na požadavek je objekt popisující parametry a stav dané platby.

Platba může nabývat různých stavů, viz dokumentace REST API.


​

Kdy provádět dotaz na stav platby

Dotaz na stav platby doporučujeme standardně provádět ve dvou situacích.

Návrat na prodejní místo (return_url) po provedení platby.

  • Jako součást přesměrování na return_url prodejnímu místu v URL adrese předáváme GET parametr ?id=, který obsahuje id platby, ze které probíhá návrat.

  • Pomocí id si dohledáte objednávku v databázi, provedete dotaz na stav platby.

  • Podle získaného stavu zobrazíte příslušnou informaci zákazníkovi, případně upravíte stav v databázi.

Po přijetí HTTP notifikace.

  • Kdykoli se na některé platbě daného obchodního účtu změní stav platby (kromě stavu CREATED a PAYMENT_METHOD_CHOSEN), zasíláme asynchronní HTTP notifikaci na notifikační URL předanou v rámci založení platby.

  • Notifikace má stejný formát jako přesměrování na return_url, tedy parametr ?id=<id platby>.

  • Podle id platby je vhodné dohledat si objednávku, ke které platba náleží, provést dotaz na stav platby, porovnat ho se stavem v databázi a případně provést update stavu v databázi.

Očekávaná hodnota přijetí HTTP notifikace prodejním místem je stav HTTP 200. Pokud je ze strany prodejního místa vrácen jakýkoliv jiný stav, považuje systém platební brány HTTP notifikaci za nedoručenou a snaží se ji cyklicky odeslat znovu (v konečném počtu maximálně 20 pokusů o doručení).

Dotaz na stav platby může být prováděn v libovolnou dobu dle potřeb prodejního místa. Nikdy však dotaz neprovádějte cyklicky.

Pro korektní informace o všech stavech plateb je dostatečné zjišťovat stav po návratu na return_url a po vyvolání notification_url.


​

Související články

Dostali jste odpověď na svou otázku?