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:

  1. Vytvořit http message

  2. Přidat povinné HTTP hlavičky:

    1. 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.

  3. 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.

  4. 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.

  1. Eshop backend vrátí řízení do svého UI

  2. Eshop UI zavolá GET na parametru RedirectURL, získaném při registraci.

  3. 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:

  1. Implementovat GET endpoint

    1. Endpoint je jendoduché URL, s jediným parametrem

  2. 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:

  1. Vytvořit http message

  2. Přidat povinné HTTP hlavičky:

    1. 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.

  3. 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.

  4. Do URL parametru {eshopOrderGUID} vložit jedinečný GUID registrace objednávky, který jste získali při registraci objednávky.

  5. 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:

  1. Vytvořit http message

  2. Přidat povinné HTTP hlavičky:

    1. 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.

  3. 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.

  4. 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.

  5. Do URL parametru {eshopOrderGUID} vložit jedinečný GUID registrace objednávky, který jste získali při registraci objednávky.

  6. 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é.

  7. 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: