Biblioteka JavaScript (NodeJS) do LVL UP API v4

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

3lajki

Na pewno się przyda :wink:

1lajk

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

2lajki

@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

[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.

1lajk

Ok.
Czyli zapewniasz, iż redirect zostanie wykonany?

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
1lajk

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

Przykładowe dane z webhooka:

{
      "paymentId": "0GSP3HJ39MQIM8M4",
      "status": "CONFIRMED"
}
1lajk

Dobra wielkie dzięki jeszcze raz :wink:

1lajk