Platební brána pro e-shopy (v2) - Implementace propojení ze strany eshopu
Úvod
Kapitola obsahuje popis základní implementace propojení s platební branou Benefit Plus ze strany eshopu.
Registrace objednávky ze strany eshopu
Prvním krokem ze strany eshopu je registrace objednávky.
Eshop registraci provede zavoláním endpointu https://benefit-kelnero.atlassian.net/wiki/spaces/NPBBP/pages/1125744655
Je třeba na straně eshopu:
Vytvořit http message
Přidat povinné HTTP hlavičky:
X-API-Key - hlavička obsahuje bezpečnostní klíč eshopu pro komunikaci s platební branou Benefit Plus. Bezpečnostní klíč získáte při registraci svého eshopu u společnosti Benefit Plus.
Do URL parametru {eshopGUID} vložit jedinečný GUID eshopu. GUID získáte při registraci svého eshopu u společnosti Benefit Plus.
Do těla http zprávy vložit JSON dle následujícího vzoru:
{
"OrderID": "2621367-khhfffla",
"Description": "Nákup benefitu A007",
"IsPartialPaymentAllowed": true,
"Price": 1.00000000,
"ReturnURL": "www.nejaky-eshop.cz"
}
A odeslat zprávu pomocí POST na endpoint https://benefit-kelnero.atlassian.net/wiki/spaces/NPBBP/pages/1125744655.
Význam položek je popsán zde, na tomto místě jen zdůrazníme, že v ReturnURL je třeba předat cestu, na kterou chcete aby vám platební brána vrátila řízení po dokončení procesu platby.
Server platební brány Benefit Plus zprávu zaregistruje a vrátí JSON body dle následujícího vzoru:
{
"EshopOrderGUID": "ccb9333f-b784-4089-8bc1-30a4a34c1be6",
"RedirectURL": "nejake-url"
}
Kde:
EshopOrderGUID je jediněčný klíč registrace objednávky. Tento klíč si uschovejte na straně backendu eshopu, budete jej potřebovat pro další kroky procesu.
RedirectURL je jedinečné URL objednávky v platební bráně Benefit Plus, pomocí kterého můžete zobrazit UI platební brány Benefit plus pro danou objednávku.
Tímto je registrace objednávky hotova.
Zobrazení UI platební brány Benefit Plus pro zaregistrovanou objednávku
V předchozím kroku jsme provedli registraci objednávky ze strany eshopu, nyní zobrazíme UI platební brány Benefit Plus.
Eshop backend vrátí řízení do svého UI
Eshop UI zavolá GET na parametru
RedirectURL
, získaném při registraci.Tím bude zobrazeno UI platební brány Benefit Plus pro danou objednávku.
Pozn.: alternativně můžete zobrazení UI platební brány Benefit Plus volat přímo ze strany eshop backendu, tedy bez nutnosti vracet řízení do UI eshopu.
Proces platby
Proces platby probíhá zcela v UI platební brány Benefit Plus a není třeba do něj ze strany eshopu nijak zasahovat.
Návrat do UI eshopu po dokončení procesu platby
Jakmile dojde k dokončení procesu platby v UI platební brány Benefit Plus, platební brána Benefit Plus vrátí řízení eshopu, a to zavoláním GET na ReturnURL zadanou eshopem při registraci objednávky.
Na straně eshopu je tedy třeba:
Implementovat GET endpoint
Endpoint je jendoduché URL, s jediným parametrem
V okamžiku registrace objednávky (viz první krok procesu) pak je třeba vytvořit jedinečné URL pro danou platbu zpracovávané tímto endpointem, a předat toto URL při registraci objednávky platební práně Benefit Plus.
Příklad:
Pokud základní URL endpointu na straně eshopu bude např. “https://www.nejaky-eshop.cz/platbyBP/{OrderID}”, kde {OrderID} představuje identifikátor objednávky na straně eshopu,
tak pro konkrétní objednávku je třeba vygenerovat na straně eshopu URL:
“https://www.nejaky-eshop.cz/platbyBP/1322255”, a tuto URL pošlete při registraci objednávky v JSON parametru ReturnURL (registrace viz výše).
Získání informací o stavu objednávky/platby
Platební brána Benefit Plus při návratu řízení do eshopu (na ReturnURL) pošle pouze příznak, zda byl proces dokončen. Všechny ostatní informace o platbě je třeba získat přes servisní endpoint https://benefit-kelnero.atlassian.net/wiki/spaces/NPBBP/pages/1125417014
Pro získání informací je na straně eshopu třeba:
Vytvořit http message
Přidat povinné HTTP hlavičky:
X-API-Key - hlavička obsahuje bezpečnostní klíč eshopu pro komunikaci s platební branou Benefit Plus. Bezpečnostní klíč získáte při registraci svého eshopu u společnosti Benefit Plus.
Do URL parametru {eshopGUID} vložit jedinečný GUID eshopu. GUID získáte při registraci svého eshopu u společnosti Benefit Plus.
Do URL parametru {eshopOrderGUID} vložit jedinečný GUID registrace objednávky, který jste získali při registraci objednávky.
A odeslat zprávu na GET endpoint
Zpět dostanete JSON zprávu s detaily o objednávce i jednotlivých pokusech o platbu.
Storno zaregistrované objednávky
Pokud chcete již zaregistrovanou objednávku stornovat, je na straně eshopu třeba:
Vytvořit http message
Přidat povinné HTTP hlavičky:
X-API-Key - hlavička obsahuje bezpečnostní klíč eshopu pro komunikaci s platební branou Benefit Plus. Bezpečnostní klíč získáte při registraci svého eshopu u společnosti Benefit Plus.
Do URL parametru {eshopGUID} vložit jedinečný GUID eshopu. GUID získáte při registraci svého eshopu u společnosti Benefit Plus.
Do URL parametru {eshopGUID} vložit jedinečný GUID eshopu. GUID získáte při registraci svého eshopu u společnosti Benefit Plus.
Do URL parametru {eshopOrderGUID} vložit jedinečný GUID registrace objednávky, který jste získali při registraci objednávky.
JSON tělo zprávy - pokud potřebujete provést částečné storno, je třeba při volání endpointu zaslat JSON zprávu. Pro provedení úplného storma není zaslání JSON nutné.
A odeslat zprávu na POST endpoint .
Zpět dostanete JSON zprávu s informacemi o provedení storna.
K dalšímu studiu
Pro zachování jednoduchosti a přehledu popisu není možné uvádět v této kapitole všechny detaily. Pro podrobnější studium pokračujte:
Registrace objednávky ze strany eshopu:
Zobrazení UI platební brány Benefit Plus pro zaregistrovanou objednávku:
Proces platby:
Návrat do UI eshopu po dokončení procesu platby
Získání informací o stavu objednávky/platby:
Storno zaregistrované objednávky: