Integracja Merchanta - dokumentacja techniczna Wer 01/25 Warszawa, Wrzesień 2011 1
1. Modyfikacje dokumentu Data modyfikacji Wersja Opis 2010-11-15 Wer 01/01 Tadeusz Żurawski wersja podstawowa dokumentu 2010-11-18 Wer 01/02 Sebastian Ramatowski uzupełnienie informacji 2010-11-19 Wer 01/03 Tadeusz Żurawski uzupełnienie informacji o mdstatus i wymagania techniczne 2010-12-07 Wer 01/04 Sebastian Ramatowski uzupełnienie informacji 2010-12-07 Wer 01/05 Tadeusz Żurawski modyfikacja tekstu 2010-12-08 Wer 01/06 Tadeusz Żurawski uzupełnienie informacji 2010-12-08 Wer 01/07 Sebastian Ramatowski uzupełnienie informacji 2010-12-13 Wer 01/08 Tadeusz Żurawski uzupełnienie informacji 2010-12-14 Wer 01/09 Tadeusz Żurawski uzupełnienie informacji 2010-12-20 Wer 01/10 Tadeusz Żurawski uzupełnienie o spis treści 2010-12-31 Wer 01/11 Tadeusz Żurawski modyfikacja dokumentacji 2011-01-05 Wer 01/12 Tadeusz Żurawski wprowadzenie ograniczeń do OrderId 2011-01-24 Wer 01/13 Tadeusz Żurawski wprowadzenie informacji o przelewach 2011-01-24 Wer 01/14 Sebastian Ramatowski modyfikacja dokumentu 2011-02-02 Wer 01/15 Tadeusz Żurawski modyfikacja dokumentu 2011-02-02 Wer 01/16 Sebastian Ramatowski uzupełnienie informacji 2011-02-04 Wer 01/17 Sebastian Ramatowski modyfikacja kodów walut 2011-02-07 Wer 01/18 Sebastian Ramatowski modyfikacja dokumentu 2011-02-07 Wer 01/19 Tadeusz Żurawski modyfikacja dokumentu 2011-02-08 Wer 01/20 Edyta Wypart korekta 2011-02-17 Wer 01/21 Tadeusz Żurawski modyfikacja dokumentu 2011-03-31 Wer 01/22 Tadeusz Żurawski uzupełnienie informacji o powiadomieniu i systemie PayPal 2011-04-04 Wer.01/23 Edyta Wypart korekta 2
2011-08-25 Wer. 01/24 Boroński Radosław uzupełnienie informacji dotyczących usługi PayPal 2011-09-23 Wer. 01/25 Norbert Bielski uzupełnienie przykładów HTTP z wymaganymi parametrami o wpis dotyczący pendingurl 3
Spis treści: 1. Modyfikacje dokumentu... 2 2. eservice Payment Gateway... 5 2.1. Przeznaczenie dokumentu... 5 2.1. Zalety eservice Payment Gateway... 5 2.2. Wymagania techniczne dla Systemu Sklepu... 6 2.3. Weryfikacja posiadacza karty... 6 3. Udostępnienie płatności w sklepie... 7 3.1. Uwierzytelnienie Merchanta - TOKEN... 8 3.2. Metody płatności...11 3.3. Typ Transakcji (TranTyp)...12 3.4. Model 1 Główna strona płatności eservice (model domyślny, zalecany)...12 3.5. Model 2 Wybór formy płatności na stronie sklepu...24 3.6. Metoda automatycznego powiadamiana sklepu o zmianie statusu zamówienia...33 3.7. Metoda płatności PayPal...38 4. Przejście do systemu produkcyjnego... 45 5. Zarządzanie transakcjami... 48 5.1. Zarządzanie transakcjami przez Panel Administracyjny Akceptanta (model podstawowy)...48 5.2. Zarządzanie transakcjami przez API (model rozszerzony)...49 6. Natychmiastowe potwierdzanie transakcji... 50 7. Kontakt... 52 4
2. eservice Payment Gateway 2.1. Przeznaczenie dokumentu Niniejszy dokument opisuje podstawowe metody umożliwiające obsługę transakcji dokonywanych za pomocą elektronicznych form płatności z wykorzystaniem eservice Payment Gateway. Przedstawione w dokumencie modele integracji oprogramowania sklepu z eservice są zalecanymi modelami domyślnymi. 2.1. Zalety eservice Payment Gateway 2.1.1. Zalety dla posiadaczy kart Zalety bezpiecznych płatności eservice Payment Gateway dla posiadacza karty: bezpieczne zakupy online, brak potrzeby zakupu dodatkowego oprogramowania, brak konieczności podawania numerów kart w sklepie.. 2.1.2. Zalety dla Sprzedawców Zalety bezpiecznych płatności eservice Payment Gateway dla Merchantów: łatwa integracja oprogramowania używanego przez sprzedawcę, wzrost sprzedaży połączony ze wzrostem zaufania klientów (klient bardziej ufa rozwiązaniom, w których nie podaje numerów kart na stronie sklepu), zmniejszenie ryzyka nadużyć finansowych, minimalizacja wzajemnych oddziaływań klienta i sprzedawcy, przenoszenie zobowiązania ze sprzedawcy na bank wystawcę karty. 5
2.2. Wymagania techniczne dla Systemu Sklepu System sklepu powinien spełniać następujące warunki: ustalony stały publiczny nr IP, przekierowanie do systemu płatniczego musi przenosić na stronę eservice (nie może obsługiwać strony eservice we FRAME ani POP-UP), wykorzystywać połączenie szyfrowane do wysyłania informacji, zalecane wykorzystywać połączenie szyfrowane do odbioru informacji. 2.3. Weryfikacja posiadacza karty Usługa autoryzacji karty jest dokonywana w czasie rzeczywistym. Proces ten składa się z faz: klient wypełnia zakupu odpowiednie pola na stronie eservice podając numer karty, rodzaj karty itd. Następnie klient wciska przycisk Płacę. po naciśnięciu przycisku Płacę, do wystawcy karty (Visa lub MasterCard) wysyłana jest prośba o autentykację Klienta (3-D Secure). Wystawca sprawdza czy kupujący jest zarejestrowany w programie. jeśli posiadacz karty jest zarejestrowany to automatycznie otwiera się strona banku i wtedy wpisuje on swoje sekretne hasło autentykujące. jeśli hasło zostanie zatwierdzone przez bank to rozpoczyna się właściwy proces autoryzacji. jeśli hasło nie zostanie zatwierdzone to autoryzacja nie zostanie dokonana. 6
3. Udostępnienie płatności w sklepie W niniejszym rozdziale opisano sposoby, w jakie sklep może udostępnić możliwość przejścia przez proces płatności swojemu klientowi: Model 1 wybór formy płatności na głównej stronie płatniczej eservice (model zalecany), Model 2 wybór formy płatności na stronie sklepu. Do potrzeb integracji z systemem testowym wykorzystywane są następujące dane: ClientId 720000001111101 tylko karty płatnicze ClientId 720000001111102 karty płatnicze i przelewy Password 123456 Numer karty VISA 4242424242424242 01/2014 transakcja OK Data ważności 01/2010 transakcja NOK Kod cvv2/cvc2/cid 000 Obok płatności kartowych jest możliwość wykonania płatności za pomocą przelewów elektronicznych. Z punktu widzenia integracji systemów sklepu i eservice, operacje przelewów nie różnią się od płatności kartami. UWAGA: Mając na uwadze powyższe oraz fakt, iż banki nie udostępniają testowych systemów bankowych, eservice zaleca przeprowadzanie testów płatności eservice Payment Gateway poprzez wykonanie transakcji elektronicznych wyłącznie za pomocą kart płatniczych. 7
3.1. Uwierzytelnienie Merchanta - TOKEN Usługa Token jest odpowiedzialna za początkową rejestrację transakcji, zależy w dużym stopniu od kwoty transakcji, która musi być stała dla danej płatności. Sprawdza także nazwę użytkownika i hasło sprzedawcy. Serwis zwraca unikalny identyfikator (Token) używany do identyfikacji transakcji w kolejnych etapach. Usługa Token jest ujawniana w oprogramowaniu sprzedawcy - komunikacja nie jest widoczna dla zleceniodawcy. Pola do wysłania dla weryfikacji Akceptanta: Nazwa parametru Opis parametru ClientId MID sprzedawcy Password Hasło sprzedawcy Unikalny numer zamówienia sprzedawcy może zawierać OrderId znaki [0-9][A-Z][a-z] oraz [-] i mieć długość do 64 znaków. Kwota transakcji z dwoma miejscami po przecinku lub kropce, Total musi być taka sama dla dokończenia transakcji przez klienta nie może ulec zmianie w trakcie płatności) Kod waluty zgodnie ze standardami ISO4217. Wartość Currency liczbowa reprezentowane jako ciąg znaków. Dla PLN - 985. Obsługiwane waluty ( Currency) : Kod Waluta 985 PLN 978 EUR 840 USD 826 GBP 756 CHF 208 DKK 124 CAD 8
578 NOK 752 SEK 643 RUB 440 LTL 946 RON 428 LVL 203 CZK 392 JPY 348 HUF 191 HRK 980 UAH 949 TRY 223 EEK Powyższe parametry muszą zostać wysłane metodą post pod adres: https://testvpos.eservice.com.pl/pg/token Przykład HTTP z wymaganymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/pg/token"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="password" value="123456" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> </form> Odpowiedz z serwera: Nazwa parametru Opis parametru OK gdy transakcja została zarejestrowana status ERROR gdy transakcja nie została zarejestrowana 9
msg Wygenerowany token (dla statusu==ok) Lista błędnych wiadomości oddzielonych przecinkiem (dla statusu==error) Przykład wiadomości z wygenerowanym tokenem: status=ok&msg=86c830280a85416faf75e3cafc492162 Przykłady wiadomości z błędami: status=error&msg=amount-lack,currency-invalid,order-number-invalid status=error&msg=amount-invalid Kody błędów: Nazwa błędu Opis błędu amount-lack Brak kwoty amount-invalid Zły format kwoty currency-lack Brak waluty currency-invalid Nie obsługiwana waluta order-number-lack Brak numeru zamówienia order-number-invalid Nieprawidłowy numer zamówienia order-number-duplicated Transakcja z tym numerem zamówienia już istnieje merchant-lack Brak ID sprzedawcy merchant-invalid Sprzedawca lub hasło nieprawidłowe password-lack Brak hasła sprzedawcy 10
3.2. Metody płatności Wyróżniamy trzy podstawowe metody płatności: Metody płatności kartami: Metoda płatności (PaymentMethod) Opis VISA Płatności kartami Visa MASTERCARD Płatności kartami MasterCard MAESTRO Płatności kartami Maestro AMEX Płatności kartami American Express DINERS Płatności kartami Diners Club i Discover Metody płatności przelewami: Metoda płatności (PaymentMethod) Opis BZWBK Bank Zachodni WBK INTELIGO Inteligo MTRANSFER mbank MULTIBANK MultiBank PEKAO Bank Pekao S.A. ING Bank ING LUKAS Lukas Bank CITIBANK Bank Handlowy Citibank (PayByNet) NORDEA Nordea (PayByNet) MILLENNIUM Bank Millenium MILLENNIUM_KIR Bank Millenium (PayByNet) KREDYT Kredyt Bank RAIFFEISEN Raiffeisen Bank INVEST Invest Bank DEUTSCHE Deutsche Bank IPKO ipko 11
BPH BPH ALIOR Alior Bank EUROBANK Eurobank Metoda płatności PayPal: Metoda płatności (PaymentMethod) Opis PAYPAL Metoda płatności PayPal 3.3. Typ Transakcji (TranTyp) Wyróżniamy dwa podstawowe typy transakcji: PreAuth jest to transakcja z rezerwacją środków z późniejszym dopełnieniem transakcji Auth jest to standardowa autoryzacja kartą płatniczą z wykonaniem od razu transakcji finansowej. Po poprawnym zrealizowaniu transakcji następuję automatyczne rozliczenie transakcji UWAGA: Wykonywanie transakcji Auth (Autorozliczenie) jest standardowo zablokowane w eservice Payment Gateway. Jeżeli prowadzony przez Państwa model wdrożenia wymaga jego aktywacji, prosimy o kontakt z eservice (patrz rozdział Kontakt ). 3.4. Model 1 Główna strona płatności eservice (model domyślny, zalecany) W tym modelu sprzedawca, po skompletowaniu przez kupującego zamówienia w sklepie, przekierowuje go na główna stronę płatności eservice, gdzie dokonywany jest wybór jednej z dostępnych form płatności. 12
System wymaga od sklepu w tym przypadku zamieszczenia swoich danych i danych dotyczących sprzedaży. Pola poniżej są obowiązkowe: Nazwa parametru Opis parametru ClientId Numer sprzedawcy nadany przez eservice MID StoreType Typ sprzedawcy.(dla tego modelu musi być "3d_pay_hosting") Token Token przesłany z systemu patrz punkt 2.1. TranType Pole musi zawierać Auth lub PreAuth patrz punkt 2.3. Total Kwota transakcji Kod waluty zgodnie ze standardami ISO4217. Wartość liczbowa Currency reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego Strona internetowa na którą ma być przekierowanie w okurl przypadku pomyślnej procedury płatności Strona internetowa na którą ma być przekierowanie w failurl przypadku niepomyślnej procedury płatności Strona internetowa na którą ma być przekierowanie w pendingurl przypadku oczekującej procedury płatności Język formatki płatności (pl dla języka polskiego, en dla języka lang angielskiego) Przykład HTTP z wymaganymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> 13
<input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="lang" value="pl" /> </form> Po poprawnym przesłaniu danych do systemu płatniczego eservice nastąpi przekierowanie do strony wyboru sposobu płatności. Przykładowa strona zamieszczona jest poniżej. Pojawienie się tej strony świadczy o poprawnym przekazaniu niezbędnych informacji do rozpoczęcia procesu płatności. Następnie klient wybiera sposób płatności wyświetlane mu jest odpowiednie okno z formularzem do wypełnienia, lub przekierowany jest do wybranego banku (przelewy). Dla wersji z obsługą kart płatniczych (MID: 720000001111101) pojawi się strona zamieszczona poniżej. 14
15
Dla wersji z obsługą przelewów (MID: 720000001111102) pojawi się strona zamieszczona poniżej. 16
Ekran po wybraniu metody płatności kartą VISA Po poprawnym wpisaniu danych i zatwierdzeniu przez wciśnięcie przycisku Płacę, system po weryfikacji wygeneruje status transakcji, który po upływie domyślnego czasu (30s) przekieruje na odpowiedni link powrotny. Będzie to link okurl w sytuacji powodzenia transakcji lub failurl w sytuacji niepowodzenia transakcji. 17
Poniżej przykład strony z komunikatem o pozytywnym zakończeniu transakcji, na którą, zostanie przekierowany płacący (na zdefiniowany przez Merchanta okurl). Pola poniżej nie są obowiązkowe, można je traktować jako dodatkowe: Nazwa parametru Opis parametru Numer ID transakcji dla uwierzytelnienia 3D zostaje PayerTxnId wygenerowany przez system. (musi być zakodowany jako based64 i mieć 28 znaków) Czas oczekiwania na przekierowanie. (Domyślnie 30s jeżeli nie refreshtime jest podany) TelVoice Numer telefonu Email Adres e-mail BillToCompany Nazwa firmy BillToName Nazwa sprzedawcy BillToStreet1 Adres sprzedawcy 18
BillToStreet2 Adres 2 linii BillToStreet3 Adres 3 linii BillToStateProv Region BillToCity Miasto BillToPostalCode Kod pocztowy BillToCountry ISO03166 Kod kraju (dla Polski 616) ShipToCompany Nazwa firmy dostarczającej ShipToName Nazwa osoby dostarczającej ShipToStreet1 Adres dostarczającego ShipToStreet2 Adres 2 linii ShipToStreet3 Adres 3 linii ShipToStateProv Region dostarczenia ShipToCity Miasto dostarczenia ShipToPostalCode Kod pocztowy miejsca dostarczenia ShipToCountry ISO03166 Kod kraju (dla Polski 616) ItemNumber1 Numer produktu ProductCode1 Kod produktu Qty1 Ilość Desc1 Opis Id1 ID produktu Price1 Cena Total1 Koszt całkowity Przykład HTTP z wymaganymi i opcjonalnymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > 19
<input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="lang" value="pl" /> <input type="hidden" name="payertxnid" value="egsf658v9unpdqmksfz5j9xhv/u=" /> <! Informacje o sprzedającem [Opcjonalne]--> <input type="hidden" name="telvoice" value="012345678"> <input type="hidden" name="email" value="test@test.com"> <input type="hidden" name="billtocompany" value="billing Company"> <input type="hidden" name="billtoname" value="john Smith"> <input type="hidden" name="billtostreet1" value="address line 1"> <input type="hidden" name="billtostreet2" value="address line 2"> <input type="hidden" name="billtostreet3" value="address line 3"> <input type="hidden" name="billtocity" value="warsaw"> <input type="hidden" name="billtostateprov" value="mystate"> <input type="hidden" name="billtopostalcode" value="12345"> <input type="hidden" name="billtocountry" value="616"> <! Informacje o dostawcy [Opcionalne]--> <input type="hidden" name="shiptocompany" value="shipping Company"> <input type="hidden" name="shiptoname" value="john Smith"> <input type="hidden" name="shiptostreet1" value="address line 1"> <input type="hidden" name="shiptostreet2" value="address line 2"> <input type="hidden" name="shiptostreet3" value="address line 3"> <input type="hidden" name="shiptocity" value="warsaw"> <input type="hidden" name="shiptostateprov" value="mystate"> <input type="hidden" name="shiptopostalcode" value="12345"> <input type="hidden" name="shiptocountry" value="616"> <! Pozostałe paramerty [Opcjonalne]--> <input type="hidden" name="itemnumber1" value="a5"> <input type="hidden" name="productcode1" value="a5"> <input type="hidden" name="qty1" value="3"> <input type="hidden" name="desc1" value="a5 desc"> <input type="hidden" name="id1" value="a5"> <input type="hidden" name="price1" value="6.25"> <input type="hidden" name="total1" value="7.50"> </form> 20
Zmienna PayerTxnId może przyjmować wartość: $data['payertxnid'] = trim(base64_encode(genxid())); function genxid(){ $let = "ABCDEFGIKLMNOPRSTUWXYZ"; $num = "234567890"; $xid = substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($num, rand(0,(strlen($num)-1)), 1) ; return $xid; } Powyższe parametry muszą zostać wysłane pod adres: https://testvpos.eservice.com.pl/fim/eservicegate Pola, które wyśle sprzedawca mogą być wysyłane jako ukryte. Jeśli formularz zostanie dostarczony do akceptanta nastąpi przygotowanie do zatwierdzenia płatności. Po zakończeniu tego procesu informacje na temat weryfikacji z poniższymi 21
parametrami będą kierowane do okurl strony sprzedawcy (w przypadku powodzenia transakcji) lub failurl (w przypadku gdy transakcja będzie odrzucona). Pola odpowiedzi przychodzące do Merchanta: Nazwa parametru Opis parametru Kod odpowiedzi: Approved Zaakceptowana transakcja Response Error" Wystąpił błąd Declined Odrzucona transakcja ClientId Numer sprzedawcy nadany przekazany przez sklep StoreType Typ sprzedawcy.(dla tego modelu to "3d_pay_hosting") Token przesłany z systemu eservice przy uwierzytelnieniu Token merchanta patrz punkt 2.1. Pole określające typ transakcji ( Auth lub PreAuth ) TranType patrz punkt 2.3. Total Kwota transakcji Kod waluty zgodnie ze standardem ISO4217. Wartość Currency liczbowa reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego PaymentMethod Metoda płatności patrz punkt 2.2. mdstatus Status kodu dla uwierzytelnienia metodą 3D AuthCode Kod weryfikacji transakcji vendorcode Kod błędu dostawcy metody 3D ErrMsg Informacja o przyczynie błędu ProcReturnCode 2 cyfrowe status transakcji. 00 dla autoryzacji pozytywnej 22
Parametr mdstatus zawiera informacje na temat uwierzytelniania 3D. Kody mdstatus: Wynik url mdstatus Opis Authenticated transaction (Full 3D) ok 1 Operacja zatwierdzona Card not participating or attempt ok 2,3,4 Karta nie obsługuje 3D (Half 3D) Authentication not available or system error fail 5,6,7,8 Autoryzacja niemożliwa do wykonania Authentication failed fail 0 Operacja odrzucona 23
3.5. Model 2 Wybór formy płatności na stronie sklepu W tym modelu sprzedawca, po skompletowaniu przez kupującego zamówienia w sklepie, umożliwia kupującemu dokonanie wyboru formy płatności na swojej stronie. W następnym kroku kupujący przekierowany jest do właściwego banku lub na stronę płatności kartą. System wymaga od sklepu w tym przypadku zamieszczenia swoich danych i danych dotyczących sprzedaży. Pola poniżej są obowiązkowe: Nazwa parametru Opis parametru ClientId Numer sprzedawcy nadany przez eservice MID Typ sprzedawcy.(dla tego modelu musi być StoreType "3d_pay_hosting_pm") Token Token przesłany z systemu patrz punkt 2.1. Pole określające typ transakcji ( Auth lub PreAuth ) patrz TranType punkt 2.3. Total Suma transakcji Metoda płatności (VISA / MASTERCARD / MAESTRO / PaymentMethod DINERS / BZWBK / INELIGO ) patrz punkt 2.2. Kod waluty zgodnie ze standardem ISO4217. Wartość liczbowa Currency reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego Strona internetowa na którą ma być przekierowanie w okurl przypadku pomyślnej procedury płatności Strona internetowa na którą ma być przekierowanie w failurl przypadku niepomyślnej procedury płatności Język formatki płatności (pl dla języka polskiego, en dla języka lang angielskiego) 24
Przykład HTTP z wymaganymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting_pm" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="paymentmethod" value="visa" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="lang" value="pl" /> </form> Po poprawnym przesłaniu danych do systemu płatniczego eservice SA nastąpi przekierowanie do strony z formularzem do wypełnienia. 25
Po poprawnym wpisaniu danych i zatwierdzeniu przez wciśnięcie przycisku Płacę, system po weryfikacji wygeneruje status transakcji, który po upływie domyślnego czasu (30s) przekieruje na odpowiedni link powrotny. Będzie to link okurl w sytuacji powodzenie transakcji lub failurl w sytuacji niepowodzenia transakcji. Poniżej przykład strony z komunikatem o pozytywnym zakończeniu transakcji, na którą, po zakończeniu domyślnego czasu (30s), zostanie przekierowana na zdefiniowany przez Merchant okurl. 26
Pola poniżej nie są obowiązkowe, można je traktować jako dodatkowe: Nazwa parametru Opis parametru Numer ID transakcji dla uwierzytelnienia 3D zostaje PayerTxnId wygenerowany przez system. (musi być zakodowany jako based64 i mieć 28 znaków) Czas oczekiwania na przekierowanie. (Domyślnie 30s jeżeli nie refreshtime jest podany) TelVoice Numer telefonu Email Adres e-mail BillToCompany Nazwa firmy BillToName Nazwa sprzedawcy BillToStreet1 Adres sprzedawcy BillToStreet2 Adres 2 linii BillToStreet3 Adres 3 linii BillToStateProv Region BillToCity Miasto 27
BillToPostalCode Kod pocztowy BillToCountry ISO03166 Kod kraju (dla Polski 616) ShipToCompany Nazwa firmy do której ma być dostarczane zamówienie ShipToName Osoba kontaktowa do przyjęcia zamówienia ShipToStreet1 Adres dostarczenia zamówienia ShipToStreet2 Adres 2 linii ShipToStreet3 Adres 3 linii ShipToStateProv Region dostarczenia ShipToCity Miasto dostarczenia ShipToPostalCode Kod pocztowy miejsca dostarczenia ShipToCountry ISO03166 Kod kraju (dla Polski 616) ItemNumber1 Numer produktu ProductCode1 Kod produktu Qty1 Ilość Desc1 Opis Id1 ID produktu Price1 Cena Total1 Koszt całkowity Przykład HTTP z wymaganymi i opcjonalnymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting_pm" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="paymentmethod" value="visa" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="lang" value="pl" /> <input type="hidden" name="payertxnid" value="egsf658v9unpdqmksfz5j9xhv/u=" /> 28
<! Informacje o sprzedającym [Opcjonalne]--> <input type="hidden" name="telvoice" value="012345678"> <input type="hidden" name="email" value="test@test.com"> <input type="hidden" name="billtocompany" value="billing Company"> <input type="hidden" name="billtoname" value="john Smith"> <input type="hidden" name="billtostreet1" value="address line 1"> <input type="hidden" name="billtostreet2" value="address line 2"> <input type="hidden" name="billtostreet3" value="address line 3"> <input type="hidden" name="billtocity" value="warsaw"> <input type="hidden" name="billtostateprov" value="mystate"> <input type="hidden" name="billtopostalcode" value="12345"> <input type="hidden" name="billtocountry" value="616"> <! Informacje o dostawcy [Opcionalne]--> <input type="hidden" name="shiptocompany" value="shipping Company"> <input type="hidden" name="shiptoname" value="john Smith"> <input type="hidden" name="shiptostreet1" value="address line 1"> <input type="hidden" name="shiptostreet2" value="address line 2"> <input type="hidden" name="shiptostreet3" value="address line 3"> <input type="hidden" name="shiptocity" value="warsaw"> <input type="hidden" name="shiptostateprov" value="mystate"> <input type="hidden" name="shiptopostalcode" value="12345"> <input type="hidden" name="shiptocountry" value="616"> <! Pozostałe paramerty [Opcjonalne]--> <input type="hidden" name="itemnumber1" value="a5"> <input type="hidden" name="productcode1" value="a5"> <input type="hidden" name="qty1" value="3"> <input type="hidden" name="desc1" value="a5 desc"> <input type="hidden" name="id1" value="a5"> <input type="hidden" name="price1" value="6.25"> <input type="hidden" name="total1" value="7.50"> </form> 29
Zmienna PayerTxnId może przyjmować wartość: $data['payertxnid'] = trim(base64_encode(genxid())); function genxid(){ $let = "ABCDEFGIKLMNOPRSTUWXYZ"; $num = "234567890"; $xid = substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($let, rand(0,(strlen($let)-1)), 1). substr($num, rand(0,(strlen($num)-1)), 1) ; return $xid; } Powyższe parametry muszą zostać wysłane pod adres: https://testvpos.eservice.com.pl/fim/eservicegate Pola, które wyśle sprzedawca mogą być wysyłane jako ukryte. Jeśli formularz zostanie dostarczony do akceptanta nastąpi przygotowanie do zatwierdzenia płatności. Po zakończeniu tego procesu informacje na temat weryfikacji z poniższymi 30
parametrami będą kierowane do okurl strony sprzedawcy (w przypadku powodzenia transakcji) lub failurl (w przypadku gdy transakcja będzie odrzucona). Kody odpowiedzi: Nazwa parametru Opis parametru Kod odpowiedzi: Approved Zaakceptowana transakcja Response Error" Wystąpił błąd Declined Odrzucona transakcja ClientId Numer sprzedawcy nadany przekazany przez sklep StoreType Typ sprzedawcy.(dla tego modelu to "3d_pay_hosting_pm") Token przesłany z systemu przy uwierzytelnieniu merchanta Token patrz punkt 2.1. Pole określające typ transakcji ( Auth lub PreAuth ) TranType patrz punkt 2.3. Total Kwota transakcji Kod waluty zgodnie ze standardami ISO4217. Wartość Currency liczbowa reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego PaymentMethod Metoda płatności patrz punkt 2.2. mdstatus Status kodu dla uwierzytelnienia metodą 3D AuthCode Kod weryfikacji transakcji vendorcode Kod błędu dostawcy metody 3D ErrMsg Informacja o przyczynie błędu ProcReturnCode 2 cyfrowe status transakcji. 00 dla autoryzacji pozytywnej 31
Parametr mdstatus zawiera informacje na temat uwierzytelniania 3D. Kody mdstatus: Wynik url mdstatus Opis Authenticated transaction (Full 3D) ok 1 Operacja zatwierdzona Card not participating or attempt ok 2,3,4 Karta nie obsługuje 3D (Half 3D) Authentication not available or system error fail 5,6,7,8 Autoryzacja niemożliwa do wykonania Authentication failed fail 0 Operacja odrzucona 32
3.6. Metoda automatycznego powiadamiana sklepu o zmianie statusu zamówienia Model automatycznego powiadomienia sklepu o zmianie statusu zamówienia dotyczy głównie d-przelewów oraz niektórych e-przelewów. Występują tylko w sytuacji gdy klient musi dokonać przelewu, a bank od razu nie dokonuje transakcji tylko wystawia status na oczekujący (pending). Aby uzyskać automatyczny status powiadomienia o zmianie statusu należy wysłać następujące pola: Pola poniżej są obowiązkowe: Nazwa parametru Opis parametru ClientId Numer sprzedawcy nadany przez eservice MID Typ sprzedawcy.(dla modelu 1 musi być "3d_pay_hosting"; dla StoreType modelu 2 musi być "3d_pay_hosting_pm".) Token Token przesłany z systemu patrz punkt 2.1. TranType Pole musi zawierać Auth lub PreAuth Total Kwota transakcji Kod waluty zgodnie ze standardami ISO4217. Wartość liczbowa Currency reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy Strona internetowa na którą ma być przekierowanie okurl w przypadku pomyślnej procedury płatności Strona internetowa na którą ma być przekierowanie failurl w przypadku niepomyślnej procedury płatności Strona internetowa na którą ma być przekierowanie pendingurl w przypadku oczekującej procedury płatności ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego Język formatki płatności (pl dla języka polskiego, en dla języka lang angielskiego) 33
Przykład HTTP z wymaganymi parametrami dla modelu 1. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="pendingurl" value="https:// www.teststore.com /pending.php" /> <input type="hidden" name="lang" value="pl" /> </form> Przykład HTTP z wymaganymi parametrami dla modelu 2. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting_pm" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="pendingurl" value="https:// www.teststore.com /pending.php" /> <input type="hidden" name="lang" value="pl" /> </form> Po poprawnym przesłaniu danych do systemu płatniczego eservice nastąpi przekierowanie do strony wyboru sposobu płatności. Przykładowa strona zamieszczona jest poniżej. Następnie klient wybiera sposób płatności i zostaje przekierowany do wybranego banku. 34
Poniżej przykład strony z komunikatem o pozytywnym zakończeniu transakcji. Klient zostanie przekierowany na zdefiniowany przez Merchanta pendingurl, skrypt z obsługą operacji oczekującej. 35
Powyższe parametry muszą zostać wysłane pod adres: https://testvpos.eservice.com.pl/fim/eservicegate Pola, które wyśle Merchant mogą być wysyłane jako ukryte. Po zakończeniu tego procesu informacje na temat weryfikacji z poniższymi parametrami będą kierowane do pendingurl strony opisującej oczekiwanie na przelew. Pola odpowiedzi przychodzące do Merchanta: Nazwa parametru Opis parametru Kod odpowiedzi: Response Pending transakcja oczekująca ClientId Numer sprzedawcy nadany przekazany przez sklep Token przesłany z systemu przy uwierzytelnieniu merchanta Token patrz punkt 2.1. 36
Pole określające typ transakcji ( Auth lub PreAuth ) TranType patrz punkt 2.3. Total Kwota transakcji Kod waluty zgodnie ze standardami ISO4217. Wartość Currency liczbowa reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego PaymentMethod Metoda płatności patrz punkt 2.2. przelewy Następnie po zmianie statusu w systemie akceptanta z oczekującego na zatwierdzony zostanie automatycznie wysłana informacja na okurl o zatwierdzeniu transakcji. Na okurl zostanie wysłana informacja zawierająca: Nazwa parametru Opis parametru Kod odpowiedzi: Response Approved transakcja zaakceptowana ClientId Numer sprzedawcy nadany przekazany przez sklep Token przesłany z systemu przy uwierzytelnieniu merchanta Token patrz punkt 2.1. Pole określające typ transakcji ( Auth lub PreAuth ) TranType patrz punkt 2.3. Total Kwota transakcji Kod waluty zgodnie ze standardami ISO4217. Wartość Currency liczbowa reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego PaymentMethod Metoda płatności patrz punkt 2.2. przelewy 37
3.7. Metoda płatności PayPal Integracja płatności PayPal z eservice zachodzi według modelu 1. Aby uzyskać możliwość procesowania transakcji z wykorzystaniem systemu PayPal merchant musi być zarejestrowany i posiadać aktywne konto w systemie PayPal. Dodatkowo należy zdefiniować w systemie informację o rodzaju dostarczanych usług. Należy zdefiniować czy merchant sprzedaje tzw. dobra wirtualne czy dobra materialne. Jest to parametr niezbędny do prawidłowego dziania sytemu płatności PayPal. 3.7.1. Tworzenie konta PayPal dla środowiska testowego 3.7.2. Procedura testów dla środowiska testowego PayPal Sprzedawca, po skompletowaniu przez kupującego zamówienia w sklepie, przekierowuje go na główna stronę płatności eservice, gdzie dokonywany jest wybór jednej z dostępnych form płatności. System wymaga od sklepu w tym przypadku zamieszczenia swoich danych i danych dotyczących sprzedaży. Pola poniżej są obowiązkowe: Nazwa parametru Opis parametru ClientId Numer sprzedawcy nadany przez eservice MID StoreType Typ sprzedawcy.(dla tego modelu musi być "3d_pay_hosting") 38
Token Token przesłany z systemu patrz punkt 2.1. TranType Pole musi zawierać Auth lub PreAuth patrz punkt 2.3. Total Kwota transakcji Kod waluty zgodnie ze standardami ISO4217. Wartość liczbowa Currency reprezentowane jako ciąg znaków. Dla PLN - 985. OrderId Unikalny numer zamówienia sprzedawcy ConsumerName Imię kupującego ConsumerSurename Nazwisko kupującego Strona internetowa na którą ma być przekierowanie w okurl przypadku pomyślnej procedury płatności Strona internetowa na którą ma być przekierowanie w failurl przypadku niepomyślnej procedury płatności Język formatki płatności (pl dla języka polskiego, en dla języka lang angielskiego) Przykład HTTP z wymaganymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="lang" value="pl" /> </form> Po poprawnym przesłaniu danych do systemu płatniczego eservice nastąpi przekierowanie do strony wyboru sposobu płatności. Przykładowa strona zamieszczona jest poniżej. Pojawienie się tej strony świadczy o poprawnym przekazaniu niezbędnych informacji 39
do rozpoczęcia procesu płatności. Następnie klient wybiera sposób płatności wyświetlane mu jest odpowiednie okno z formularzem do wypełnienia, lub przekierowany jest do wybranego banku (przelewy). Dla wersji z obsługą kart płatniczych (MID: 720000001111107) pojawi się strona zamieszczona poniżej. Poniżej strona z wyborem płatności na której klient może wybrać metodę PayPal: Przykład komunikatu dla zapytania o token z wymaganymi parametrami: <input type="hidden" name="token" value="0f4a21d16d754afa9282e6e2cdfe3acb"> <input type="hidden" name="lang" value="pl"> <input type="hidden" name="xid" value="jjv3e2dk4gtuk2ekveh8n2lb/ly="> <input type="hidden" name="currency" value="985"> <input type="hidden" name="storetype" value="3d_pay_hosting"> <input type="hidden" name="total" value="9,95"> <input type="hidden" name="okurl" value="http://dev-tool.com/eservice/php/teststore.php"> 40
<input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="ipaddress" value="62.233.165.73"> <input type="hidden" name="password" value="123456"> <input type="hidden" name="clientid" value="720000001111101"> <input type="hidden" name="consumername" value="michal"> <input type="hidden" name="orderid" value="rpaw-64"> <input type="hidden" name="failurl" value="http://dev-tool.com/eservice/php/teststore.php"> <input type="hidden" name="trantype" value="auth"> <input type="hidden" name="consumersurname" value="smith"> <input type="hidden" name="failcount" value="0"> <input type="hidden" name="paymentmethod" value=""> Przykład HTTP z wymaganymi parametrami dla transakcji PayPal: <input type="hidden" name="response" value="pending"> <input type="hidden" name="token" value="ec-0hn38695mf9539819"> <input type="hidden" name="ipaddress" value="62.233.165.73"> <input type="hidden" name="oid" value="rpaw-65"> <input type="hidden" name="clientid" value="720000001111101"> <input type="hidden" name="lang" value="pl"> <input type="hidden" name="payerid" value="63fwqqf3f2dm4"> <input type="hidden" name="paypal" value="1"> <input type="hidden" name="response" value="pending"> <input type="hidden" name="paypal.pendingmsg" value="pending unilateral"> <input type="hidden" name="paypal.transid" value="2jp22245678265332"> <input type="hidden" name="clientid" value="720000001111101"> <input type="hidden" name="transid" value="112381010470810036"> <input type="hidden" name="trantype" value="auth"> <input type="hidden" name="paymentmethod" value="paypal"> <input type="hidden" name="procreturncode" value=""> <input type="hidden" name="total" value="9.95"> <input type="hidden" name="currency" value="pln"> <input type="hidden" name="orderid" value="rpaw-65"> <input type="hidden" name="consumername" value="eservice"> <input type="hidden" name="consumersurname" value="eservice"> <input type="hidden" name="email" value="adres email wprowadzony przez Merchanta w konfiguracji PayPal, np. Jan.kowalski@adres.pl"> <input type="hidden" name="rnd" value="9hmrfpljowzjeqojjgka"> <input type="hidden" name="errmsg" value=""> <input type="hidden" name="hashparams" value="clientid:orderid:procreturncode:response:rnd:"> <input type="hidden" name="hashparamsval" value="720000001111101rpaw-65pending9hmrfpljowzjeqojjgka"> <input type="hidden" name="hash" value="0vqrnpm0ciykz7mugqsurfnefqe="> Przykład HTTP z wymaganymi parametrami dla transakcji PayPal. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> 41
<input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="pendingurl" value="https:// www.teststore.com /pending.php" /> <input type="hidden" name="lang" value="pl" /> </form> Przykład HTTP z wymaganymi i opcjonalnymi parametrami. <form method="post" action="https://testvpos.eservice.com.pl/fim/eservicegate"> <input type="hidden" name="clientid" value="720000001111101"/> <input type="hidden" name="storetype" value="3d_pay_hosting_pm" /> <input type="hidden" name="token" value="16bf1b3fce6f43d48ddb5a0b813bccd2" /> <input type="hidden" name="trantype" value="auth" /> <input type="hidden" name="paymentmethod" value="visa" /> <input type="hidden" name="total" value="9.95" /> <input type="hidden" name="currency" value="985" /> <input type="hidden" name="orderid" value="2010122814122383" /> <input type="hidden" name="consumername" value="michał" /> <input type="hidden" name="consumersurname" value="smith"/> <input type="hidden" name="okurl" value=" https://www.teststore.com/ok.php " / > <input type="hidden" name="pendingurl" value=" https://www.teststore.com/pending.php " / > <input type="hidden" name="failurl" value="https:// www.teststore.com /fail.php" /> <input type="hidden" name="lang" value="pl" /> <input type="hidden" name="payertxnid" value="egsf658v9unpdqmksfz5j9xhv/u=" /> <! Informacje o sprzedającym [Opcjonalne]--> <input type="hidden" name="telvoice" value="012345678"> <input type="hidden" name="email" value="test@test.com"> <input type="hidden" name="billtocompany" value="billing Company"> <input type="hidden" name="billtoname" value="john Smith"> <input type="hidden" name="billtostreet1" value="address line 1"> <input type="hidden" name="billtostreet2" value="address line 2"> 42
<input type="hidden" name="billtostreet3" value="address line 3"> <input type="hidden" name="billtocity" value="warsaw"> <input type="hidden" name="billtostateprov" value="mystate"> <input type="hidden" name="billtopostalcode" value="12345"> <input type="hidden" name="billtocountry" value="616"> <! Informacje o dostawcy [Opcionalne]--> <input type="hidden" name="shiptocompany" value="shipping Company"> <input type="hidden" name="shiptoname" value="john Smith"> <input type="hidden" name="shiptostreet1" value="address line 1"> <input type="hidden" name="shiptostreet2" value="address line 2"> <input type="hidden" name="shiptostreet3" value="address line 3"> <input type="hidden" name="shiptocity" value="warsaw"> <input type="hidden" name="shiptostateprov" value="mystate"> <input type="hidden" name="shiptopostalcode" value="12345"> <input type="hidden" name="shiptocountry" value="616"> <! Pozostałe paramerty [Opcjonalne]--> <input type="hidden" name="itemnumber1" value="a5"> <input type="hidden" name="productcode1" value="a5"> <input type="hidden" name="qty1" value="3"> <input type="hidden" name="desc1" value="a5 desc"> <input type="hidden" name="id1" value="a5"> <input type="hidden" name="price1" value="6.25"> <input type="hidden" name="total1" value="7.50"> </form> Po poprawnym przesłaniu danych do systemu płatniczego eservice nastąpi przekierowanie do strony systemu PayPal. Warunkiem dokończenia transakcji jest wprowadzenie danych adresu email i hasła umożliwiających logowanie do systemu płatności PayPal. Przykładowa strona zamieszczona jest poniżej. 43
Po pozytywnej weryfikacji danych logowania system przenosi płatnika do strony żądające potwierdzenia operacji płatności. 44
Kontynuacja płatności jest możliwa poprzez akceptację na dole strony. Kolejny krok to wprowadzenie danych karty, na podstawie której realizowana będzie płatność. Przykładowy formularz poniżej. Zakończenie procesu płatności PayPal powoduje dodanie transakcji po stronie systemu eservice, informacja dla Merchanta będzie dostępna w Panelu Administracyjnych Merchnata. 4. Przejście do systemu produkcyjnego Po pozytywnie zakończonym etapie integracji z systemem testowym należy zgłosić ten fakt na adres osc@eservice.com.pl w celu uzyskania danych do przełączenia się na produkcję. Ważną daną będzie podanie numeru telefonu kontaktowego, na który zostanie przekazane hasło dostępu do systemu produkcyjnego dla konkretnego 45
ClientId. W informacji zwrotnej e-mail zostaną podane wszystkie pozostałe niezbędne dane do przejścia na produkcję. Po uzyskaniu danych produkcyjnych i wprowadzeniu ich w Państwa sklepie internetowym należy przesłać drogą e-mail (osc@eservice.com.pl), adres strony www sklepu z zaimplementowaną płatnością elektroniczną oraz krótką informację jak dokonać operacji płatniczej. Próba płatności, która zostanie przeprowadzona zostanie odrzucona przez bank lub organizację płatniczą. Po zweryfikowaniu tej funkcjonalności zostanie wysłany na adres zwrotny e-mail dokument Potwierdzenie Wdrożenia Oprogramowania, które należy podstemplować, podpisać i odesłać skan na adres e-mail osc@eservice.com.pl Po dopełnieniu wszystkich formalności zostaną Państwo uruchomieni produkcyjnie. 4.1. Tworzenie konta PayPal dla środowiska produkcyjnego 4.1.1 Załóż konto firmowe PayPal Dokonasz tego szybko i bezpłatnie, klikając przycisk Załóż konto na stronie www.paypal.pl. Podczas zakładania konta konieczna będzie akceptacja standardowej Umowy z Użytkownikiem usługi PayPal, która określa zasady współpracy Twojej firmy z firmą PayPal. Krok związany z dodawaniem karty kredytowej możesz anulować. Potwierdź adres e-mail przypisany do konta PayPal Merchanta. 4.1.2 Dodaj rachunek bankowy Zaloguj się do swojego konta PayPal. Na karcie Moje konto z menu Profil wybierz polecenie Dodaj lub usuń rachunek bankowy. Dodanie rachunku bankowego służy m.in. do weryfikacji konta PayPal Merchanta. 4.1.3. Skonfiguruj swoje konto firmowe PayPal do odbioru płatności za pośrednictwem platformy eservice Zaloguj się do swojego konta PayPal. 46
Na karcie Moje konto z menu Profil wybierz polecenie Więcej opcji. Wykonaj następujące instrukcje, w zależności od widoku profilu: Wersja klasyczna (opcje główne zgrupowane są w trzech kolumnach, zatytułowanych: Informacje o koncie, Informacje finansowe i Preferencje sprzedaży) W lewej kolumnie, zatytułowanej Informacje o koncie, kliknij łącze Dostęp do API. Wersja nowa (opcje główne zgrupowane są w sekcjach panelu po lewej: Dane mojej firmy, Moje pieniądze, Moje ustawienia i Moje narzędzia sprzedaży) W panelu po lewej kliknij łącze sekcji Moje narzędzia sprzedaży. W sekcji Sprzedaż w Internecie (jeśli jest zwinięta, kliknij znak plusa na lewo od jej tytułu) obok opcji Dostęp do API kliknij łącze Zaktualizuj. W sekcji Opcja 1 po lewej kliknij łącze Dodaj lub edytuj uprawnienia dostępu do API. Kliknij przycisk Dodaj nową inną firmę. W polu Nazwa użytkownika dla uprawnień innej firmy wprowadź paypal_api1.eservice.com.pl i kliknij przycisk Sprawdź: Na liście dostępnych uprawnień zaznacz opcje wymienione poniżej i kliknij przycisk Dodaj: Przetwarzanie płatności z wykorzystaniem ekspresowej realizacji transakcji Dokonywanie zwrotu pieniędzy dla konkretnej transakcji Uzyskiwanie informacji dotyczących transakcji Przeszukiwanie Twoich transakcji pod kątem przedmiotów spełniających określone kryteria i wyświetlanie wyników Autoryzowanie i pobieranie środków dotyczących Twoich transakcji PayPal 4.1.4. Aktywuj płatności PayPal po stronie eservice Prześlij adres email przypisany do Twojego konta PayPal do firmy eservice na adres : Uruchomienie_PayPal@eservice.com.pl W momencie aktywacji płatności PayPal przez firmę eservice konfiguracja PayPal jest zakończona. 47
5. Zarządzanie transakcjami Zarządzanie transakcjami dokonanymi przez eservice Payment Gateway możliwe jest na kilka sposobów, w zależności od zaawansowania systemów wewnętrznych sklepu. 5.1. Zarządzanie transakcjami przez Panel Administracyjny Akceptanta (model podstawowy) Podstawowym i domyślnym narzędziem do obsługi transakcji przez sklep jest Panel Administracyjny Akceptanta, do którego sklep dostaje dostęp podczas wdrożenia. Panel jest narzędziem stosowanym przez małe i średnie sklepy internetowe. Dostęp do Panelu umożliwia dokonywanie poniższych grup operacji związanych bezpośrednio z transakcjami: operacje uzupełniające dokonywane po transakcji kupującego (Przekazanie transakcji do rozliczenia, Unieważnienie, Zwrot), pozyskiwanie informacji o statusie operacji, pozyskiwanie informacji o historii operacji. Ponadto, dzięki dostępowi do Panelu można wykonywać czynności dodatkowe, w tym m.in.: obsługa transakcji telefonicznych, Call Center, generowanie raportów transakcyjnych, administracja Panelem - tworzenie użytkowników Panelu i nadawanie im odpowiednich uprawnień (np. dla pracowników sklepu, zarządzających biznesem), wybór wersji językowych Panelu. 48