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

Apple Pay fizetési folyamat

A fizetési folyamat leírását négy részre bontottuk a könnyebb átláthatóság miatt. Az elválasztás alapját a kereskedő boltjából indított négy fő lépés adja, ezek a lépések a következők:

A. InitWallet - a kereskedői munkamenet hitelesítése és 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. Result - a kétlépcsős tranzakció eredményének lekérése rendszerünkből D. Close - a kétlépcsős tranzakció lezárása

Az A, B és C 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 D lépés az első három lépést 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 kereskedői munkamenet hitelesítése és a kétlépcsős tranzakció inicializálása

  1. A kereskedő oldala az Apple Pay elérhetőségének ellenőrzése után megjeleníti az Apple Pay gombot,

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

  3. A kereskedő oldala létrehozza az Apple Pay munkamenetet a rendelés összegével és devizanemével.

  4. A munkamenet onvalidatemerchant eseményének hatására a kereskedő oldala elküldi a kereskedő szerverének a fizetési oldal címét és az esemény validationURL értéké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) és az Apple Pay kereskedői munkamenetének adatait küldi vissza a kereskedő szerverének (sikeres hitelesítés esetén).

  8. A kereskedő szervere tárolja az egyedi tranzakció azonosítót, a munkamenet adatait pedig változatlanul visszaadja a kereskedő oldalának.

  9. A kereskedő oldala a kapott munkamenet adatokkal lezárja a kereskedői munkamenet hitelesítését (session.completeMerchantValidation()).

Az inicializálás során a natív fizetési módot a Wallet.Type paraméter (apple_pay), a kliens típusát a Wallet.Environment paraméter (web), a fizetési oldal címét pedig a Wallet.ShopUrl paraméter jelöli. Mindkét fizetési szolgáltatónál át kell adni az onvalidatemerchant esemény validationURL értékét is (Wallet.ValidationUrl).

SimplePay esetén az inicializálás során a fizetési szolgáltatónál is létrejön a tranzakció. Barion Smart Gateway esetén ekkor kizárólag a kereskedői munkamenet hitelesítése történik meg, a szolgáltatói fizetési tranzakció a tranzakció indításakor (StartWallet) jön létre.

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

  1. A vásárló jóváhagyja a fizetést az Apple Pay felületén,

  2. ezután a kereskedő oldala az onpaymentauthorized eseményből kapott teljes fizetési tokent (event.payment.token) elküldi a kereskedő szerverének.

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

  4. Rendszerünk ellenőrzi a tranzakció azonosítót és továbbítja a fizetési tokent a fizetési szolgáltatónak (sikeres ellenőrzés esetén), majd megtörténik a tranzakció összegének befoglalása,

  5. ezután rendszerünk megválaszolja a befoglalás eredményét a kereskedő szerverének.

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

  7. A kereskedő oldala a kapott válasz alapján lezárja az Apple Pay felületét (completePayment()), hiba esetén sikertelen eredményt jelezve a vásárlónak.

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

  9. Rendszerünk a fizetési szolgáltatótól kapott eredmény alapján beállítja a tranzakció státuszát. Az eredmény a fizetési szolgáltatótól függően aszinkron módon is megérkezhet.

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

Ha a vásárló a fizetési token létrejötte előtt megszakítja a munkamenetet, ne indítsa el a tranzakciót. Új fizetési kísérlethez új Apple Pay munkamenetet és új tranzakciót hozzon létre.

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

A tranzakció indítására (StartWallet) kapott SUCCESSFUL eredménykód a kérés sikeres feldolgozását jelzi, nem a befoglalás sikerességét. SimplePay esetén a végleges eredmény aszinkron módon is megérkezhet, ezért a függőben lévő tranzakciót a kereskedő felületén folyamatban lévő fizetésként jelezze. Apple Pay fizetés esetén a folyamat nem tartalmaz külön tranzakció befejezése (CompleteWallet) lépést.

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