For the complete documentation index, see llms.txt. This page is also available as Markdown.

Google Pay fizetési folyamat

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

Az A, B és D lépések együttesen adják ki a vásárló jelenlétében történő fizetési folyamatot, ami a tranzakciós összeg befoglalásával végződik.

A C lépésre kizárólag Barion Smart Gateway esetén, és csak akkor kerül sor, ha a tranzakció indítására (StartWallet) kapott válasz hitelesítési adatot (ThreeDSAuthClientData) tartalmaz. SimplePay esetén ez a lépés nem része a folyamatnak.

Az E lépés az előző lépéseket követően később is elvégezhető, de ennek hatására fejeződik be a tranzakció terheléssel, vagy a befoglalt összeg feloldásával.

A felsorolt pontok egy sikeres fizetési folyamatot írnak le.

A. InitWallet - a kétlépcsős tranzakció inicializálása

  1. A kereskedő oldala a Google Pay elérhetőségének ellenőrzése után megjeleníti a Google Pay gombot a kiválasztott fizetési szolgáltatóhoz tartozó tokenizációs adatokkal,

  2. ezután a vásárló megnyomja a gombot.

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

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

  5. A kereskedő szervere új, kétlépcsős mobiltárcás fizetési tranzakciót kezdeményez rendszerünkben (InitWallet), az AutoCommit paraméter false értékével.

  6. Rendszerünk hitelesíti a beérkezett kérést (autentikáció),

  7. ezután rendszerünk egy egyedi tranzakció azonosítót (TransactionId) küld vissza a kereskedő szerverének (sikeres hitelesítés esetén).

  8. A kereskedő szervere tárolja az egyedi tranzakció azonosítót.

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 vásárló e-mail címét (Wallet.PayerEmailAddress) Barion Smart Gateway esetén kötelező átadni.

B. StartWallet - a fizetési token átadása és a kétlépcsős tranzakció indítása

  1. 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).

  2. Rendszerünk ellenőrzi a tranzakció azonosítót és a kapott fizetési tokennel elindítja a fizetést a fizetési szolgáltatónál (sikeres ellenőrzés esetén), majd megtörténik a tranzakció összegének befoglalása,

  3. ezután rendszerünk megválaszolja a tranzakció indításának eredményét a kereskedő szerverének.

  4. A kereskedő szervere az eredményt visszaadja a kereskedő oldalának.

  5. Ha a válasz nem üres visszairányítási URL címet (RedirectUrl) tartalmaz, a kereskedő oldala erre a címre irányítja a vásárló böngészőjét (SimplePay esetén). A vásárló a hitelesítést vagy a függőben lévő fizetés feldolgozását követően rendszerünkön keresztül tér vissza a kereskedő oldalára.

  6. Ha a válasz nem üres hitelesítési adatot (ThreeDSAuthClientData) tartalmaz, a fizetés a C. lépéssel folytatódik (Barion Smart Gateway esetén).

  7. 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 átadott NotificationUrl címet is.

A tranzakció indításakor a fizetési tokent a Wallet.Token paraméterben kell átadni; az inicializálás nem tartalmazhatja.

Google Pay fizetés esetén a fizetési token már a vásárlói jóváhagyáskor létrejön, ezért a folyamat nem tartalmaz kereskedői munkamenet-hitelesítést. A fizetési tokent változatlan szöveges formában továbbítsa, a fizetési szolgáltató felé szükséges Base64-kódolást rendszerünk végzi el.

C. CompleteWallet - a vásárló hitelesítésének lezárása

  1. 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,

  2. ezután a kereskedő oldala értesíti a kereskedő szerverét a hitelesítés befejeződéséről.

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

  4. 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,

  5. ezután rendszerünk megválaszolja a tranzakció státuszát a kereskedő szerverének.

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

A C.1. lépésben leírt hitelesítés a Barion Smart Gateway webes hitelesítő kliensének authenticate() függvényével történik. A rendelés állapotát ne kizárólag a böngészőben kapott sikeres hitelesítési esemény alapján állítsa be, hanem a tranzakció státusza alapján.

D. Result - a kétlépcsős tranzakció eredményének lekérése rendszerünkből

  1. A kereskedő szervere a ResponseUrl és NotificationUrl hívás hatására egy tranzakció azonosítót tartalmazó Result kéréssel lekérdezi a befoglalás eredményét rendszerünkből.

  2. Rendszerünk ellenőrzi a tranzakció azonosítót,

  3. ezután rendszerünk megválaszolja a befoglalás státuszát a kereskedő szerverének (sikeres ellenőrzés esetén).

  4. A kereskedő szervere tárolja a befoglalás státuszát, majd a kereskedő oldala értesíti a vásárlót a tranzakció eredményéről.

Ismeretlen kimenetelű hálózati hiba után előbb a meglévő tranzakció eredményét kérdezze le, és ne indítson automatikusan újabb terhelést.

E. Close - a kétlépcsős tranzakció lezárása

  1. 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ása

  2. Rendszerü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.

  3. Ezután rendszerünk megválaszolja a lezárás eredményét a kereskedő szerverének (sikeres hitelesítés esetén).

  4. 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?