Podmínky užívání


Nabízená rozšíření jsou společností Global Payments Europe, s.r.o. („GPE“) poskytována zdarma a výslovně nejsou součástí nabídky výrobků a služeb společnosti GPE.

Rozšíření byla testována a schválena pro plnou funkčnost při standardní konfiguraci (stav při dodání, “jak stojí a leží ”) odpovídajícího systému eshopu.

Omezení odpovědnosti:
SPOLEČNOST GPE NENESE ZA ŽÁDNÝCH OKOLNOSTÍ JAKOUKOLI ODPOVĚDNOST ZA JAKÉKOLI NÁROKY Z NEPŘÍMÝCH, NÁSLEDNÝCH, VEDLEJŠÍCH, ZVLÁŠTNÍCH, EXEMPLÁRNÍCH ČI SANKČNÍCH ŠKOD NEBO JEJICH NÁHRAD JAKÉKOLI POVAHY, MIMO JINÉ VČETNĚ: UŠLÝCH ZISKŮ, ZTRÁTY HODNOTY DOBRÉ POVĚSTI, UŠLÝCH UŽITKŮ, ZTRÁTY DAT, UŠLÝCH BUDOUCÍCH OBCHODŮ ČI UŠLÉ VÝROBY, NÁROKŮ TŘETÍCH SUBJEKTŮ, ZRUŠENÍ SMLUV VÁMI UZAVŘENÝCH NEBO JINÉ NEHMOTNÉ ÚJMY.

Společnost GPE nemůže poskytnout a neposkytuje jakoukoli záruku či garanci, kterou by se zajišťovalo, že váš software, vaše systémy nebo vaše výrobky nebudou napadnutelné nebo náchylné z hlediska možného zneužití, neoprávněného vniknutí či zásahu a/nebo případného narušení.

Vy, nikoli společnost GPE, nesete výlučnou odpovědnost za zabezpečení svého softwaru, svých systémů a svých výrobků i veškerou odpovědnost za návrh, výrobu, zkoušení, nabízení, prodej a bezpečnost svého softwaru, svých systémů a svých výrobků.

Společnost GPE neposkytuje jakoukoli záruku ani nepřijímá jakoukoli odpovědnost za jakékoli chyby vzniklé při použití v rozšířené upravené konfiguraci systému eshopu.

Provozování v rozšířené, upravené konfiguraci je na vaše vlastní riziko a vyžaduje komplexní zkušební testování ze strany uživatele rozšíření.

Zákazníci používají rozšíření na své vlastní riziko. Společnost GPE nezaručuje jejich plnou funkčnost, ani nepřebírá odpovědnost za jakékoli nevýhody související s užíváním rozšíření. Společnost GPE dále nezaručuje plnou funkčnost u upravených systémů eshopu ani u instalovaných rozšíření jiných poskytovatelů rozšíření v rámci téhož systému eshopu.

Zákazníci odpovídají za provedení testů funkčnosti rozšíření před zahájením produktivního provozu.

Instalováním rozšíření do systému eshopu vyjadřuje zákazník souhlas s těmito podmínkami užívání. Rozšíření prosím nepoužívejte, nesouhlasíte-li s těmito podmínkami užívání!

Odinstalování rozšíření může mít za následek ztrátu dat.

Právní upozornění
Na jakékoliv změny a/nebo nové implementace a ani na výsledné odlišné použití nelze poskytnout jakoukoli záruku, pokud není podporována či popsaná v této dokumentaci.

Předpoklady pro instalaci


  • Eshop založený na PrestaShopu verze 1.6.x - 8.x
  • Uzavřenou smlouvu o příjmu plateb s platební bránou GP webpay
  • Přístupy k eshopu pomocí FTP a přístup do administrace eshopu
  • Podpora následujících PHP rozšíření na hostingu (bývají standardně k dispozici na většině hostingů):
    • php_openssl
    • php_soap
    • bcmath

Řešení problémů a podpora

Tato příručka obsahuje kromě popisu nastavení i postupy při řešení typických problémů s platební bránou. Pokud se v průběhu instalace objeví potíže, pročtěte pečlivě celý tento manuál. Pokud se ani tak problém nepodaří vyřešit, napište nám podrobný popis chyby a jaké kroky jste pro odstranění zkusili. Při diagnostice můžeme požadovat zaslání log souboru modulu. Přístupové údaje k eshopu zpravidla nepotřebujeme.

K modulu lze objednat službu nastavení od externího dodavatele:
Objednat instalaci a nastavení modulu

Důležitá změna při aktualizaci

Při aktualizaci modulu z původní verze starší než PRV 101 došlo k přesunu log souboru UniModul.log do adresáře UniModul/logs

Instalace


Generování digitálních klíčů a nastavení platební brány

GP WebPay poskytuje testovací a produkční režim. Tyto režimy jsou zcela nezávislé a mají vlastní nastavení klíče.

Pro použití GP WebPay (testovacího nebo produkčního režimu) je třeba vygenerovat digitální klíč v testovací webové administraci na https://test.portal.gpwebpay.com nebo v produkční na https://portal.gpwebpay.com v sekci správa klíčů. Následně vygenerovaný .key soubor vložit k příslušnému účtu na stejné stránce. Při instalaci modulu využijete pak tento vygenerovaný .key soubor, viz níže.

Na portálu GP WebPay zajistěte, že v nastavení pro daný eshop ve volbě "HTTP metoda pro odpověď" je nastaveno "GET".

Instalace v administraci eshopu

V administraci PrestaShopu zvolte menu Rozšíření -> Moduly -> Module Manager. Stiskněte tlačítko Nahrát modul a přetáhněte do otevřeného okna soubor GPWebPayGpeBinder.zip. Po dokončení instalace stiskněte tlačítko Konfigurace.
Ve starších verzích PrestaShopu zvolte menu Moduly a služby -> Moduly a služby a stiskněte tlačítko Přidat nový modul. Následně vyberte a odešlete oba moduly, jak je popsáno výše, a ten druhý modul nakonfigurujte.

Před konfigurací je potřeba nakopírovat dodatečné soubory přes ftp.
Do adresáře UniModul/certs nakopírujte .key soubor vašeho vygenerovaného privátního klíče.

V nastavení modulu vyplňte tato pole:
  • Aktivační klíč - Vložte aktivační klíč vytvořený v sekci Vytvoření aktivačního klíče níže.
  • Testovací brána - Ano - testovací rozhraní, Ne - produkční. Nejprve nutno otestovat.
  • Merchant Number - číslo vašeho obchodníka u GPE.
  • Soukromý klíč obchodníka (Merchant private key file) - do private key file napište jméno .key souboru vašeho soukromého klíče nakopírovaného do adresáře UniModul/certs
  • Heslo k soukromému klíči obchodníka (Merchant Private key password) - dle hesla použitého při generování vašeho klíče.
  • Příznak Deposit (Deposit flag) - určuje zda mají být peníze z karty převedeny ihned, nebo má dojít pouze k předautorizaci, doporučujeme nastavit převod ihned
  • ID poskytovatele - kód poskytovatele platební brány, najdete jej v administraci GPWebPay v detailu eshopu.
  • Heslo pro cron - zvolte libovolné heslo, viz kapitola Nastavení cron skriptu
  • Podporované měny - 3-písmenné ISO kódy měn oddělené mezerou, které brána podporuje, např. "CZK" nebo "CZK EUR", atp.
  • Povolené měny pro bankovní převod - 3-písmenné ISO kódy měn oddělené mezerou, které brána podporuje, např. "CZK" nebo "CZK EUR", atp.
  • Zakázat změnu metody na bráně - Například nedovolí změnu na platební převod pokud je vybraná platba kartou, atp.
  • Číslo první platby na platební bráně - posunutí čísla objednávky na platební bráně, doporučujeme nastavit při instalaci na 1000 a pak již neměnit. Při případné reinstalaci do prázdné databáze eshopu je toto číslo nutno nastavit hodnotu větší než je největší dosud existující číslo objednávky platební brány.
  • Povolené platební metody - zaškrtněte jaké platební metody poskytované bránou chcete zobrazit. První zaškrtávací box zobrazí obecnou metodu, kdy platící provede výběr konkrétní metody až na straně brány. Preferovaný způsob je obecnou bránu nepoužít a zaškrtnout až konkrétní metody. Použitelnost metod závisí na jejich povolení na bráně. Více viz odstavec Jednotlivé platební submetody jako samostatné platební moduly.
  • Stav objednávky po úspěšné platbě
  • Stav objednávky při čekání na převod prostředků
  • Stav objednávky při selhání pokusu o platbu
  • Vytvořit objednávku již před placením - číslo objednávky bude známé před placením a bude předané na platební bránu pro snazší párování. Pak i každý neúspěšný pokus o platbu bude evidovaný jako objednávka s neúspěšnou platbou. (Toto je experimentální funkcionalita, která mění chování objednávkového procesu. PrestaShop standardně objednávku vytvoří pouze tehdy, je-li úspěšná nebo čekající, tedy až po platbě, a na bránu pak ale není možné předat číslo objednávky.)
  • Zobrazit potvrzující stranu - určuje, zda po kliknutí na tlačítko platební metody v objednávkovém procesu bude zobrazena strana s rekapitulací a potvrzením objednávky před vlastním přechodem na platební bránu. Tato strana v některých případech zobrazuje také dodatečné informace například o měnové konverzi. Volba "Jen při info zprávě" zobrazí potvrzující stranu jen, pokud bude obsahovat dodatečnou informaci.
Nastaveni uložte tlačítkem Update Settings.

Pak opět klikněte na záložku Payment a v tabulce Omezení měn zaklikněte všechny měny, pro které se má nabízet možnost platit tímto modulem. Nastavení uložte tlačítkem Uložit omezení.

Nyní vyzkoušejte funkčnost modulu provedením platby v roli zákazníka. V testovacím režimu GPWebPay je třeba použít testovací kartu zaslanou spolu s podklady brány.

Vytvoření aktivačního klíče

Nastavení cron skriptu

Pro kontrolu otevřených plateb na bráně je třeba nastavit Cron script na vašem hostingu tak, aby v pravidelných intervalech, minimálně jednou denně, volal následující URL:
http[s]://www.example.com/module/GPWebPayGpeBinder/Callback?_callbackName=checkOrderStatuses&cronSecret=CronPassword
kde na místo http[s]://www.example.com vložte protokol (http nebo https) a doménu vašeho eshopu a místo CronPassword vložte Vámi zvolené heslo pro Cron zadané v administraci modulu . Skript slouží jen pro výjimečné případy, kdy se klient z brány nevrátí zpět do eshopu, a eshop se tak od brány standardním způsobem nedozví o jak platba dopadla. To je např. v důsledku výpadku sítě.

Přechod do produkčního režimu

Po otestování platby v testovacím režimu můžete přejít na produkční provoz, kde lze již platit skutečným kartami.

Napište mail do GPE (gpwebpay@gpe.cz) s žádostí o zprovoznění produkčního prostředí, které je ve výchozím stavu zablokované. Klíč vygenerujte stejným způsobem jako v testu, případně můžete nahrát klíč z testu i do produkce. Až bude produkční provoz spuštěn, je třeba upravit nastavení modulu v administraci eshopu na produkční bránu, dle instrukcí výše.

Dílčí platební metody

Výše popsaný platební modul umožňuje platit všemi metodami poskytovanými systémem GP webpay. To je řešeno tak, že když zákazník při placení zvolí platební metodu GP webpay, je přesměrován na platební bránu, kde si nejprve vybere jednu z mnoha nabízených metod jako platba kartou, převodem, atp.

Je však také možné tyto dílčí platební metody aktivovat jako samostatné platební volby.

Jaké dílčí platební metody se zákazníkovi nabídnou se nastavuje v konfiguraci modulu pomocí checkboxů.

Řešení problémů


Zjištění důvodu neúspěšné platby v log souboru

Technické informace o komunikaci s platební bránou jsou logovány do souboru UniModul/logs/UniModul.log. V případě problémů s placením lze nalézt důvody selhání v tomto logu.

Nastavení práv pro soubory

Modul vyžaduje právo na čtení a zápis do několika souborů. Pokud standardní nastavení práv souborů neumožňuje do těchto souborů zapisovat ani v případě logu jej vytvořit, doporučujeme:
Vytvořit log soubor UniModul/logs/UniModul.log ručně a nastavit mu práva pro zápis z webserveru. Používáte-li Total Commander, v příkazové řádce napište: chmod 666 UniModul.log, tím udělíte tomuto souboru maximální přístupnost. Soubory by však neměly být viditelné pro ostatní weby na daném webhostingu, proto se před spuštěním produkčního provozu ohledně nastavení práv informujte u svého webhostingu.
Dále je nutno nastavit práva pro zápis na soubor UniModul/sync.lock.

Technické problémy při platbě

Technické problémy při platbě mohou vzniknout při problému s privátním klíček GPWebPay, kdy při pokusu o platba okamžitě selže bez přesměrování na bránu. V logu UniModul.log je toto zaznamenáno hláškou
  • GPWebPay creating payment exception Cannot open private key file .... v případě že modul nemůže najít požadovaný privátní klíč. V eshopu se toto projeví upozorněním "Technical error [Cannot open private key file]". (Zobrazení této hlášky v eshopu může být blokováno použitou šablonou, v logu ji však naleznete vždy.)
  • GPWebPay creating payment exception Bad password or private key in file .... v případě že modul nemůže najít požadovaný privátní klíč. V eshopu se toto projeví upozorněním "Technical error [Bad private key password]"

Brána GPWebPay může odmítnout platbu jak z běžných obchodních důvodů, jako je například neověření karty zákazníka, tak i z technických důvodů problému v konfiguraci brány nebo modulu. Chyba je zobrazena buď přímo na webu brány GPWebPay nebo je zaznamenána v log souboru UniModul.log, kde ji naleznete na řádku typu REPLY payment: FAILED, signature: VALID ....&PRCODE=..&SRCODE=..&RESULTTEXT=....
Kód chyby platební brány je uveden jako PRCODE, SRCODE, a textová interpretace RESULTTEXT. Typické technické chyby, které souvisí s nastavením modulu jsou:
  • PRCODE=31 - Chybný podpis. Nemáte v GPWebPay zaregistrovaný odpovídající veřejný klíč .cer k vašemu privátnímu klíči .pem. Kontaktujte podporu GPWebPay.
  • PRCODE=3, SRCODE=7 - Nepodporovaná měna. Kontaktujte Vaší banku nebo podporu GPWebPay.
  • PRCODE=11, SRCODE=0 - Neznámý obchodník. Kontaktujte Vaší banku nebo podporu GPWebPay.
  • PRCODE=14 - Duplikátní číslo objednávky. Řešení: v nastavení modulu nastavte položku číslo první objednávky na nějakou vyšší hodnotu než je poslední číslo objednávky GPWebPay dohledatelné v jejich administračním GUI.
V případě jiných chybových kódů se nejprve podívejte do administračního portálu GPWebPay. Prověřte tam stav plateb, pokud tam jsou evidovány jako nezaplacené, tak problém není v modulu. V případě dotazů k zamítnutí platby se obraťte na GPWebPay.

Detailní záznam chyb v log souboru

Pokud modul nefunguje správně a standardní logované události do UniModul/logs/UniModul.log nepomohou odhalit příčinu, můžete zapnout rozšířené logování chyb do výše zmíněného log souboru. Z něj pak lze zjistit co nefunguje případně nám jej můžete zaslat pro analyzování problémů.

Záznam chyb do log souboru lze jej zapnout přidáním řádku
$GLOBALS['UniErrorControl'] = 1;
v souboru UniModul/UniModulConfig.php. Tento soubor standardně není vytvořen a můžete jej nejprve okopírovat ze souboru UniModulConfig.php.example a následně upravit. Pro běžné použití doporučujeme logování chyb vypnout. Logování komunikace s platební bránou je zapnuté vždy a vypnout nelze.

Modul se nezobrazuje v nabídce plateb

Modul je v administraci nastavený, ale při objednávání se nenabízí.

Možné příčiny:
  • Neplatný aktivační klíč.
    Informace o tom se zapisují do UniModul.log.
    Ověřte soulad domény zadané při vytváření aktivačního klíče s údaji o chybě v UniModul.log. Pokud jsou údaje v pořádku, zapněte detailní logování chyb do UniModul.log, jak je popsáno v příslušné sekci výše.
  • Použití různých doplňků omezujících platební možnosti v závislosti na zvolené dopravě, např. ship2pay.
    Pro odhalení této příčiny doporučujeme zkusmo nainstalovat nějaký jiný standardní platební modul a ověřit, zda se zobrazuje.
  • Modul se nezobrazí v důsledku nesouladu nastavené měny v administraci modulu a měny košíku nebo částka mimo povolené meze pro platební metodu.
  • Obecná chyba v práci modulu.
    Zapněte detailní logování chyb do UniModul.log, jak je popsáno v příslušné sekci výše.
  • Vypnuté neoriginální moduly. V administraci PrestaShopu v sekci Nástroje - Výkon - Režim ladění ověřte, že jsou vypnuté volby Zakázat neoriginální PrestaShop moduly a Zakázat všechna přepsání.

Nefunkční administrace modulu v PrestaShopu 1.6.0.12-13

Verze PrestaShopu 1.6.0.12-13 odmítají názvy modulu s velkými písmeny. Tato chyba je odstraněna ve verzi 1.6.0.14. Aktualizujte na novější verzi PrestaShopu.

Nezaokrouhlená částka na platební bráně

Některé eshopy mají nastavené zaokrouhlování měny takovým způsobem, že zaokrouhlená částka se pouze zobrazuje, ale vnitřně eshop eviduje nezaokrouhlenou částku. Platební modul pracuje s částkou uloženou v eshopu a na bráně pak zákazník platí nezaokrouhlenou částku.

Zaokrouhlování částky zaslané na bránu lze vynutit vytvořením souboru UniModul/UniModulConfig.php, do kterého vložte:
	<?php
	$GLOBALS['UniPrestaShop_RoundPrice'] = true;
Upozorňujeme však na to, že evidovaná částka PrestaShopem je stále nezaokrouhlená.

Použití id objednávky PrestaShopu na místo kódu objednávky, nebo-li reference

Je-li v administraci modulu zvoleno "Vytvořit objednávku již před placením", modul předává kód objednávky (anglicky reference) na platební bránu. Kód objednávky však standardně obsahuje také písmena, což nelze na některé platební brány poslat. Doporučujeme v těchto případech použít dostupné moduly pro změnu kódu objednávky z písmenného kódu na číselný, například Prestashop Custom Number Pro – Order and Invoice Number.

Je však také možné nastavit náš platební modul tak, aby na místo kódu objednávky používal id objednávky, které je vždy bez písmen a na bránu dorazí. Použití id objednávky na místa písmenného lze vytvořením souboru UniModul/UniModulConfig.php, do kterého vložte:
	<?php
	$GLOBALS['UniPrestaShop_UseOrderId'] = true;

Chybí databázová tabulka unimodul_transactions

V logu při zapnutém logování chyb se objevuje chyba: Query Failed! SQL: insert into unimodul_transactions, Error: Table '.unimodul_transactions' doesn't exist
V tomto případě modul nemohl automaticky vytvořit tuto tabulku během instalace a je jí nutno vytvořit ručne:

Přihlaste se do administrace vaší databáze na web hostingu a v databázi používané Vaším eshopem vytvořte tabulky spuštěním skriptu modules/GPWebPayGpeBinder/lib/UniModul/UniModul.sql. (Stačí obsah souboru copy-pastnout do okna pro zadání SQL příkazu v PhpMyAdminu.)

Často kladené otázky


Aktualizace modulu

Nainstalujte aktualizaci modulu v administraci eshopu. V administraci ověřte nastavení modulu a doplňte případné nové položky.

Nastavení uložte, i kdyby jste nic neměnili.

Párování plateb

Modul automaticky páruje platby s objednávkami v eshopu a nastavuje jim příslušný stav.

Pro některé úkony, jako například ruční stornování platby v administraci platební brány, je potřeba na platební bráně dohledat transakci k dané objednávce. V administraci eshopu je číslo transakce platební brány zobrazeno v bloku Informace platebního modulu v detailu objednávky.

Někdy může být nutné dohledat k dané transakci na platební bráně příslušnou objednávku v eshopu. Je-li v administraci modulu zvoleno "Vytvořit objednávku již před placením", modul předává číslo objednávky na platební bránu. Číslo objednávky eshopu je na platební bránu předáno v poli Merchant order number nebo v popisu transakce, obsahuje-li písmena. Zobrazuje se v detailu transakce v administraci GPWebPay účtu a také na výpisu z banky.

Lokalizace a úprava textů

Texty a překlady modulu jsou řešeny z části standardním způsobem jako pro běžný modul, a z části specifickým způsobem, kdy jsou uloženy v souboru modules/GPWebPayGpeBinder/lib/UniModul/UniModulLang.php a modules/GPWebPayGpeBinder/lib/UniModul/UniGPWebPayLang.php. Úpravou tohoto souboru můžete změnit textace nebo přidat nový jazyk.

Přidáte-li nový jazyk do lokalizačního souboru, pošlete nám prosím upravené soubory. My je přidáme do příštích verzí, kde budou sloužit jak dalším zákazníkům, tak i Vám, pokud si budete modul v budoucnu aktualizovat.

Odinstalace

Modul nejprve odinstalujte z administrace eshopu. Dále smažte všechny nakopírované soubory, které jste při instalaci nakopírovali z instalačního adresáře ftp.