Biblioteka JavaScript (NodeJS) do LVL UP API v4

Projekty użytkowników
Bodzio
Bodzio

LVLUP-JS


Siemka w końcu mi się udało skończyć moją bibliotekę w JavaScript. Jest to mój pierwszy publiczny projekt, tak więc w kodzie pewnie znajduję się dużo błędów, ale będę starał się systematycznie go poprawiać w raz z moją nauką i waszymi radami. Pierwsza rzecz, którą na pewno muszę poprawić, to instrukcje warunkowe przy walidacji danych. Wiem, że tak nie powinno się pisać i na dniach będę to poprawiał. Nie będę robił opisu biblioteki w tym miejscu, ponieważ zrobiłem to już w linkach znajdujących się na końcu tematu.


Wszystkie potrzebne informacje znajdziesz tutaj: Dokumentacja Github npm

Mespi
Mespi

Na pewno się przyda ;)

Bodzio
Bodzio

Zmieniłem trochę walidacje kwoty, ponieważ był błąd. Od teraz kwota jest zawsze zaokrąglana do dwóch miejsc po przecinku.

Mespi
Mespi

@Bodzio mam drobny problem z tym modułem. Testuję na sandboxie, przekierowuje na stronę z doładowaniem, ale po kliknięciu doładuj nie przekierowuje na moją stronę, oraz nie otrzymuję żadnego webhooka.

        lvlup.createPayment('10', 'https://betaapi.dblista.pl/v1/payments/charge/lvlup/redirect', 'https://betaapi.dblista.pl/v1/payments/charge/lvlup/webhook').then(r => {
			//console.log(r);
			res.redirect(r.url);
		});
router.get("/v1/payments/charge/lvlup/*", async(req, res) => {console.log(req.path);})
router.post("/v1/payments/charge/lvlup/*", async(req, res) => {console.log(req.path); console.log(req.body);})

nic nie zwraca w konsoli

Bodzio
Bodzio

[Webhook - Sandbox]: Webhook przychodzi po wykonaniu metody sandboxAcceptPayment.

[Redirect - Sandbox]: Na ten moment Redirect nie działa jeszcze na Sandboxie, wynika to z API, a nie biblioteki. Możesz zrobić sobie test na produkcji wpłacić na przykład 1 zł. W przyszłości ma się pojawić obsługa Redirectów również na Sandboxie. Ogólnie to dzieje się tak, dlatego że Redirect wykonuje się dopiero po wykonaniu płatności, a w Sandboxie tej płatności nie ma, ale ma się kiedyś pojawić fake strona płatności.

Mespi
Mespi

Ok. Czyli zapewniasz, iż redirect zostanie wykonany?

Bodzio
Bodzio

Po prostu redirect zadziała na produkcji a na sandboxie nie. A webhook przyjdzie również na sandboxie ale musisz wykonać metodę o której wspomniałem.

Pamiętaj również że żeby odebrać webhooka musisz odesłać mu jakąś odpowiedź, możesz to zrobić na przykład tak:

res.status(200).end(); //dodaj to na koniec POSTa
Mespi
Mespi

Ok dzięki. Możesz jeszcze podać przykład informacji wysłanej przez webhooka?

Bodzio
Bodzio

Przykładowe dane z webhooka:

{
      "paymentId": "0GSP3HJ39MQIM8M4",
      "status": "CONFIRMED"
}
Mespi
Mespi

Dobra wielkie dzięki jeszcze raz ;)

Bodzio
Bodzio

Adres URL Sandboxa został zaktualizowany na GitHub/npm oraz w dokumentacji.

Dzięki @riko.dev ;)

Hasanoes
Hasanoes

Bardzo przydatne. Na pewno niejednokrotnie z tego skorzystam ;)

system
system

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