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

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.

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

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.

1lajk

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.

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.

2lajki

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

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

5lajków

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.

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

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.

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

4lajki

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