Rattoo0 | 2020-04-08 00:54:23 UTC | #1
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 | 2020-04-08 00:53:38 UTC | #2
[quote=”Rattoo0, post:1, topic:14149”]
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
[/quote]
Jest odwrotnie, pracujemy nad obsługą SMS w API v4. Cała reszta kanałów (przelewy i PSC) już jest.
[quote=”Rattoo0, post:1, topic:14149”]
W https://api.lvlup.pro/v4/swagger znalazłem tylko informacje o tworzeniu linku do portfelu
[/quote]
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 | 2020-04-08 01:00:42 UTC | #3
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 | 2020-04-08 02:42:17 UTC | #4
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 | 2020-04-08 10:56:45 UTC | #5
Myślę, że rozwiązane. Za moment przebuduje system i sprawdzę. Szkoda, że nie mogę włączyć trybu testowego. :smile:
SystemZ | 2020-04-08 11:08:47 UTC | #6
Pracujemy nad piaskownicą panelu klienta gdzie będzie można testować do woli bez obaw.
Rattoo0 | 2020-04-15 12:46:03 UTC | #7
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 | 2020-04-15 14:32:30 UTC | #8
Nie przyglądałem się temu ale wydaje mi się że powinieneś dodać to
przy kluczu api (Bearer)
Rattoo0 | 2020-04-15 15:17:25 UTC | #9
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 | 2020-04-15 15:27:55 UTC | #10
Tak jak wskazałem w dokumentacji, amount
ma typ string.
Przykładowo dla 13 złotych i 37 groszy dajesz 13.37
system | 2020-05-17 15:27:57 UTC | #11
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.