Płatności mobilne Przelewy24

Podobne dokumenty
Płatności mobilne Przelewy24

Płatności mobilne Przelewy24

ibosstoken Proces obsługi (wydawania, personalizacji i korzystania) Tokena mobilnego do systemu BOŚBank24 iboss

INSTRUKCJA UŻYTKOWANIA USŁUGI mobile e-bank EBS

Instrukcja instalacji wtyczki Przelewy24

Instrukcja instalacji wtyczki Przelewy24

Instrukcja użytkowania KB tokena

Instrukcja instalacji wtyczki Przelewy24 dla Magento 2.X

INSTRUKCJA OBSŁUGI PEKAOTOKENA DLA UŻYTKOWNIKÓW PEKAO24

Instrukcja instalacji wtyczki Przelewy24 dla Magento 2.X

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Instrukcja użytkownika

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Przewodnik dla użytkownika. Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

INSTRUKCJA INSTALACJI MODUŁU

Panel Administracyjny Spis treści:

Instrukcja instalacji wtyczki Przelewy24

Instrukcja instalacji wtyczki Przelewy24

Pierwsze kroki Statusy transakcji Zwrot płatności przelewem lub kartą Odbiór wpłat Czas realizacji płatności...

Instrukcja dostępu do usługi Google Scholar

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA. Przewodnik dla użytkownika

INSTRUKCJA OBŁUGI APLIKACJI ASSECO MAA

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

elektroniczna Platforma Usług Administracji Publicznej

Instrukcja użytkownika

Instrukcja użytkownika

Przewodnik użytkownika dla usługi CUI Klient indywidualny (CBP)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

INSTRUKCJA UŻYTKOWNIKA

INSTRUKCJA OTWARCIA RACHUNKU ALIOR TRADER PRZEZ INTERNET

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA

Internetowy serwis Era mail Aplikacja sieci Web

Instrukcja uruchomienia i korzystania z mtoken Asseco MAA na urządzeniach mobilnych oraz powiązania z Asseco CBP

Specyfikacja Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.

Płatności CashBill - SOTE

Instrukcja użytkownika tokena mobilnego (mtokena) systemu KBI

Obsługa bankowości mobilnej MobileBanking

Dokumentacja techniczna - PBL

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.

Instrukcja instalacji wtyczki Przelewy24

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA klient korporacyjny

Instrukcja obsługi Modułu Payu dla Moodle 2.x

Voicer. SPIKON Aplikacja Voicer V100

Platforma e-learningowa

PRZEWODNIK UŻYTKOWNIKA PO PORTALU KARTOWYM KARTOSFERA

Comarch isklep24 Ulotka v. 5.1

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Kalipso wywiady środowiskowe

akademia androida Intencje oraz URI część III

Przewodnik Google Cloud Print

INSTRUKCJA ZMIANY METODY AUTORYZACJI W SERWISIE KB24

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Instrukcja obsługi IBOM - dla Interesanta

Program dla praktyki lekarskiej

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

PODRĘCZNIK UŻYTKOWNIKA programu Pilot

Instrukcja instalacji wtyczki Przelewy24

System epon Dokumentacja użytkownika

INSTRUKCJA OBSŁUGI PANELU ADMINISTRACYJNEGO MÓJ DOTPAY v0.1

Instrukcja instalacji wtyczki Przelewy24

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Shoper (plugin dostępny w wersji ecommerce)

PŁATNOŚCI. w Magento 2.x. Wersja: 1.1

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Autoryzacja zleceń z użyciem aplikacji Java Web Start "Pocztowy24Podpis"

HP Designjet Partner Link. Instrukcje

REJESTRACJA, LOGOWANIE I USTAWIENIA PROFILU

Instrukcja użytkownika Platformy Walutowej

Instrukcja instalacji wtyczki Przelewy24

Spis treści REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA PANEL ZMIANY HASŁA PANEL EDYCJI DANYCH UŻYTKOWNIKA EXTRANET.NET...

Przewodnik użytkownika dla usługi CUI Klient indywidualny (CBP) 2. Rejestracja użytkownika przy użyciu hasła maskowalnego dla klientów

Jak się zalogować do Pocztowy24 Biznes

INSTRUKCJA INSTALACJI MODUŁU

Instrukcja użytkownika. Aplikacja mysafety Mobile i mysafety e-sticker_wersja WSTĘP... 2

Instrukcja instalacji wtyczki Przelewy24

PODRĘCZNIK UŻYTKOWNIKA PO PORTALU KARTOWYM KARTOSFERA

Użytkowniku programu FINKA, przekazujemy E-book, który omawia najważniejsze kwestie dotyczące generowania i wysyłania JPK.

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Instrukcja uruchomienia i korzystania z mtoken Asseco MAA na urządzeniach mobilnych oraz powiązania z Asseco CBP

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym IAI-Shop (plugin dostępny w wersji ecommerce)

elektroniczna Platforma Usług Administracji Publicznej

1. Składanie wniosku rejestracyjnego - rejestracja konta użytkownika/firmy

(v lub nowsza)

Certyfikat kwalifikowany

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

INSTRUKCJA obsługi certyfikatów

Instrukcja użytkownika Platforma Walutowa

Obsługa bankowości mobilnej MobileBanking

Moduł integrujący serwis Korporacji Kurierskiej z programem WF-MAG Instrukcja użytkowania

Płatności CashBill - cstore

INSTRUKCJA INSTALACJI I AKTYWACJI KB TOKENA

Instrukcja logowania do systemu e-bank EBS

Aplikacja do podpisu cyfrowego npodpis

Silne uwierzytelnianie dla klienta instytucjonalnego

INSTRUKCJA INSTALACJI MODUŁU

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Synchronizator plików (SSC) - dokumentacja

Transkrypt:

Opracował: Arkadiusz Płatności mobilne Przelewy24 Specyfikacja techniczna Data: 2015-08-27 Wersja: 2.0.4 Dokument zawiera opis rozwiązań płatności Przelewy24 możliwych do implementacji w aplikacjach mobilnych. Opisane zostały sposoby realizacji płatności, warianty konfiguracyjne, oraz szczegółowa instrukcja implementacji w aplikacji mobilnej. Ogólne przykłady konfiguracji bibliotek mobilnych podane są w języku Java (Android). W kolejnych sekcjach dokumentu można znaleźć szczegółowe przykłady dla każdej platformy. W wielu miejscach niniejsza dokumentacja odnosi się do dokumentacji płatności www. Dokument ten można pobrać pod adresem http://www.przelewy24.pl/files/cms/2/przelewy24_specyfikacja_3_2.pdf. Dokumentacja odnosi się do bibliotek mobilnych w wersjach: Android v. 2.0.5, ios v. 2.0.2, Windows Phone v. 2.0.0 UWAGA! Aby otrzymywać powiadomienia o aktualizacjach bibliotek mobilnych, należy wysłać na adres partner@przelewy24.pl wiadomość o treści "Proszę o dopisanie adresu (tu podać e-mail) do listy mailingowej informującej o aktualizacjach bibliotek mobilnych.", podając swój e-mail kontaktowy. Na podany adres będą przesyłane wyłącznie informacje o aktualizacjach bibliotek, nie będzie on wykorzystywany do wysyłania żadnych informacji marketingowych. Strona 1 z 27

Opracował: Arkadiusz Spis treści 1 Natywne biblioteki mobilne (Android, ios i Windows Phone SDK)...4 1.1 Opis zastosowania...4 1.2 Jak wygląda przebieg transakcji przy użyciu biblioteki mobilnej?...4 1.3 Jak zaimplementować w aplikacji płatność one click kartą?...5 1.4 Jak zainicjować płatność biblioteką mobilną?...7 1.4.1 Wejście bezpośrednio z danymi transakcji...7 1.4.2 Wejście z tokenem transakcji...7 1.5 Jak uruchomić transakcję z konkretną metodą płatność?...8 1.6 Jak ustawić konkretny kanał płatności?...8 1.7 Jak uruchomić tryb testowy?...8 1.8 Jak zweryfikować poprawność transakcji?...9 1.8.1 Weryfikacja za pośrednictwem serwera partnera...9 1.8.2 Weryfikacja wewnątrz systemu Przelewy24...9 1.9 Jak włączyć responsywne strony banków?...10 1.10 Jak włączyć zapamiętywanie haseł do banków?...10 1.11 Jak ustawić domyślnie zapamiętywanie haseł do banków?...10 1.12 Jak włączyć automatyczne kopiowanie haseł SMS?...10 1.13 Jak automatycznie powrócić do aplikacji w momencie zakończenia transakcji?...11 1.14 Jak ograniczyć klientowi czas dostępny na zrealizowanie płatności?...11 1.15 Jak anulować płatność i wrócić do aplikacji?...11 1.16 Jak ustawić styl ActionBar biblioteki dla Androida < 3.0...11 2 Definicje...12 3 Integracja biblioteki Android w projekcie aplikacji...12 3.1 Konfiguracja projektu...12 3.2 Konfiguracja biblioteki...13 3.3 Wywołanie transakcji...14 3.4 Obfuskacja projektu aplikacji...15 Strona 2 z 27

Opracował: Arkadiusz 3.5 Znane błędy...16 4 Integracja biblioteki ios w projekcie aplikacji...16 4.1 Konfiguracja projektu...16 4.2 Konfiguracja biblioteki...17 4.3 Wywołanie transakcji...18 5 Integracja biblioteki Windows Phone w projekcie aplikacji...19 5.1 Konfiguracja projektu...19 5.2 Konfiguracja biblioteki...20 5.3 Wywołanie transakcji...21 Strona 3 z 27

Opracował: Arkadiusz 1 Natywne biblioteki mobilne (Android, ios i Windows Phone SDK) 1.1 Opis zastosowania Natywne biblioteki mobilne Andorid, ios i Windows Phone umożliwiają wykonanie płatności wewnątrz aplikacji mobilnej, bez konieczności przełączania użytkownika między aplikacją a przeglądarką lub inną aplikacją. Cały proces płatności odbywa się w jednym oknie aplikacji. W bibliotekach dostępne są różne metody płatności: przelewy bankowe (automatyczne pay-by-link i półautomatyczne), karty płatnicze, wirtualne portfele (np. PayPal, SkyCash, ) i inne. 1.2 Jak wygląda przebieg transakcji przy użyciu biblioteki mobilnej? Po wywołaniu płatności na ekranie smartfonu pojawia się okno płatności zawierające kontrolkę WebView z załadowanym serwisem transakcyjnym przelewy24.pl. Po wybraniu metody płatności w tym samym oknie ładuje się strona wybranego banku/metody, gdzie użytkownik loguje się do swojego konta, albo podaje konieczne dane potrzebne do płatności (w przypadku płatności kartą i innych metod, np. BLIK). Następnie użytkownik zatwierdza płatność i zostaje przekierowany na ekran oczekiwania na potwierdzenie zaksięgowania wpłaty. Rysunek 1: Przebieg procesu płatności z wykorzystaniem biblioteki mobilnej Po wykonaniu płatności, system Przelewy24 wysyła na adres p24_url_status (serwer sprzedawcy/aplikacji) potwierdzenie wpłaty. Dla potwierdzenia wiarygodności transakcji w odpowiedzi na potwierdzenie wpłaty system partnera weryfikuje wynik żądaniem zwrotnym. Strona 4 z 27

Opracował: Arkadiusz W momencie gdy system partnera wykona połączenie weryfikacyjne, na ekranie smartfona pojawia się informacja o poprawnej wpłacie, użytkownik może wrócić do aplikacji ze statusem poprawnej wpłaty. Rysunek 2: Proces płatności przelewem w bibliotece mobilnej Android 1.3 Jak zaimplementować w aplikacji płatność one click kartą? Płatność one click kartą w aplikacji mobilnej polega na możliwości zapamiętania w aplikacji kart wykorzystanych przy poprzednich płatnościach. Taką kartę można wyświetlić w Strona 5 z 27

Opracował: Arkadiusz aplikacji jako osobną formę płatności. W momencie wybrania tej karty, aplikacja wywołuje natychmiast żądanie bezpośredniego obciążenia karty daną kwotą i płatność zostaje zrealizowana w ciągu kilku sekund, bez konieczności ponownego podawania danych karty. Rysunek 3: Płatność "one click" w aplikacji Android Technicznie proces płatności one-click wymaga współpracy trzech systemów: aplikacji mobilnej, serwera partnera, oraz WebService Przelewy24 do rekurencji na kartach. UWAGA: Do realizacji one-click niezbędna jest odpowiednia umowa z operatorem kart płatniczych prosimy o kontakt z Działem Handlowym Przelewy24 (partner@przelewy24.pl, +48 61 642 93 45). Proces one click jest podzielony na etapy: Najpierw użytkownik wykonuje płatność kartą w aplikacji za pomocą biblioteki mobilnej. W momencie, gdy transakcja jest potwierdzana przez system Przelewy24 (komunikat na p24_url_status), serwer partnera dokonuje weryfikacji. Serwer partnera odpytuje WebService Przelewy24 (metoda GetTransactionReference) podając ID transakcji otrzymanej w połączeniu weryfikacyjnym, otrzymuje w ten sposób refid karty, przy pomocy której została wykonana wpłata. Serwer partnera odpytuje WebService (metoda CheckCard) podając refid, aby sprawdzić czy dana karta udostępnia płatności rekurencyjne. Jeżeli karta udostępnia rekurencję, to serwer partnera zapisuje w bazie danych refid karty i przypisuje ją do konta użytkownika, który wykonał płatność. Strona 6 z 27

Opracował: Arkadiusz Przy kolejnej płatności w aplikacji mobilnej, aplikacja pobiera z serwera listę zapamiętanych dla danego użytkownika kart i prezentuje ją jako metoda płatności obok płatności przelewem i dowolną kartą ( Rysunek). Użytkownik wybiera kartę z listy, aplikacja łączy się z serwerem partnera, serwer partnera wywołuje WebService P24 (metoda ChargeCard), system P24 dokonuje obciążenia karty i zwraca status (ok/error). Aby zaimplementować płatność one click w aplikacji, konieczne jest zaimplementowanie komunika 1.4 Jak zainicjować płatność biblioteką mobilną? Aby zainicjować płatność należy odpowiednio skonfigurować obiekty klas P24Config, P24Payment i P24. Biblioteka umożliwia zainicjowanie transakcji na dwa sposoby: podając dane transakcji bezpośrednio w bibliotece, oraz rejestrując wcześniej transakcję i przekazując do biblioteki tylko token transakcji. Przykładowe kody implementujące konfigurację biblioteki można znaleźć w rozdziałach 3, 4 i 5. 1.4.1 Wejście bezpośrednio z danymi transakcji Aby zainicjować transakcję bezpośrednio parametrami płatności, należy utworzyć obiekt konfiguracyjny (P24Config) i podać w nim id partnera i kod CRC (dostępny w panelu partnera). Następnie należy utworzyć obiekt P24Payment i podać w nim dane o transakcji: kwotę (wyrażoną w groszach), walutę (np. PLN ), e-mail klienta, oraz id sesji (unikalne dla każdej transakcji). Dodatkowo w obiekcie P24Payment można podać dane adresowe klienta (nazwisko, adres, miasto, kod pocztowy, kraj), które są wymagane dla płatności kartą, oraz opis transakcji, który będzie wyświetlany w panelu transakcyjnym Przelewy24. W zależności od konfiguracji trybu weryfikacji transakcji, należy w obiekcie P24Payment podać adres p24_url_status. Tryby weryfikacji transakcji są opisane w punkcie 1.8. Następnie należy wywołać okno płatności. Sposób wywołania okna płatności na każdej platformie opisany jest w punktach 3.3, 4.3 i 5.3. 1.4.2 Wejście z tokenem transakcji Możliwe jest zarejestrowanie transakcji za pomocą osobnego zapytania z serwera partnera. Opis rejestracji transakcji znajduje się w punkcie 5.1 dokumentacji płatności www. Przy rejestracji transakcji, jeżeli ma być ona wykonana w bibliotece mobilnej, należy dodać parametr p24_mobile_lib=1. W wyniku rejestracji transakcji otrzymujemy TOKEN. Aby skonfigurować bibliotekę na wejście z tokenem nie należy ustawiać żadnych danych w obiektach P24Config i P24Payment, tylko w obiekcie P24Payment podać TOKEN transakcji. Sposób ustawienia tokenu na każdej platformie opisany jest w punktach 3.2, 4.2 i 5.2. Strona 7 z 27

Opracował: Arkadiusz UWAGA rejestrując transakcję, która będzie wykonana w bibliotece mobilnej należy pamiętać o dodatkowych parametrach: p24_channel jeżeli nie będzie ustawiony, to domyślnie w bibliotece pojawią się formy płatności przelew tradycyjny i użyj przedpłatę, które są niepotrzebne przy płatności mobilnej. Aby wyłączyć te opcje należy ustawić w tym parametrze flagi nie uwzględniające tych form (np. wartość 3 przelewy i karty, domyślnie ustawione w bibliotece przy wejściu bezpośrednio z parametrami), p24_method jeżeli w bibliotece dla danej transakcji ma być ustawiona domyślnie dana metoda płatności, należy ustawić ją w tym parametrze przy rejestracji, oraz w bibliotece (P24Payment.setMethod). 1.5 Jak uruchomić transakcję z konkretną metodą płatność? Aby biblioteka wybrała automatycznie konkretną metodę płatności, należy podać id formy płatności w parametrze method. Można w ten sposób wyciągnąć wybór form płatności do aplikacji, jeszcze przed wejściem do biblioteki (tak jak np. na rys. Rysunek). p24payment.setmethod("xxx"); W przypadku konfiguracji z użyciem tokena (pkt. 1.4.2), metodę płatności należy podać również podczas rejestracji transakcji (parametr p24_method). Jeżeli ustawiona metoda płatności w danym momencie jest nieaktywna, to zostanie wyświetlona pełna lista form płatności. 1.6 Jak ustawić konkretny kanał płatności? Jest możliwość ustawienia w bibliotece konkretnych kanałów płatności, jak np. płatność tylko kartą, płatność tylko przelewem. W tym celu należy ustawić flagę kanału w parametrze p24channel. p24config.setp24channel(p24config.p24_channel_transfers); Szczegółowy opis ustawienia kanałów płatności znajduje się w punkcie 5.1 dokumentacji płatności www (parametr p24_channel). Domyślna wartość to P24Config.P24_CHANNEL_CARDS P24Config.P24_CHANNEL_24_7 1.7 Jak uruchomić tryb testowy? W trybie testowym możliwe jest zweryfikowanie poprawnej implementacji biblioteki i procesu weryfikacji transakcji, bez konieczności wykonywania przelewu. Po wybraniu dowolnej formy z listy system pominie proces logowania do banku i wyświetli transakcję jako zaksięgowaną poprawnie. Aby testować bibliotekę na środowisku SANDBOX, należy ustawić tryb testowy w obiekcie P24Config. p24config.enabletestmode(true); Strona 8 z 27

Opracował: Arkadiusz Należy pamiętać, aby klucz CRC był ustawiony według wartości podanej w ustawieniach konta SANDBOX. Więcej o trybie testowym można znaleźć w punkcie 5.8 dokumentacji płatności www. 1.8 Jak zweryfikować poprawność transakcji? Transakcje wykonywane przez bibliotekę mogą być weryfikowane na dwa sposoby: za pośrednictwem serwera partnera (rekomendowany), oraz wewnątrz systemu Przelewy24. 1.8.1 Weryfikacja za pośrednictwem serwera partnera Po dokonaniu wpłaty biblioteka oczekuje na zaksięgowanie jej w systemie Przelewy24 (następuje to w różnym czasie, zależnie od metody płatności). W momencie zaksięgowania wpłaty system Przelewy24 wysyła powiadomienie o transakcji na adres p24_url_status podany przez partnera w konfiguracji. Serwer partnera po odebraniu powiadomienia musi wysłać do Przelewy24 żądanie weryfikacji transakcji (punkt 5.5 dokumentacji płatności www). Biblioteka wykrywa, że transakcja jest potwierdzona i wyświetla użytkownikowi informację o poprawnym zaksięgowaniu wpłaty. W tym wariancie partner ma pewność, że jego serwer posiada informację o dokonanej wpłacie, nawet jak użytkownik zamknie okno biblioteki zanim transakcja zostanie zweryfikowana, albo gdy nastąpi błąd połączenia z Internetem. Aby uaktywnić ten tryb potwierdzania transakcji, należy ustawić parametr p24_url_status w panelu transakcyjnym (w tym celu należy przesłać adres skryptu na serwis@przelewy24.pl z adresu e- mail, na który jest założone konto), albo w bibliotece: p24payment.setp24urlstatus("http://xxxxxx"); Ustawienie w bibliotece ma większy priorytet od ustawienia w panelu transakcyjnym. Jeżeli nie ustawiono nigdzie p24_url_status, to transakcja będzie weryfikowana wewnątrz systemu Przelewy24 (opisane poniżej). Ten model weryfikacji dedykowany jest dla aplikacji, które wymagają, aby serwer partnera posiadał informacje o wpłacie (np. doładowanie portfela, zakup usługi itp.). 1.8.2 Weryfikacja wewnątrz systemu Przelewy24 Po dokonaniu wpłaty i zaksięgowaniu jej przez system Przelewy24, transakcja zostaje automatycznie potwierdzona przez system. Nie ma żadnej komunikacji z serwerem partnera, informacja o poprawnej transakcji jest przekazana jedynie przez bibliotekę do aplikacji mobilnej. Aby uaktywnić ten tryb potwierdzania transakcji, należy zapewnić, aby ani w panelu transakcyjnym, ani w konfiguracji biblioteki nie było ustawione p24_url_status. Ten model weryfikacji dedykowany jest dla aplikacji typu gra, które nie posiadają komunikacji z zewnętrznym serwerem. Nie wymaga to od partnera tworzenia żadnych dodatkowych usług weryfikacyjnych. Strona 9 z 27

Opracował: Arkadiusz W tym trybie istnieje ryzyko, że zanim nastąpi weryfikacja transakcji w bibliotece, użytkownik zamknie okno transakcji i powróci do aplikacji. Wtedy transakcja pozostanie zaksięgowana jako do wykorzystania i będzie wymagała ręcznego zaksięgowania w panelu transakcyjnym Przelewy24. 1.9 Jak włączyć responsywne strony banków? Ponieważ tylko niektóre banki udostępniają style mobilne w swoich serwisach transakcyjnych, biblioteki mobilne same dostosowują strony banków do małych ekranów smartfonów, aby zwiększyć wygodę użytkowania. p24config.setusemobilestyles(true); Opcja ta domyślnie jest ustawiona na true, można ją wyłączyć. Z przyczyn technologicznych style mobilne nie są dostępne w bibliotece Windows Phone. 1.10 Jak włączyć zapamiętywanie haseł do banków? Aby ułatwić użytkownikom wielokrotne logowanie do swojego banku, biblioteka może zapamiętać login i hasło i automatycznie uzupełnię je w formularzu logowania. W tym trybie biblioteka również ułatwia wprowadzenie hasła maskowanego w bankach, które tego wymagają. p24config.setstorelogindata(true); Opcja ta domyślnie jest ustawiona na false. 1.11 Jak ustawić domyślnie zapamiętywanie haseł do banków? Jeżeli opcja setstorelogindata została ustawiona na true, to domyślnie biblioteka przy pierwszym logowaniu do banku zapyta użytkownika czy wyraża zgodę na zapamiętywanie danych logowania. Można wymusić zapamiętywanie danych logowania domyślnie, bez pytania użytkownika (ale nawet wtedy będzie on miał możliwość wyłączenia tej opcji w oknie Opcje ). p24config.setdontaskforsavelogindata(true); Opcja ta domyślnie jest ustawiona na false. 1.12 Jak włączyć automatyczne kopiowanie haseł SMS? W momencie gdy na telefon przyjdzie SMS z hasłem do potwierdzenia płatności, biblioteka automatycznie może go wykryć i wkleić hasło do odpowiedniego pola na stronie banku (pod warunkiem, że użytkownik będzie dalej znajdował się na ekranie banku oczekującym na hasło SMS). Użytkownik będzie musiał tylko zatwierdzić przelew. p24config.setreadsmspasswords(true) Opcja ta domyślnie jest ustawiona na false. Z przyczyn technologicznych opcja ta jest dostępna tylko na platformie Android. Strona 10 z 27

Opracował: Arkadiusz 1.13 Jak automatycznie powrócić do aplikacji w momencie zakończenia transakcji? Domyślnie po zweryfikowaniu wpłaty (albo wystąpieniu błędu podczas płatności) biblioteka wyświetla podsumowanie transakcji i czeka na interakcję z użytkownikiem (musi on zatwierdzić okno podsumowania, aby wrócić do aplikacji). Można skonfigurować bibliotekę tak, aby automatycznie zamykała okno podsumowania po określonym czasie podanym w milisekundach. p24config.setautofinishtimeout(3000); Domyślna wartość to P24Config.NO_AUTO_FINISH = 0 biblioteka czeka na reakcję użytkownika aby wrócić do aplikacji. Z racji zasad projektowania GUI na platformie ios, opcja ta jest niedostępna na tej platformie. 1.14 Jak ograniczyć klientowi czas dostępny na zrealizowanie płatności? Można ustawić własny czas na realizację transakcji. Użytkownik będzie musiał zmieścić się z wpłatą w określonym czasie. p24config.settimelimit(30); Domyślna wartość to 150 (min). 1.15 Jak anulować płatność i wrócić do aplikacji? W każdym momencie procesu płatności użytkownik może porzucić płatność i powrócić do aplikacji za pomocą przycisku Powrót (na Android i Windows Phone jest to przycisk systemowy w telefonie, na ios jest to przycisk programowy w górnym lewym rogu okna biblioteki). Jeżeli w międzyczasie użytkownik przeszedł na stronę banku, to przy próbie powrotu zostanie poinformowany, że jeżeli dokonał w międzyczasie wpłaty, to zostanie ona zaksięgowana w tle i będzie musiał sprawdzić status wpłaty już wewnątrz aplikacji. Taki komunikat jest konieczny, ponieważ jeżeli wiemy, iż użytkownik odwiedził bank, to nie jesteśmy w stanie powiedzieć czy wywołał akcję powrót przed, czy po wykonaniu przelewu, jeżeli wpłata nie została jeszcze zweryfikowana przez system Przelewy24. 1.16 Jak ustawić styl ActionBar biblioteki dla Androida < 3.0 Dla wersji Androida < 3.0 biblioteka sama tworzy ActionBar z opcjami. Jest możliwość ustawienia własnych kolorów, aby były zgodne z wyglądem aplikacji: p24config.setapi2actionbarcolor(int color); p24config.setapi2actionbarbottomlinecolor(int color); p24config.setapi2actionbartextcolor(int color); Strona 11 z 27

Opracował: Arkadiusz 2 Definicje Sprzedawca - instytucja lub osoba prywatna korzystająca z usług serwisu PRZELEWY24. Identyfikator sesji - unikalny identyfikator służący do weryfikacji danych pojedynczej transakcji. Identyfikator ten pobierany jest od sprzedawcy. CRC - losowy ciąg znaków służący do generowania sumy kontrolnej przesyłanych parametrów, do pobrania z panelu Przelewy24. 3 Integracja biblioteki Android w projekcie aplikacji W poniższym punkcie opisany jest sposób konfiguracji i użycie Android SDK w projekcie Android. 3.1 Konfiguracja projektu W projekcie Android należy ustawić wymagany API level na co najmniej 7 (Android 2.1). Wersja 2.1 to minimalna wersja wymagana do poprawnego działania biblioteki. Do projektu należy dodać dwie biblioteki jar (znajdują się w katalogu lib/ w paczce ZIP z SDK): bibliotekę Przelewy24,bibliotekę Jsoup (hqp://jsoup.org/). Należy dodać następujące wpisy do manifestu aplikacji (AndroidManifest.xml), w węźle manifest: <uses-permission android:name="android.permission.internet"/> <uses-permission android:name="android.permission.access_network_state"/> Jeżeli włączone jest automatyczne kopiowanie haseł SMS, należy dodać wpisy: <uses-permission android:name="android.permission.receive_sms"/> <uses-featureandroid:name="android.hardware.telephony" android:required="false" /> W węźle application należy dodać aktywność TransferActivity (jest to aktywność, która jest wykorzystywana do przeprowadzenia płatności): <activity android:name="pl.dialcom24.p24lib.transferactivity" android:configchanges="orientation keyboard keyboardhidden" android:theme="@android:style/theme.holo.light.darkactionbar"/> Uwaga TransferActivity posiada menu z opcjami, dlatego styl dla tego okna dla Androida 3.0+ powinien mieć włączony ActionBar (nie używać stylów FullScreen, NoActionBar). Na Strona 12 z 27

Opracował: Arkadiusz niektórych nowszych telefonach może nie być przycisku Menu, w związku z czym może nie być dostępu do ustawień okna płatności. Domyślny styl, to @android:style/theme.holo.light.darkactionbar Uwaga przy domyślnych ustawieniach Activity podczas obrotu ekranu biblioteki nastąpi przeładowanie WebView, co może powodować powrót ze strony banku do listy form płatności i uniemożliwić sfinalizowanie transakcji. Aby okno biblioteki nie przeładowywało się konieczne jest ustawienie parametru: android:configchanges="orientation keyboard keyboardhidden" W tym samym miejscu dodać aktywność BankListActivity (jest okno ustawień biblioteki, w którym użytkownik sam będzie mógł sterować parametrami setstorelogindata, setusemobilestyles, setreadsmspasswords, oraz ręcznie usuwać zapamiętane hasła do banków): <activity android:name="pl.dialcom24.p24lib.bank.banklistactivity" android:configchanges="keyboardhidden orientation keyboard screensize"/> 3.2 Konfiguracja biblioteki Należy utworzyć obiekty P24Config, P24, P24Payment i ustawić niezbędne dane konfiguracyjne: P24Config p24config = new P24Config(); P24 p24 = new P24(config); P24Payment p24payment = new P24Payment(); Przykładowa konfiguracja przy wejściu bezpośrednio z danymi transakcji (pkt. 1.4.1): p24config.setmerchantid("xxxxx"); p24config.setcrc("xxxxxxxxxxxxxxxx"); p24payment.setsessionid("1234567890"); p24payment.setamount(100); p24payment.setcurrency("pln"); p24payment.setclientaddress("ulica testowa"); p24payment.setclientname("jan Kowalski"); p24payment.setclientcountry("pl"); Strona 13 z 27

Opracował: Arkadiusz p24payment.setclientcity("poznan"); p24payment.setclientphone("643535555"); p24payment.setclientemail("test@test.pl"); Przykładowa konfiguracja przy wejściu z tokenem transakcji (pkt. 1.4.2): p24payment.settoken("xxxxxxxxxx-xxxxxx-xxxxxx-xxxxxxxxxx"); Przykładowa konfiguracja opcjonalna (opisana powyżej): p24payment.setmethod("1"); p24config.enabletestmode(true); p24config.setstorelogindata(true); p24config.setusemobilestyles(false); p24config.setreadsmspasswords(true); p24config.setdontaskforsavelogindata(true); p24config.setautofinishtimeout(3000); p24config.settimelimit(30); p24config.setp24channel(p24config.p24_channel_cards); p24payment.setp24urlstatus("http://xxxxxx"); p24payment.settransferlabel("test label"); 3.3 Wywołanie transakcji Mając obiekty P24 oraz P24Payment można rozpocząć proces płatności. W tym celu należy wykorzystać metodę P24.getPaymentIntent(Context, P24Payment): private final static int REQUEST_CODE = 25; Intent pintent = p24.getpaymentintent(context, p24payment); startactivityforresult(pintent, REQUEST_CODE); Wywołanie powyższej metody spowoduje uruchomienie TransferActivity, które wyświetli okno płatności. Użytkownik będzie mógł wybrać formę płatności (jeżeli nie ustawiono domyślnej metody) i wykonać transakcję. Po przejściu przez proces płatności okno transakcyjne zostanie zamknięte. Informacja na temat statusu płatności zostanie przekazana do metody onactivityresult(int, int, Intent). Wewnątrz metody onactivityresult należy sprawdzić poprawność parametrów requestcode i resultcode. resultcode powinien równać się stałej RESULT_OK a requestcode powinien się zgadzać z liczbą REQUEST_CODE. Jeżeli wszystko się zgadza, należy sprawdzić status transakcji. W tym celu należy pobrać obiekt P24PaymentResult korzystając z metody P24.getPaymentResult(Intent). Jako parametr Strona 14 z 27

Opracował: Arkadiusz przekazujemy Intent pochodzący z onactivityresult (jest to ten sam Intent, który został użyty do rozpoczęcia procesu płatności): @Override protected void onactivityresult(int requestcode, int resultcode, Intent data){ } if (requestcode!= REQUEST_CODE) { return; } if (resultcode == RESULT_OK) { P24PaymentResult payresult = p24.getpaymentresult(data); boolean ispaymentok = payresult.isok(); if (ispaymentok) { // transakcja zakończona sukcesem } else { } } else { // transakcja zakończona błędem String error = payresult.getstatusmessage(); // transakcja została anulowana albo użytkownik wyszedł z biblioteki // nie czekając na weryfikację wpłaty } 3.4 Obfuskacja projektu aplikacji Aby obfuskować projekt aplikacji z podpiętą biblioteką, należy dodać reguły do konfiguracji proguard: -keep class pl.dialcom24.p24lib.transferactivity$javascriptinterface { *; } -keep class pl.dialcom24.p24lib.bank.jshelpers.javascriptinterface { *; } -keep enum pl.dialcom24.p24lib.p24paymentresult$p24paymentresultstatus { *; } Strona 15 z 27

Opracował: Arkadiusz 3.5 Znane błędy Certyfikaty SSL Entrust na Android 4.3 na niektórych kompilacjach Andorida 4.3 występuje błąd podczas ładowania stron www, na których zainstalowany jest certyfikat firmy Entrust. Z tego certyfikatu korzystają obecnie banki Alior i T-Mobile. Błąd powoduje wyłączenie się aplikacji z błędem w momencie, gdy z listy form płatności zostanie wybrany jeden z tych banków. Aktualnie nie jest znane skuteczne zabezpieczenie biblioteki przed tym błędem (poza możliwością wyłączenia wadliwych form płatności dla wszystkich użytkowników z Androidem 4.3). Pomocna dla użytkowników, którzy zgłaszają taki problem, może się okazać sugestia aktualizacji systemu Android na telefonie. Linki: http://stackoverflow.com/questions/18130047/android-webview-crash-4-3 https://code.google.com/p/android/issues/detail?id=58400&colspec=id%20type%20status %20Owner %20Summary%20Stars http://stackoverflow.com/questions/18824076/how-to-catch-this-excepjon-in-androidwebview 4 Integracja biblioteki ios w projekcie aplikacji Biblioteka ios stworzona jest w języku Objective-C, w Xcode 4.3. W poniższym punkcie opisany jest sposób konfiguracji i użycie ios SDK w projekcie Xcode. 4.1 Konfiguracja projektu W ustawieniach projektu Xcode nalezży ustawić ios Deployment Target (zakładka Info ustawień projektu) na wersję 4.3 lub nowszą. Wersja 4.3 to minimalna wersja systemu ios wymagana do poprawnego działania biblioteki. Należy dodać pliki biblioteki (libp24.a, P24.h znajdują się w katalogu lib/ w paczce ZIP z SDK) do projektu. W tym celu należy: wybrać w Xcode File Add Files To, wybrać katalog zawierający bibliotekę (katalog lib), zaznaczyć opcję Copy items into destination folder (if needed), zaznaczyć opcję Create groups for any added folders, w polu Add to targets wybrać wszystkie elementy, do których ma zostać dodana biblioteka. Należy upewnić się, czy ustawienia Targetów zostały poprawnie zaktualizowane. Plik libp24.a powinien zostać automatycznie dopisany w polu Link Binary With Libraries w zakładce Build Phases. W tym celu należy: Strona 16 z 27

Opracował: Arkadiusz wybrać projekt w Project Navigator, wybrać Target, w którym ma być używana biblioteka, wybrać zakładkę Build Phases, wybrać sekcję Link Binary With Libraries, jeżeli plik libp24.a nie znajduje się na liście, należy przeciągnąć go z okna Project Navigator, powtórzyć powyższe kroki dla wszystkich Targetów, w których ma być wykorzystywana biblioteka. Należy dodać do Targetu wymagane biblioteki systemowe. Wymagane są następujące biblioteki: Security.Framework, UIKit.Framework, FoundaSon.Framework, libxml2, libz. Biblioteki te należy dodać do sekcji Link Binary With Libraries w zakładce Build Phases. Należy to wykonać dla każdego Targetu, w którym będzie wykorzystywana biblioteka. Należy dodać flagi JObjC i Jlstdc++ w polu Other Linker Flags w ustawieniach Targetu. W tym celu należy: wybrać zakładkę Build Settings w ustawieniach Targetu, ustawić wartość pola Other Linker Flags na -ObjC -lstdc++. Pole Other Linker Flags znajduje się w sekcji Linking, powyższe kroki należy powtórzyć dla każdego Targetu, w którym biblioteka będzie wykorzystywana. 4.2 Konfiguracja biblioteki Należy zaimportować plik P24.h, utworzyć obiekty P24Config, P24, P24Payment i ustawić niezbędne dane konfiguracyjne: P24Config *p24config = [[P24Config alloc] init]; P24 *p24 = [[P24 alloc] initwithconfig:p24config delegate:self]; P24Payment *p24payment = [[P24Payment alloc] init]; Przykładowa konfiguracja przy wejściu bezpośrednio z danymi transakcji (pkt. 1.4.1): Strona 17 z 27

Opracował: Arkadiusz p24config.merchantid = @"XXXXX"; p24config.crc = @"XXXXXXXXXXXXXXXX"; p24payment.sessionid = @"1234567890"; p24payment.amount = 100; p24payment.currency = @"PLN"; p24payment.clientaddress = @"Ulica testowa"; p24payment.clientcity = @"Poznan"; p24payment.clientzipcode = @"61-600"; p24payment.clientname = @"Jan Kowalski"; p24payment.clientcountry = @"PL"; p24payment.clientphone = @"PL"; p24payment.language = @"pl"; p24payment.clientemail = @"test@test.pl"; Przykładowa konfiguracja przy wejściu z tokenem transakcji (pkt. 1.4.2): p24payment.token = @"XXXXXXXXXX-XXXXXX-XXXXXX-XXXXXXXXXX"; Przykładowa konfiguracja opcjonalna (opisana powyżej): p24payment.method = @"XXX"; [p24config.enabletestmode: YES]; p24config.storelogindata = YES; p24config.usemobilestyles = NO; p24config.dontaskforsavelogindata = YES; p24config.timelimit = 30; p24config.p24channel = P24_CHANNEL_CARDS; p24payment.p24urlstatus = @"http://xxxxxx"; 4.3 Wywołanie transakcji Należy zaimplementować w kontrolerze protokół P24Delegate (zawiera on metody służące do informowania o statusie płatności) - (void)p24:(p24 *)p24 didfinishpayment:(p24payment *)p24payment Strona 18 z 27

Opracował: Arkadiusz withresult:(p24paymentresult *)p24paymentresult { BOOL paymentok = [p24paymentresult isok]; if (!paymentok) { NSLog(@ Payment error: %d, %@, p24paymentresult.status.code, p24paymentresult.status.description); } - (void)p24:(p24 *)p24 didcancelpayment:(p24payment *)p24payment { // transakcja została anulowana albo użytkownik wyszedł z biblioteki // nie czekając na weryfikację wpłaty } - (void)p24:(p24 *)p24 didfailpayment:(p24payment *)p24payment witherror:(nserror *)error {} Mając obiekty P24 oraz P24Payment można rozpocząć proces płatności. W tym celu należy wykorzystać metodę startpayment:inviewcontroller: z klasy P24: [p24 startpayment:p24payment inviewcontroller:self]; Wywołanie powyższej metody spowoduje wyświetlenie okna płatności. Użytkownik będzie mógł wybrać formę płatności (jeżeli nie ustawiono domyślnej metody) i wykonać transakcję. Po przejściu przez proces płatności okno transakcyjne zostanie zamknięte. Informacja na temat statusu płatności zostanie przekazana do jednej z metod protokołu P24Delegate. 5 Integracja biblioteki Windows Phone w projekcie aplikacji Biblioteka Windows Phone stworzona jest w języku C#. W poniższym punkcie opisany jest sposób konfiguracji i użycie Windows Phone SDK w projekcie Visual Studio. UWAGA: W wersji 2.0 w bibliotece Windows Phone są niedostępne półautomatyczne formy płatności (e-przelewy). Zostaną one dodane w kolejnej wersji biblioteki. 5.1 Konfiguracja projektu U ustawieniach projektu należy ustawić wersję Windows Phone (Target Windows Phone OS Version). Minimalna wersja Windows Phone, z jaką współpracuje biblioteka, to 8.0. Do projektu należy dodać referencje do trzech bibliotek (znajdują się w katalogu lib/ w paczce ZIP z SDK): Biblioteka DialCom24.P24Lib.dll, BouncyCastle.Crypto.WP7.dll, Strona 19 z 27