Biblioteka JavaScript (NodeJS) do LVL UP API v4

Bodzio | 2020-05-02 23:08:34 UTC | #1

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 | 2020-05-02 07:51:19 UTC | #2

Na pewno się przyda ;)


Bodzio | 2020-05-02 11:22:11 UTC | #3

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


Mespi | 2020-05-18 17:27:03 UTC | #4

@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 | 2020-05-18 17:53:10 UTC | #5

[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 | 2020-05-18 17:56:01 UTC | #6

Ok.
Czyli zapewniasz, iż redirect zostanie wykonany?


Bodzio | 2020-05-18 17:58:17 UTC | #7

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 | 2020-05-18 17:59:16 UTC | #8

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


Bodzio | 2020-05-18 18:00:38 UTC | #9

Przykładowe dane z webhooka:

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

Mespi | 2020-05-18 18:01:24 UTC | #10

Dobra wielkie dzięki jeszcze raz ;)


Bodzio | 2020-08-08 21:37:23 UTC | #11

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

Dzięki @riko.dev ;)


Hasanoes | 2020-08-18 17:44:44 UTC | #12

Bardzo przydatne.
Na pewno niejednokrotnie z tego skorzystam ;)


system | 2021-02-14 17:44:47 UTC | #13

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