Wdrożenie modułu płatności eservice dla systemu QuickCart 6.0 Wersja 03 Wrzesień 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o.
Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu... 3 1.2. Przygotowanie do integracji... 3 2. Instalacja modułu QuickCart... 3 3. Konfiguracja płatności... 7 3.1. Ustalenie początkowego numeru zamówienia eservice... 10 4. Kontakt... 11 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 2 z 11
1. Wstęp 1.1. Przeznaczenie dokumentu Niniejszy dokument opisuje czynności niezbędne do uruchomienia płatności eservice z wykorzystaniem modułu dla systemu QuickCart w wersji 6.0. Przed przystąpieniem do wdrożenia zalecamy zapoznać się z ogólną dokumentacją techniczną integracji systemów płatności eservice. 1.2. Przygotowanie do integracji Przed rozpoczęcie procesu implementacji modułu w systemie sklepu, należy sprawdzić wersję wykorzystywanego systemu QuickCart oraz pobrać dokumentację techniczną dla tejże wersji. Dokumentacje techniczne dostępne są na stronie https://eservice.pl. 2. Instalacja modułu QuickCart UWAGA: Przy kopiowaniu poniższych kodów należy uważać na łamanie linii, po skopiowaniu należy sprawdzić czy nie nastąpiły łamania w nieodpowiednich miejscach. W razie potrzeby należy poprawić. Krok 1: wyedytować plik "database/config/general.php" i przed kodem: /* * DONT CHANGE CODE BELOW! */ //<--eservice-- $config['eservice_merchant_id'] = ""; $config['eservice_merchant_password'] = ""; $config['eservice_order_status'] = 1; $config['eservice_default_lang']='pl'; $config['eservice_lang']=array('pl'=>"polski", 'en'=>'angielski'); $config['eservice_shop_url'] = "http://twoj-adres-sklepu.lan"; $config['eservice_environment'] = 0; $config['eservice_environment_list'] = array('0'=>"środowisko testowe", '1'=>'Środowisko produkcyjne'); $config['eservice_log_dir'] = ""; define('db_eservice', 'database/eservice.php'); //--eservice--> Krok 2: Wyedytować plik "database/config/lang_pl.php" i przed linią: //<--eservice-- $config['eservice_payment_id'] = 0; $config['eservice_url_ok'] = "http://twoj-adressklepu. lan/index.php?eservice-platnosc-zakonczonasukcesem, 18"; $config['eservice_url_fail'] = "http://twoj-adressklepu. Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 3 z 11
lan/index.php?eservice-platnosc-nie-powiodla-sie,19"; //--eservice--> Jeżeli sklep obsługuje więcej języków, należy krok ten powtórzyć dla innych wersji językowych. Krok 3: Do katalogu z instalacją sklepu należy skopiować załączone plik z folderu "src" do odpowiednich folderów. Krok 4: Wyedytować plik "core/orders.php" i po linii: public $aproducts = null; //<--eservice-- public $ordertotalvalue=null; //--eservice--> w pliku tym również należy w funkcji listproducts przed kodem: } return $content; //<--eservice-- $this->ordertotalvalue = $this->aorders[$mdata]['fordersummary']; //--eservice--> Krok 5: wyedytować plik "database/translations/pl.php po linii: //plugins //<--eservice-- $lang['eservice'] = "Płatność eservice"; $lang['eservice_merchant_id'] = "Identyfikator Merchanta"; $lang['eservice_merchant_password']="hasło dla Merchanta"; $lang['eservice_payment_id'] = "Identyfikator płatności eservice w sklepie"; $lang['eservice_order_status'] = "Status zamówienia po dokonanej płatności"; $lang['eservice_default_lang'] = "Domyślny język interfejsu płatności"; $lang['eservice_shop_url'] = "Adres www sklepu"; $lang['eservice_url_ok'] = "Adres przekierowania udanej transakcji"; $lang['eservice_url_fail'] = "Adres przekierowania błędnej transakcji"; $lang['eservice_log_dir'] = "Bezwzględna ścieżka do katalogu z plikiem logów eservice. Uwaga - serwer WWW musi mieć prawo zapisu i tworzenia nowych plików w tym katalogu"; $lang['eservice_environment'] = "Połącz z"; //--eservice--> Jeżeli sklep obsługuje więcej języków, należy krok ten powtórzyć dla innych wersji językowych. Krok 6: wyedytować plik " templates/default/order-step-3.php" po linii: <!-- AddOnload( delsaveduserdata ); Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 4 z 11
//--> </script> </div> <?php if($aorder['ipayment']==$config['eservice_payment_id']){ require_once DIR_CORE.'eservice.php'; $eserviceform=geteserviceform($aorder['sfirstname'], $aorder['slastname'], $oorder- >ordertotalvalue, $config['eservice_merchant_id'], $config['eservice_merchant_password'], $aorder['iorder'], $config['eservice_shop_url'], $config['eservice_order_status'], $aorder['slanguage'], $config['eservice_default_lang'], $config['eservice_environment'], $config['eservice_log_dir']); echo $eserviceform; } Krok 7: wyedytować plik "templates/admin/setting.tpl" po linii: <li class="tabpages"><a href="#more" onclick="displaytab( 'tabpages' )"><?php echo $lang['pages']; </a></li> <li class="tabeservice"><a href="#more" onclick="displaytab( 'tabeservice' )"><?php echo $lang['eservice']; </a></li> oraz po liniach: <!-- tab pages --> </table> wstawić <?php $oorder=new OrdersAdmin(); <table class="tab" id="tabeservice"> <?php echo $lang['eservice_merchant_id']; <input type="text" name="eservice_merchant_id" value="<?php echo $config['eservice_merchant_id']; " <?php echo $lang['eservice_merchant_password']; <input type="text" name="eservice_merchant_password" value="<?php echo $config['eservice_merchant_password']; " Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 5 z 11
<?php echo $lang['eservice_payment_id']; <input type="text" name="eservice_payment_id" value="<?php echo $config['eservice_payment_id']; " <?php echo $lang['eservice_order_status']; <select name="eservice_order_status"> <?php echo throwselectfromarray( $oorder->throwstatus(), $config['eservice_order_status']); </select> <?php echo $lang['eservice_default_lang']; <select name="eservice_default_lang"> <?php echo throwselectfromarray( $config['eservice_lang'], $config['eservice_default_lang']); </select> <?php echo $lang['eservice_shop_url']; <input type="text" name="eservice_shop_url" value="<?php echo $config['eservice_shop_url']; " <?php echo $lang['eservice_url_ok']; <input type="text" name="eservice_url_ok" value="<?php echo $config['eservice_url_ok']; " alt="simple" class="input" /> <?php echo $lang['eservice_url_fail']; <input type="text" name="eservice_url_fail" value="<?php echo $config['eservice_url_fail'];" <?php echo $lang['eservice_log_dir']; <input type="text" name="eservice_log_dir" value="<?php echo $config['eservice_log_dir']; " <?php echo $lang['eservice_environment']; Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 6 z 11
<select name="eservice_environment"> <?php echo throwselectfromarray( $config['eservice_environment_list'], $config['eservice_environment']); </select> <!-- tab eservice --> </table> Krok 8 : wyedytować plik " templates/admin/orders-form.php" i po liniach: <!-- tabs list end --> </div> <?php if($adata['ipayment']==$config['eservice_payment_id']){ require_once DIR_CORE.'eservice.php'; echo geteserviceinfo($adata['iorder']); } Krok 9: wyedytować plik " database/_fields.php" i przed linią: // database/eservice.php fields $aeservicefields = Array('iEservice','iOrder','sLog' ); 3. Konfiguracja płatności Po modyfikacji kodu sklepu zgodnie z instrukcją opisaną w pkt. 2 można zalogować się do panelu administracyjnego sklepu i przeprowadzić konfigurację płatności. W nowej zakładce Płatność eservice jak na rysunku 1, należy skonfigurować poniższe parametry. Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 7 z 11
Rysunek 1. Konfiguracja płatności eservice Identyfikator Merchanta: W polu tym należy wprowadzić identyfikator Merchanta otrzymany z eservice. Hasło dla Merchanta: W polu tym należy wprowadzić hasło właściwe dla Merchanta określonego w poluidentyfikator Merchanta. Identyfikator płatności eservice w sklepie: W polu tym należy wpisać identyfikator płatności po stronie sklepu, który odpowiada płatności eservice. Aby stworzyć nową płatność należy przejść z głównego menu panelu administracyjnego do Zamówienia>> Nowa płatność i w nazwie wpisać eservice. Status zamówienia po dokonanej płatności: Określa, jaki status zamówienia będzie ustawiony po wybraniu płatności eservice Domyślny język interfejsu płatności: Określa domyślny język interfejsu płatności eservice jaki zostanie zaprezentowany klientowi Sklepu, jeżeli język na stronie sklepu jest inny od polskiego i angielskiego. Adres www sklepu: W polu tym należy wpisać adres pod jakim znajduję się sklep, wymagane jest podanie adresu zaczynającego się od http:// lub https://. Adres przekierowania udanej transakcji: W polu tym należy wpisać adres pod jaki zostanie przekierowany klient po udanej płatności. Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 8 z 11
Adres przekierowania błędnej transakcji: W polu tym należy wpisać adres pod jaki zostanie przekierowany klient po nieudanej płatności. Dwa powyższe adresy powinny być adresami do stron sklepu. Należy stworzyć dwie strony w panelu administracyjnym, poprzez przejście do menu Strony>>Nowa strona rysunek 2. W formularzy tworzenia strony można wpisać teksty które się wyświetlą, dodać grafikę. Zalecane jest aby strona w opcjach miała wartość atrybutu Menu równą Ukryte strony. Bezwzględna ścieżka do katalogu z plikiem logów eservice: W polu tym należy wpisać bezwzględną ścieżkę do katalogu w którym będą zapisywane pliki z logami komunikacji do eservice. Serwer WWW musi mieć prawo zapisu i tworzenia nowych plików w tym katalogu. Połącz z: Umożliwia wybór środowiska testowego lub produkcyjnego eservice. Rysunek 2. Tworzenie strony Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 9 z 11
Przykładowa strona może wyglądać jak na rysunku 3. Rysunek 3. Przykładowa strona przekierowania udanej transakcji Jeżeli sklep obsługuje wiele języków, to dla każdego języka należy osobno wypełnić poniższe pola z konfiguracji: > Identyfikator płatności eservice w sklepie > Adres www sklepu > Adres przekierowania udanej transakcji > Adres przekierowania błędnej transakcji 3.1. Ustalenie początkowego numeru zamówienia eservice Jeżeli merchantid był wykorzystywany do przeprowadzania transakcji w systemie eservice, może zajść konieczność ustalenia początkowego numeru zamówienia w sklepie. W tym celu należy edytować plik z katalogu sklepu database/eservice.php, powinien on początkowo wyglądać tak: <?php exit; a:1:{i:0;a:3:{s:9:"ieservice";i:0;s:6:"iorder";i:0;s:4:"slog"; s:0:"";}} Aby określić początkowy numer zamówienia należy zamienić w drugiej linijce pogrubioną liczbę 0 na nowy numer początkowego zamówienia, np. : <?php exit; a:1:{i:0;a:3:{s:9:"ieservice";i:1050;s:6:"iorder";i:0;s:4:"slo g";s:0:"";}} Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 10 z 11
4. Kontakt W razie jakichkolwiek pytań podczas wdrożenia prosimy o kontakt z Zespołem Wdrożeniowym eservice: tel.: +48 22 533 22 44 email: Wdrozenia_eCommerce@eservice.com.pl Problemy powdrożeniowe występujące na środowisku produkcyjnym prosimy zgłaszać na skrzynkę pocztową Wsparcie_eCommerce@eservice.com.pl. Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Strona 11 z 11