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 három részre bontottuk a könnyebb átláthatóság miatt. Az elválasztás alapját a kereskedő boltjából indított három 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 tranzakció inicializálása B. StartWallet - a fizetési token átadása és a tranzakció indítása C. Result - a tranzakció eredményének lekérése rendszerünkből

A hármas felosztás ellenére a felsorolt pontok együttesen adják ki a teljes fizetési folyamatot. A felsorolt pontok egy sikeres fizetési folyamatot írnak le.

A. InitWallet - a kereskedői munkamenet hitelesítése és a 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 mobiltárcás fizetési tranzakciót kezdeményez rendszerünkben (InitWallet).

  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ő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 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),

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

  6. A kereskedő szervere a tranzakció indításának eredményét 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ó végleges 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ó végstá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 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 tranzakció eredményét rendszerünkből.

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

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

  4. A kereskedő szervere tárolja a tranzakció 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 rendelés kifizetettsé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 hitelesítés lezárása (CompleteWallet) lépést.

Utoljára frissítve:

Hasznos volt ez?