Dla programistów

Drogi Programisto, Twórco Technologii!


Dołącz do naszego pomysłu udoskonalenia świata – definiuj i współtwórz system otwarty na wszystkich i na wszystkie potrzeby. Aby płacić i otrzymywać pieniądze nie musisz posiadać żadnego konta, ani karty płatniczej. Zamiast podpisywania wielostronicowej umowy w banku, wystarczy zainstalowanie apki na telefonie lub laptopie. Zamiast wypełniania skomplikowanych formularzy i oświadczeń, wystarczy “ptaszkiem” w aplikacji zaakceptować jeden regulamin. Dzięki temu każdy kto chce obracać cyfrową gotówką znajdzie dla siebie właściwe rozwiązanie.

Z Billona może korzystać osoba o stałych dochodach i ta która chwyta się pracy dorywczej, osoba zamożna i osoba “poniżej średniej krajowej”, może to być osoba w sile wieku, ale może to być też osoba niepełnoletnia. My nie chcemy ograniczać możliwości – prawie wszystko co wymyślisz jest możliwe. Dzięki temu będzie można zarabiać prawdziwe pieniądze jednym kliknięciem Klienta.

 

Orientacja i wstęp (dla programistów WEBowych)

Kluczową użytkową różnicą w pomiędzy naszym system rozproszonych płatności, a tradycyjnymi systemami centralnego przetwarzania jest to, że u nas do płacącego jest wysyłana „prośba o zapłatę”.

Ta prośba o zapłatę trafia do aplikacji Billon którą użytkownik/płacący ma na swoim telefonie, laptopie, PC'cie czy tablecie – prośba ta inicjuje cały proces przekazania cyfrowych pieniędzy z urządzenia użytkownika bezpośrednio do Was.

W związku z tym w kroku nr 1 - musicie do systemu wysłać „zlecenie wysłania prośby o płatność”, które określa kwotę i LoginName płacącego tak aby nasz system wiedział do kogo ten „push" na trafić.

(krok nr 0 – czyli instalację i konfigurację opiszemy oddzielnie)

Co jest super wygodne to mechanizm automatycznego wykrywania LoginName użytkownika w sytuacji kiedy płacący ma aplikacje włączoną na tym samym urządzeniu na którym przegląda wasza stronę internetową – wtedy cały proces płacenia nie wymaga „odciągnięcia” użytkownika od Waszej strony WWW, ani nawet użycia klawiatury – wystarczą dwa kliknięcia użytkownika którymi wyraża zgodę na przesłanie Wam pieniędzy.

To zlecenie prośby o zapłatę musicie wysłać do „naszej bramki płatniczej” ... ale tak naprawdę my nie mamy żadnej bramki (w naszym systemie nie występuje “zaufana trzecia strona”!), tylko dajemy wam aplikację serwerową o wdzięcznej nazwie WUI ;-)

WUI – daemon'owa aplikacja sprzedawcy. Nie posiada graficznego interfejsu użytkownika, za to posiada rozbudowany interfejs sieciowy i działa na każdego rodzaju serwerze (POSIXowym lub Windowsowym). Tak jak aplikacja zwykłego użytkownika, WUI otrzymuje i weryfikuje przychodzące pieniądze, oraz w bezpieczny sposób je przechowuje. Dodatkowo potrafi odnaleźć każdego użytkownika w systemie Billon i wysłać do niego prośbę o zapłatę (tego nie potrafi aplikacja kliencka).
Każdy sprzedawca ma swojego własnego WUI na wyłączność :-)

Zarządzanie WUIem odbywa się z poziomu Twojego serwisu webowego, bezpośrednio poprzez protokół SOAP lub REST, co daje duże możliwości dla zaawansowanych zastosowań – lub wygodnie opakowane w komplet przygotowanych przez nas skryptów JavaScript lub PHP, które umożliwiają Tobie prostą integrację poprzez wklejenie ok. 15 linijek kodu do zlecenia płacenia oraz ok. 17 linijek kodu do potwierdzenia otrzymania pieniędzy.

Twoja strona internetowa musi więc to zlecenie prośby o zapłatę wysłać do „waszego WUIa” - który z punktu widzenia kodu webowego jest serwerem (a wasz kod webowy klientem). Wiec jeśli miałeś już doświadczenie z integrowaniem tradycyjnych kart, SMS premium, lub szybkich przelewów, to z tego punktu widzenia WUI pełni rolę analogiczną do „bramek” tradycyjnych systemów płatniczych.

Praktycznie wygląda to tak:

  • użytkownik buszuje po Twoich stronach internetowych, w pewnym momencie decyduje się coś u Ciebie kupić – klika więc w przycisk „Zapłać Billonem” to uruchamia ten pierwszy zestaw tych paru linijek kodu JS lub PHP, które powodują albo auto-wykrycie LoginName użytkownika albo pokazenie małego webowego pop-up z prośbą o ręczne wpisanie Identyfikatora płacącego w systemie Billon (LoginName);
  • ten integracyjny skrypt JS/PHP w tym czasie dostaje od Ciebie kilka dodatkowych obowiązkowych informacji: kwotę zapłaty i Twój identyfikator transakcji, oraz kilka opcjonalnych informacji takich jak: opis sprzedawanego towaru, krótki indywidualny komentarz, czy prośbę o automatyczne otrzymanie z portfela użytkownika kompletu danych do dostawy towaru i/lub wystawienia faktury;
  • zebrany komplet informacji jest od razu przesyłany przez ten sam skrypt JS/PHP do obsługującego Twój serwis WUIa;
  • następnie bezpośrednio pomiędzy WUIem a Apką użytkownika odbywa się cała twarda kryptografia block-chain'ów i rozproszona komunikacja sieciowa – której finalnym rezultatem jest otrzymanie przez Ciebie (a precyzyjniej Twojego WUIa) natychmiastowej zapłaty w cyfrowej gotówce.

Krytycznym momentem jest pojawienie się na telefonie lub PCcie płacącego pop-up'u z Prośbą o zapłatę „takiej a takiej kwoty, za to i za to, do tej a tej osoby” (czyli do Was). Jeżeli użytkownik to zaakceptuje - to sama płatność (przekazanie wartości pieniężnej) trwa tylko kilka sekund.

W kroku nr 2, po stronie Twojego serwisu webowego pozostaje tylko czekać (w wątku dedykowanym do obsługi tego użytkownika) na sukces transakcji. Druga część dostarczanych przez nas dla Ciebie skryptów JavaScript lub PHP odpytuje więc cyklicznie sparowanego WUIa – i niezwłocznie przekazuje Twojemu sklepowi informacje o sukcesie tzn. otrzymaniu zapłaty lub błędzie np. odmowie użytkownika lub po prostu timeout'cie.

Transakcje płacenia są atomiczne co oznacza iż albo pieniądze przeszły albo nie. Autoryzacja, prawne przeniesienie własności oraz rozliczenie jest jednym integralnym zdarzeniem czasu rzeczywistego, a dzięki temu w naszym systemie nie występuje ryzyko tzw. “charge-back'ów”.

Zalecany sposób utworzenia przycisku wywołującego prośbę o zapłatę

1:  <button onclick="pay()"> PaySomeAmount </button> <!-- tutaj umieszczasz ładną grafikę z przyciskiem płać -->
2:  <script src="//billon.info/lib/js/billon.js"></script> <!--  tutaj korzystamy z gotowych bibliotek -->
3:  <script src="//billon.info/lib/js/billon-agent.js"></script>
4:  <script src="//billon.info/lib/js/billon-object.js"></script>
5:  <script src="//billon.info/lib/js/billon-user.js"></script>
6:  <script src="//billon.info/lib/js/billon-loadingBar.js"></script>
7:  <script> function PaySomeAmount(ReqestedAmount) {
8:  billon.loadingBar(	// tutaj użytkownik inicjuje prosbę o platność		
    {
9:       connection: new billon.agent("http://example:1400/exampleProxy"), // kontroler Sails.js "ExampleProxyController" na serwerze NodeJS
10:      request:
         {
11:         Address: "PaySomeAmount",
12:         Data: function (UserLoginName) {
13:            return {               
14:               amount: ReqestedAmount, // note: PLN x 1000
15:               user: UserLoginName
         }; } },
16:      listen: // tutaj czekamy na sukces płacenia (od WUI via ExampleProxyController)
         {
17:         Address: "status",
18:         Data: function (requestResponse)
            {
19:            return {
20:               taskId: requestResponse.taskId
              }; },
21:         Response: function (response)
            {
22:            switch (response.status)
                {
23:               case "FINISHED_OK":
24:                  // tutaj obsługa pomyślnego zakończenia płatności
25:                  break;               
26:               case "FINISHED_ERR_USER_REJECTED":
27:                  // tutaj obsługa odrzucenia płatności
28:                  break;
29:               case "FINISHED_ERR_USER_NOT_FOUND":
30:                  // tutaj obsługa nieodnalezienia użytkownika
31:                  break;
32:               default:
                     // tutaj opcjonalna obsługa zaawansowana
    } } } }); } </script>

Po umieszczeniu kodu przycisku na stronie, należy uruchomić usługę pośredniczącą NodeJS obsługującą płatność. Więcej o powyższym skrypcie opisano na stronie „Skrypty w przeglądarce użytkownika”. Do prostych datków można wykorzystać też bibliotekę Billon jQuery wykorzystującą PHP.

Do szybkich płatności przy pomocy telefonu za artykuły publikowane na stronach internetowych służą natomiast płatności talerzykowe.


 

 

Technologicznie działa to tak...

 

dla developerow 1

 

...a tak widzi to klient

 dla developerow klient 1

 

 

Jak wygląda integracja?

Z punktu widzenia developera całą integrację można wykonać w kilku prostych krokach:

Od strony klienta (modyfikacje strony WWW):
1. Import skryptów Billon.
2. Określenie, w którym momencie ma wywoływać się płatność oraz na produkty o jakich id.

Od strony serwera:
1. Instalacja środowiska Node.js.
2. Skonfigurowanie serwera pośredniczącego:
- Opisanie produktów w sposób dostosowany do naszego API,
- Określenie metod dostawy (dla produktów fizycznych),
- Określenie sposobu wybierania aplikacji 24/7 tzw. WUI do obsługi płatności,
- Obsłużenie zdarzenia dokonanej płatności.
3. Uruchomienie serwera pośredniczącego.

Przejdź do instrukcji

Daj nam o sobie znać!

Napisz do nas i powiedz, co moglibyśmy dla Ciebie zrobić! Jak możemy Ci pomóc, żeby Twoje systemy kasowe, strony internetowe, aplikacje, sklepy, maile, banery mogły jeszcze bardziej wykorzystać potencjał cyfrowej gotówki.

 

 

 

 

 

Formularz kontaktowy

Dodaj zdjęcie do swojego opisu (jpg, png, max 1MB, opcjonalne)