Pereiti prie pagrindinio turinio
Visos kolekcijosIntegracijosIndividuali integracija
Kaip valdyti Laukiama mokėjimo statusą?
Kaip valdyti Laukiama mokėjimo statusą?

Ką daryti, kai jūsų klientas grįžta į returnUrl su Laukiama (angl. Pending) mokėjimo statusu?

Laura from Montonio avatar
Parašė Laura from Montonio
Atnaujinta šią savaitę

Kuriant individualią integraciją su Montonio mokėjimais, svarbu tinkamai apdoroti mūsų mokėjimo statusus. Be „webhook“ pranešimų, mokėjimo statusas yra įtraukiamas į „užsakymo žetoną“ (angl. order token), kai klientas yra nukreipiamas atgal į nurodytą returnUrl, kaip aprašyta mūsų API dokumentacijoje.

Daugiau informacijos apie skirtingus užsakymo mokėjimo statusus galite rasti skyriuje „Koks yra užsakymo gyvavimo ciklas?“ mūsų API dokumentacijoje.

Kodėl gaunu Laukiama (angl. Pending) mokėjimo statusą?

Kai klientas nusprendžia atšaukti mokėjimą arba negali užbaigti proceso, mes nukreipiame jį atgal į nurodytą returnUrl. Kadangi užsakymas nebuvo apmokėtas, mes nekeičiame užsakymo statuso. Statusas lieka Laukiama (angl. Pending), kol mes jį pakeisime į Atsisakyta (angl. Abandoned) po nustatyto galiojimo laikotarpio (pagal numatytuosius nustatymus – 30 minučių).

Mes nesiunčiame webhook pranešimų su Laukiama (angl. Pending) statusu, nes statusas nepasikeitė. Tačiau jis įtrauktas į užsakymo žetono returnUrl parametrą, jei mokėjimas nebuvo užbaigtas.

Kodėl mes iškart nekeičiam statuso į Atsisakyta (angl. Abandoned)?

Kai klientas atšaukia mokėjimo procesą, mes iškart nekeičiam jo statuso į Atsisakyta (angl. Abandoned), nes vis dar techniškai įmanoma, kad mokėjimas būtų užbaigiamas banke. Įsivaizduokite scenarijų, kai klientas pradeda mokėjimą su Swedbank ir pereina prie Smart-ID patvirtinimo. Tačiau, Smart-ID pranešimas vėluoja ir klientas grįžta į mokėjimo vartotojo sąsają, kad nutrauktų procesą. Tada vėluodamas pasirodo Smart ID pranešimas, ir klientas pasinaudoja proga užbaigti mokėjimą. Mūsų sistema aptinka mokėjimą ir keičia statusą iš Laukiama (angl. Pending) į Apmokėta (angl. Paid).

Yra ir kitų atvejų, kai mokėjimas gali užtrukti ilgai, ir nors klientas galėjo išeiti iš proceso, mokėjimas vis dar apdorojamas fone. Dėl Atviros Bankininkystės API mes dažnai negalime sustabdyti tokių procesų ir turime tikėtis, kad mokėjimas gali būti užbaigtas net ir po to, kai klientas išeina iš proceso. Dėl duomenų nuoseklumo mes laikome mokėjimą Laukiama (angl. Pending) statuse, kol nesame tikri, kad jis negali būti užbaigtas.

Tačiau siūlome Atsisakyta (angl. Abandoned) statusą, kai mokėjimas ilgą laiką buvo neaktyvus ir nebeįmanoma, kad jis būtų užbaigtas fone. Pagal numatytuosius nustatymus, užsakymai gauna Atsisakyta statusą po 30 minučių nuo proceso pradžios. Šį laiką galite konfigūruoti naudodami expiresIn parametrą, kaip nurodyta mūsų API dokumentacijoje. Rekomenduojame laikyti jį 15 minučių ar ilgiau.

Tokio tipo „mokėjimo užbaigimas fone“ vyksta labai retai, ir jūs būsite informuoti apie statuso pasikeitimus per webhook pranešimus.

Kaip apdoroti Laukiama (angl. Pending) statusą?

Kai klientas grįžta su Laukiama (angl. Pending) statusu, galite informuoti klientą, kad mokėjimas nebuvo užbaigtas, ir leisti jam bandyti dar kartą.

Rekomenduojame naudoti tą patį merchantReference bet kokiems pakartotiniams bandymams su tais pačiais užsakymo duomenimis. Tokiu būdu nesukuriame naujo užsakymo savo sistemose. Svarbu, kad jei ankstesnis mokėjimas su tuo pačiu merchantReference buvo užbaigtas fone (kaip aprašyta anksčiau), galime sklandžiai tvarkyti vartotojo srautą ir pakeisti užsakymo statusą į Apmokėta (angl. Paid), taip išvengiant dvigubo mokėjimo.

Tačiau, jei bendra užsakymo suma keičiasi, turėtumėte sukurti naują užsakymą su visiškai nauju merchantReference. Kitaip užsakymas gali būti pažymėtas kaip Apmokėta už mažesnę sumą nei bendra galutinė užsakymo suma.

Remiantis mūsų patirtimi, tokio proceso įgyvendinimas užtikrina geriausią vartotojo patirtį, išvengiant bet kokių dvigubo mokėjimo atvejų. Mūsų WooCommerce įskiepis taip pat veikia pagal tokią pačią logiką - jis buvo išbandytas tūkstančiuose parduotuvių, o vartotojo patirtis pasirodė esanti puiki!


Jei reikalinga papildoma pagalba, susisiekite su mūsų klientų aptarnavimo komanda per pokalbių langą, esantį apatiniame dešiniajame kampe.

Ar gavote atsakymą į savo klausimą?