Google Pay fizetési folyamat (fizetőeszköz-regisztrációhoz)
A fizetési folyamat leírását öt részre bontottuk a könnyebb átláthatóság miatt. Az elválasztás alapját a kereskedő boltjából indított öt fő lépés adja, ezek a lépések a következők:
A. InitWallet - a kétlépcsős tranzakció inicializálása fizetőeszköz-regisztrációval
B. StartWallet - a fizetési token átadása és a kétlépcsős tranzakció indítása
C. CompleteWallet - a vásárló hitelesítésének lezárása
D. Result - a kétlépcsős tranzakció eredményének lekérése rendszerünkből
E. Close - a kétlépcsős tranzakció lezárása
A fizetőeszköz-regisztráció natív mobiltárcával kizárólag Barion Smart Gateway szolgáltatóval és Google Pay fizetéssel lehetséges. A kliens allowedAuthMethods listáját már a fizetési token létrehozásakor kizárólag PAN_ONLY értékre kell szűkíteni.
A. InitWallet - a kétlépcsős tranzakció inicializálása fizetőeszköz-regisztrációval
A kereskedő oldala a Google Pay elérhetőségének ellenőrzése után megjeleníti a Google Pay gombot a
PAN_ONLYhitelesítési móddal és a Barion tokenizációs adataival,ezután a vásárló megnyomja a gombot.
A kereskedő oldala megnyitja a Google Pay fizetési felületét, ahol a vásárló kiválasztja a fizetőeszközt és jóváhagyja a fizetést.
A kereskedő oldala elküldi a kereskedő szerverének a Google Pay fizetési tokent (
paymentData.paymentMethodData.tokenizationData.token) és a vásárló e-mail címét.A kereskedő szervere új, kétlépcsős mobiltárcás fizetési tranzakciót kezdeményez rendszerünkben a regisztrációs paraméterek átadásával (
InitWallet).Rendszerünk hitelesíti a beérkezett kérést (autentikáció),
ezután rendszerünk egy egyedi tranzakció azonosítót (
TransactionId) küld vissza a kereskedő szerverének (sikeres hitelesítés esetén).A kereskedő szervere tárolja az egyedi tranzakció azonosítót a vásárlóhoz és a rendeléshez rendelve.
Az inicializálás során a natív fizetési módot a Wallet.Type paraméter (google_pay), a kliens típusát pedig a Wallet.Environment paraméter (web) jelöli. A fizetőeszköz-regisztrációt a PaymentRegistration, a PaymentRegistrationType (MIT) és az egyedi UserId paraméter kéri. Az AutoCommit paraméter értéke false.
Az inicializálásra és a tranzakció indítására a kereskedő szerver oldalán kerüljön sor. Biztonsági okokból a hitelesítési adatok nem kerülhetnek a böngészőbe, a rendelés összegét, devizanemét és a kiválasztott fizetési szolgáltatót pedig szerver oldalon ellenőrizze.
B. StartWallet - a fizetési token átadása és a kétlépcsős tranzakció indítása
A kereskedő szervere a tárolt tranzakció azonosítóval és a fizetési tokennel (
Wallet.Token) elindítja a tranzakciót rendszerünkben (StartWallet).Rendszerünk ellenőrzi a tranzakció azonosítót és a kapott fizetési tokennel elindítja a fizetést és a fizetőeszköz regisztrációját a fizetési szolgáltatónál (sikeres ellenőrzés esetén),
ezután rendszerünk megválaszolja a tranzakció indításának eredményét a kereskedő szerverének.
A kereskedő szervere az eredményt visszaadja a kereskedő oldalának.
Ha a válasz nem üres hitelesítési adatot (
ThreeDSAuthClientData) tartalmaz, a fizetés a C. lépéssel folytatódik.Rendszerünk a tranzakció státuszának beállítását követően aszinkron módon meghívja az inicializáció (
InitWallet) során átadottNotificationUrlcímet is.
A tranzakció indításakor a fizetési tokent a Wallet.Token paraméterben kell átadni. A regisztrációs paramétereket nem kell újra megadni, azokat rendszerünk az inicializálás során kapott adatokból veszi.
A tranzakció indítására kapott SUCCESSFUL eredménykód a kérés sikeres feldolgozását jelzi, nem a befoglalás és a fizetőeszköz-regisztráció sikerességét. Már elindított tranzakcióra ne ismételje meg automatikusan a StartWallet kérést.
C. CompleteWallet - a vásárló hitelesítésének lezárása
A kereskedő oldala átadja a kapott hitelesítési adatot (
ThreeDSAuthClientData) a Barion Smart Gateway webes hitelesítő kliensének, amely elvégzi a vásárló hitelesítését,ezután a kereskedő oldala értesíti a kereskedő szerverét a hitelesítés befejeződéséről.
A kereskedő szervere a tranzakció azonosítójával jelzi rendszerünknek, hogy a hitelesítés lezárult (
CompleteWallet). A kérés a hitelesítés kimenetelétől függetlenül kizárólag a tranzakció azonosítóját tartalmazza: a hitelesítés eredményét rendszerünk a fizetési szolgáltatótól kérdezi le.Rendszerünk lezárja a fizetést a fizetési szolgáltatónál, majd beállítja a tranzakció státuszát a fizetési szolgáltató válasza alapján,
ezután rendszerünk megválaszolja a tranzakció státuszát a kereskedő szerverének.
A kereskedő szervere a kapott státusz alapján tájékoztatja a kereskedő oldalát a hitelesítés és a befoglalás eredményéről.
D. Result - a kétlépcsős tranzakció eredményének lekérése rendszerünkből
A kereskedő szervere a
ResponseUrlésNotificationUrlhívás hatására egy tranzakció azonosítót tartalmazóResultkéréssel lekérdezi a tranzakció eredményét rendszerünkből.Rendszerünk ellenőrzi a tranzakció azonosítót,
ezután rendszerünk megválaszolja a tranzakció státuszát a kereskedő szerverének (sikeres ellenőrzés esetén).
A kereskedő szervere tárolja a tranzakció státuszát és a regisztráció létrejöttét, majd a kereskedő oldala értesíti a vásárlót a tranzakció eredményéről.
Figyeljen arra, hogy minden NotificationUrl hívást követően is indítson egy Result kérést rendszerünk felé.
E. Close - a kétlépcsős tranzakció lezárása
A kereskedő kezdeményezi a tranzakció lezárását a tranzakció azonosító segítségével (
TransactionId) és a lezárás módjának megadásával, mely lehet: • a teljes befoglalt összeg terhelése • a befoglalt összeg részterhelése (és a maradék összeg feloldása) • a teljes befoglalt összeg feloldásaRendszerünk hitelesíti a beérkezett kérést, majd továbbítja azt a fizetési szolgáltató felé, aki végrehajtja a tranzakció lezárását.
Ezután rendszerünk megválaszolja a lezárás eredményét a kereskedő szerverének (sikeres hitelesítés esetén).
A kereskedő szervere tárolja a kapott választ és értesíti a vásárlót a tranzakció eredményéről.
Utoljára frissítve:
Hasznos volt ez?

