>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Skip Navigation LinksStart > Pomoc > Dokumentacja techniczna
  #loguj
>> Przewodnik. Tu znajdziesz szczegółowe informacje odnośnie działania serwisów w poszczególnych typach. Prezentowane plansze pomogą zrozumieć w jaki sposób odbywa się komunikacja między partnerem, użytkownikiem a systemem MobilePay.






Zasadnicza różnica w działaniu serwisów poszczególnych typów polega na sposobie sprawdzania kodów dostępu do płatnej treści prezentowanej przez partnerów systemu MobilePay. Poniżej zamieszczono opisy działania oraz plansze ilustrujące funkcjonowanie serwisów typu Pack, typu Redirect oraz typu XML.

Działanie serwisów typu "Pack"

Kliknij, aby obejrzeć planszę
Sprawdzanie kodu następuje po stronie partnera serwisu. Partner serwisu pobiera za pomocą systemu MobilePay paczkę kodów wygenerowaną "na zapas" i dodaje ją do swojej bazy. Paczka kodów może zostać pobrana np. w formacie wartości rozdzielonych przecinkami bądź średnikami lub jako zapytania SQL, wstawiającego dane do bazy. Użytkownik po wysłaniu SMSa otrzymuje z systemu MobilePay kod, natomiast partner MobilePay autoryzuje go poprzez swoją bazę. Robi to w sposób dogodny dla siebie. W najprostszym przypadku usuwa kod z bazy uniemożliwiając tym samym powtórne jego użycie. Można też zliczać użycia danego kodu lub liczyć czas od momentu jego pierwszego użycia.

Każdy wygenerowany kod jest przypisany do konkretnego numeru premium włączonego dla danego serwisu.

Działanie serwisów typu "Redirect"

Kliknij, aby obejrzeć planszę
Gdy użytkownik zechce przejść do płatnej części serwisu partnera, ten przekierowuje go na stronę weryfikacyjną MobilePay - payment.aspx. W parametrach przekazywanych tej stronie w URLu zawarte są:

Nazwa parametruOpis
merchant identyfikator partnera
service identyfikator serwisu
premium numer premium
urlr adres, na który będzie przekierowany użytkownik po poprawnej bądź błędnej weryfikacji
urlc
(opcj.)
adres, na który przesłany będzie wygenerowany przez nas bilet zezwalający na dostęp do płatnej części serwisu. Gdy adres ten nie jest podany użyty zostanie adres wskazany przez parametr ‘urlr’
custom
(opcj.)
parametr w którym partner może przekazać dowolne dane, jeśli jest podany to dane zostaną przekazane zarówno do skryptu URLC jak i do URLR - może służyć do czegokolwiek, np. do przekazywania identyfikatora usera, albo kilku sklejonych danych (maksymalna długość tego parametru jest ograniczona i wynosi 1024 bajty).

Przykład:

http://www.mobilepay.pl/payment.aspx?
    merchant=19&service=A4&premium=7128&
    urlr=http://mojserwis.pl/content.aspx&
    urlc=http://mojserwis.pl/check.aspx&
    custom=twoje_parametry

Strona payment.aspx poinformuje użytkownika, co zrobić by wejść do wybranego serwisu (o jakiej treści wysłać SMSa i na jaki numer, otrzymany kod wpisać w znajdujące się na stronie pole tekstowe). Po wpisaniu kodu, i po jego poprawnej weryfikacji, na adres ‘urlc’ lub ‘urlr’, metodą GET zostanie wysłany bilet wstępu do serwisu. Parametry zawarte w URLu:

Nazwa parametruOpis
merchant identyfikator partnera
service identyfikator serwisu
premium numer premium
ticket bilet wygenerowany przez system MobilePay
custom
(opcj.)
wartość parametru custom przekazanego do payment.aspx

Przykład:

http://mojserwis.pl/check.aspx?
    merchant=19&service=A4&premium=7128&
    custom=twoje_parametry&
    ticket=37260a01-8c50-4e55-9e22-1f28dbaf75bf

Partner powinien zapamiętać otrzymane dane w celu późniejszego sprawdzenia biletu.

Następnie użytkownik zostanie przekierowany na adres ‘urlr’ z parametrami zależnymi od powodzenia weryfikacji. Parametry przesyłane po weryfikacji:

Nazwa parametruOpis
merchant identyfikator partnera
service identyfikator serwisu
premium numer premium
ticket bilet wygenerowany przez system MobilePay, ten sam, co wysłany wcześniej na adres ‘urlc’/’urlr’.
custom
(opcj.)
wartość parametru custom przekazanego do payment.aspx
status 0: OK. Kod użytkownika został potwierdzony.
1: Nieważny kod dostępu.
2: Niekompletny zestaw parametrów wywołania strony.
3: Niewłaściwe parametry: serwis nie jest typu "Redirect".
4: Niewłaściwe parametry: brak wskazanego w parametrach serwisu lub niewłaściwy numer premium.
9: Inny błąd.

Przykład:

http://mojserwis.pl/content.aspx?
    merchant=19&service=A4&premium=7128&
    custom=twoje_parametry&
    ticket=37260a01-8c50-4e55-9e22-1f28dbaf75bf&
    status=0

Jeśli status będzie równy 0 a bilet zgodny z przesłanym wcześniej, partner jest zobowiązany udostępnić prezentowaną odpłatnie treść.

Działanie serwisów typu "XML"

Kliknij aby obejrzeć planszę

Implementacja systemu autoryzacji po stronie klienta sprowadza się jedynie do przygotowania elementów wymaganych do przeprowadzenia weryfikacji poprawności pobranego od użytkownika kodu. Zatem uruchomienie usługi nie wymaga ani bazy danych, ani zastosowania szczególnie wyrafinowanych technik programistycznych. Jedyne co jest niezbędne to stworzenie skryptu odwołującego się „w tle” do skryptu weryfikacyjnego już w systemie MobilePay.

Weryfikacja kodów odbywa się on-line w oparciu o protokół https.

Proces weryfikacyjny polega na przesłaniu pod odpowiedni adres (https://www.mobilepay.pl/validateCode.aspx), danych niezbędnych do weryfikacji poprawności kodów, czyli:

  • Identyfikator partnera (merchantID) – identyfikator nadany w momencie tworzenia konta w systemie MobilePay
  • Identyfikator serwisu (serviceID) – identyfikator nadany w momencie tworzenia serwisu do konta w systemie MobilePay
  • Hasło do serwisu (password)
  • Kod do sprawdzenia (code).

Przesyłane dane muszą być sformatowane do postaci XML, zgodnie ze schematem:

<?xml version='1.0' encoding='utf-8'?>
<request>
  <merchantID></merchantID>
  <password></password>
  <serviceID></serviceID>
  <code></code>
  <responseType></responseType>
</request>

Dodatkowym i nieobowiązkowym elementem w powyższym XML’u jest element /request/responseType określający typ odpowiedzi, jaka ma być generowana. W zależności od jego wartości, odpowiedź będzie generowana jako:

  • '1' : czysty tekst rozdzielony znakami końca linii
  • inna wartość lub braku elementu : XML

Odpowiedź składa się z danych:

  • Wyniku sprawdzenia (jako numer)
  • Opisu słownego zaistniałego zdarzenia z czego opis słowny nie występuje w przypadku udanej walidacji (poprawności) sprawdzanego kodu
  • Numeru premium, przez który pobrany został kod.

Odpowiedź w postaci XML jest zgodna ze schematem:

<?xml version='1.0' encoding='utf-8'?>
<response>
  <value></value>
  <reason></reason>
  <requestNumber></requestNumber>
</response>

Możliwe wartości kodu i opisu odpowiedzi to:

  • value = -100; reason = ‘Unsecured connection’ w przypadku requestu po niezabezpieczonym kanale (http zamiast https)
  • value = -200; reason = ‘Bad XML’ w przypadku błędnie sformatowanego XML’a requestu, lub w przypadku braku wymaganych tagów
  • value = -300; reason = ‘Execution error’ w przypadku błędu wykonania procedury walidacji kodu po stronie serwera
  • value = -1; reason = ‘Invalid code’ w przypadku negatywnego wyniku walidacji kodu
  • value = 0 w przypadku pozytywnego wyniku walidacji kodu.

Przykładowe odpowiedzi:

  • XML:
    • błąd:
      <?xml version='1.0' encoding='utf-8'?>
      <response>
        <value>-1</value>
        <reason>Invalid code</reason>
        <requestNumber></requestNumber>
      </response>
    • sukces:
      <?xml version='1.0' encoding='utf-8'?>
      <response>
        <value>0</value>
        <reason></reason>
        <requestNumber>7128</requestNumber>
      </response>
  • plain text:
    • bład:
      -1
      Invalid code
    • sukces:
      0
      7128

W procesie weryfikacji poprawności przekazanego kodu, oprócz kontroli przekazanych parametrów (merchantID, password, serviceID, code), kontrolowany jest również adres IP klienta, z którego nastąpiło zapytanie.

Niestety, z różnych przyczyn dostawcy usług hostingowych nie pozwalają czasami na wywoływanie zdalnych skryptów. Wtedy użycie serwisu typu XML może być niemożliwe. Na szczęście istnieją 3 sposoby na wywołanie skryptu MobilePay sprawdzającego kod dostępu, które rzadko kiedy są zablokowane jednocześnie. Szczegółowe informacje znajdziesz w przykładach (dostępne po zalogowaniu w menu 'Pomoc').


© CTSMS  |  Regulamin  |  Polityka prywatności  |