LVL UP API v4 - płatności w PHP

Opinie
Rattoo0
Rattoo0

Cześć,

piszę aplikację dla znajomego ze szkoły, który chce zmienić bramkę płatności z HotPay na lvlup. Z tym, że w dostępnej dokumentacji znalazłem tylko informacje, że istnieje API do sms, lecz żadnej wzmianki o przelewach i/lub innej formy doładowania nie znalazłem. Chodzi o to, na stronie mamy generator, który przy tworzeniu zamówienia generuje unikalne ID, gdy przetworzy się płatność po stronie hotpay wraca do nas informacja zwrotna w metodzie post z id zamówienia, potem wszystko wysyłane jest webhookiem na serwer discord i bezpośrednio do bazy i na serwer RCON'em.

W https://api.lvlup.pro/v4/swagger znalazłem tylko informacje o tworzeniu linku do portfelu. Chcemy zautomatyzować wszystko jak tylko jest to możliwe.

Z góry dzięki za wszelkie odpowiedzi, pozdrowionka.

SystemZ
SystemZ Admin lvlup.pro

Rattoo0:

w dostępnej dokumentacji znalazłem tylko informacje, że istnieje API do sms, lecz żadnej wzmianki o przelewach i/lub innej formy doładowania nie znalazłem

Jest odwrotnie, pracujemy nad obsługą SMS w API v4. Cała reszta kanałów (przelewy i PSC) już jest.

Rattoo0:

W https://api.lvlup.pro/v4/swagger znalazłem tylko informacje o tworzeniu linku do portfelu

API zwraca link do wpłaty, przekierowujesz na niego użytkownika, on na naszej stronie dokonuje wpłaty. Po wpłacie jest przenoszony ponownie na Twoją stronę która zdefiniujesz w żądaniu do API.

Rattoo0
Rattoo0

API zwraca link do wpłaty, przekierowujesz na niego użytkownika, on na naszej stronie dokonuje wpłaty. Po wpłacie jest przenoszony ponownie na Twoją stronę która zdefiniujesz w żądaniu do API.

Okej, z tym, że zwracane są jakieś informacje? Średnio mi się podoba pomysł kumpla, żeby do webhookUrl/redirectUrl dodać informacje o zamówieniu tzn. (adres.pl/sklep/postPayment/{id_zamowienia}), a potem to pobrać w kontrollerze, sprawdzić czy faktycznie istnieje rekord w bazie, a potem wykonać wszystko, tak jak było to domyślnie.

SystemZ
SystemZ Admin lvlup.pro

Jeśli chcesz zrobić to solidnie, powinieneś zwrócony przez API nasz ID płatności przechować w bazie wraz z potrzebnymi Ci informacjami typu kto i co.

Potem gdy webhook będzie działać dostajesz info że wpłata dokonana, weryfikujesz po stronie naszego serwera czy faktycznie tak nastąpiło żądaniem GET. W tym momencie jeśli zwracane jest payed: true to wystarczy że zrobisz użytek z informacji które zapisałeś w bazie.

Rattoo0
Rattoo0

Myślę, że rozwiązane. Za moment przebuduje system i sprawdzę. Szkoda, że nie mogę włączyć trybu testowego. 😄

SystemZ
SystemZ Admin lvlup.pro

Pracujemy nad piaskownicą panelu klienta gdzie będzie można testować do woli bez obaw.

Rattoo0
Rattoo0

Mały odkop - nie chciałem nabijać tematów, więc dodam tutaj.

Podczas testowania api na sandboxie, wszystko działało jak należy - wygenerowałem sobie konto dla piaskownicy, natomiast po przepięciu curla na produkcyjne api i wpisaniu tokenu autoryzacyjnego z konta docelowego przy próbie płatności zwraca mi się

"{"msg":"wrong token","code":0}"

Tokeny były generowane z dwóch różnych kont. curl: https://pastebin.com/iDxw58zx Nie mam pomysłu, co może być nie tak. Zrobiłem wszystko według dokumentacji.

dominixz
dominixz

Nie przyglądałem się temu ale wydaje mi się że powinieneś dodać to image|295x26 przy kluczu api (Bearer)

Rattoo0
Rattoo0

Faktycznie uciąłem przy dodawaniu enva, zaraz spojrzę, dzięki w każdym razie za uwagę.

EDIT: Następna kwestia, amount przekazuje w sposób

$lvlupPost = json_encode([
                'amount' => $request->tokens,
         itd...

W formularzu, tak jakby nei odbierał tego. Tokens jest wartością integer, nie double.

SystemZ
SystemZ Admin lvlup.pro

Tak jak wskazałem w dokumentacji, amount ma typ string. Przykładowo dla 13 złotych i 37 groszy dajesz 13.37

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.