Bodzio | 2020-05-02 23:08:34 UTC | #1
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.