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_urlprodejnímu místu v URL adrese předáváme GET parametr?id=, který obsahujeidplatby, ze které probíhá návrat.Pomocí
idsi 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
CREATEDaPAYMENT_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
idplatby 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.
