Stručný návod pro plugin Comgate

Rozchodit náš Comgate plugin do nopCommerce není až taková věda, ale i tak to může dát člověku zamyslet. Koukněme se na to.

 

Po nainstalování pluginu Comgate je potřeba jej nakonfigurovat. Zejména se musí uvést připojovací údaje (Identifikátor propojení obchodu+Heslo), které najdete na svém klientském portálu Comgate. Na straně portálu Comgate je zase potřeba nastavit veřejnou IP adresu serveru eshopu + URL eshopu pro předávání  informací o platbách a pro přesměrování zákazníka zpět. Hodnoty pro všechna tato nastavení najdete v konfiguraci pluginu. Při testování v konfiguraci pluginu zaškrtněte "režim testovacích plateb",  díky kterému se nebudou zakládat reálné platby. Po nakonfigurování připojovacích údajů si v konfiguraci pluginu na záložce "Přehled služby Comgate" můžete ověřit na vzorkovém výpisu aktivovaných platebních metod, že propojení (alespoň ve směru ke Comgate) je funkční.

Silným nástrojem pro nakonfigurování podmínek, za nichž se bude platba přes Comgate zobrazovat zákazníkovi na stránce pokladny, je druhá záložka v  konfiguraci pluginu "Platební možnosti". Texty zobrazované na stránce pokladny a na stránce po dokončení objednávky jsou v dolní části "Obecné" záložky.

Jsou zde:

  • název + popis platební metody zobrazený v části pro výběr platební metody
  • informační text zobrazovaný na následujícím kroku "Informace k platbě"
  • texty na stránce po dokončení objednávky s variantami pro potvrzené zaplacení, čekající stav platby a zrušenou platbu

Pro implementaci integrace s platební bránou jsme zvolili bezpečnější variantu se založením platby na pozadí. Tj. po odklepnutí tlačítka pro dokončení objednávky je na pozadí nejprve založena platba na platební bráně Comgate (komunikace server eshopu -> brána Comgate) a obdržený odkaz je použit pro přesměrování zákazníka na stránky platební brány. Nezaobírali jsme se s variantou s vloženým rámcem (IFRAME). Je použito přímé směrování. Je to přímočaré a jednoduché řešení.

Po dokončení platby zákazníkem je zákazník přesměrován zpět na stránku s informací o založení objednávky, do které jsme doplnili výše zmíněné informační texty pro varianty výsledku platby. Tady je potřeba si uvědomit, že skutečný stav platby je přenášen na pozadí a časově může být odskok i  více jak pár sekund (nestává se). Tj. při úpravě textů je potřeba brát to v úvahu a na stav "pending/čekající" reagovat smířlivě ;-) Pokud zákazník platbu zruší nebo nedokončí, stále se k ní může vrátit v detailu založené objednávky a dokončit ji.

Z administrace je možné platbu refundovat plně nebo i částečně (to je až po uhrazení) nebo v případě zrušení objednávky ještě před zaplacením se zruší i čekající platba. Informace o platbě jdoucí z platební brány na pozadí způsobí změnu platby objednávky tj. pokud máte nastavenou emailovou zprávu po  zaplacení, tak ta odejde sama po zpracování zprávy o provedené platbě. 

Zabezpečení koncového bodu, na který Comgate posílá na pozadí informace o platbách, je na úrovni aplikace zvýšeno pomocí IP white listu, který je  konfigurovatelný v administraci (výchozí stav by měl být správně). Provádí se také kontrola na shodu přihlašovacích údajů. Další způsoby zabezpečení jsou pak již spíše na individuální konfiguraci na straně reverzní proxy příp. na webserveru (dle vaší infrastruktury). Testy jsme dělali na Windows i Linuxu.

Omezení aktuální implementace:

  • konfigurovatelné texty se nastavují pro celý eshop - nedají se modifikovat jen pro daný obchod... v nějaké z příštích verzí pluginu bychom chtěli podporu pro multi-store zahrnout i sem. (ozvěte se pro zvýšení priority)
  • ikona platby se bere z loga pluginu - v nějaké z příštích verzí to chceme změnit, aby bylo možné přes administraci nahrát libovolný obrázek  a aby to fungovalo i pro multi-store (pro každý obchod možnost jiného obrázku) (ozvěte se pro zvýšení priority)
  • při výběru platební metody se nevybírají konkrétní platební možnosti (jako např. KB, ČSOB, platba kartou atd.), ale celá brána naráz... Zákazník si pak až na stránce brány vybírá, kterou z platebních metod použije. Teoreticky by bylo možné tento předvýběr udělat na stránce pokladny v kroku "Informace o platbě" (volitelně následuje po výběru platební metody). To jsme ale nedělali - přijde nám to matoucí. Lepší by bylo dostat tyto konkrétní platební metody přímo do kroku výběru platební metody. To je nyní ale implementačně těžší - nopCommerce používá pro implementaci platebního pluginu zjednodušujíci tezi "jeden platební plugin = jedna platební metoda". Umíme to napravit, ale zatím jsme to nepovažovali za podstatné. V budoucnu to chceme dodělat jako konfigurovatelnou volbu. (ozvěte se pro zvýšení priority)
  • Neimplementovali jsme předautorizační platbu (v podstatě rezervace prostředků a stržení později)... to doděláme v některé z dalších verzí. Zatím si lze vystačit s refundacemi. (ozvěte se pro zvýšení priority)
  • Neudělali jsme ani "rekurentní" platby (tj. periodicky opakované platby)... Tady moc velké využití nevidíme. V pozdější verzi je ale přidáme. (ozvěte se pro zvýšení priority)
  • Stahování a prohlížení provedených bankovních transakcí přímo v eshopu jsme také nedělali... Malá praktická využitelnost. Nevylučujeme ale, že bychom to později nepřidali. (ozvěte se pro zvýšení priority)

Z problémů, které jsme řešil a na co si dát pozor:

  • v testovacím nastavení Comgate nemusí být obsažen celý rozsah poskytovaných měn + platebních možností pro všechny cílové země
    • na to je potřeba dávat pozor; země se bere z fakturační adresy zákazníka nebo pokud není toto adresní pole zviditelněné (tj. jedná se o nastavení pro prodej v jediné cílové zemi), je možné nastavit v administraci pluginu výchozí zemi
    • rámce pro nastavení platební možnosti je možné udělat v nastavení pluginu
    • např. na našem testu máme povolené platby CZ+CZK a SK+EUR a při pokusu o platbu CZ+USD platba není možná - v logu je pak hláška "No payment method is enabled for you in CZ country and USD currency"
  • neměňte nastavení "Povolené IP adresy brány" z výchozí hodnoty "89.185.236.55/32" jinak nebudou do eshopu chodit notifikace o změně stavu plateb na pozadí (pozn.: stav platby se mění pouze na základě této notifikace a ne na základě přesměrování zákazníka na stránku po uskutečnění platby - to je správně podle specifikace Comgate)

Tak to je z toho hlavního asi vše. Obrázkovou dokumentaci (ještě) nemáme ale doděláme. Zatím by měly stačit nápovědné texty v administraci pluginu. Může se stát, že při testování nebo provozu našeho pluginu Comgate narazíte na nějaký problém. Ozvěte se a vyřešíme to.

Pokud Vám bude plugin vyhovovat a rozhodnete se pořídit plnou licenci pro váše eshop, budeme jen rádi :-)

 

Tento článek se bude ještě upravovat, aby obsahoval aktuální informace. Najdete-li nějakou blbost, neváhejte nám napsat.

Zanechte svůj komentář
*