WooCommerce plugin azonnali fizetésekhez

A Credetra pay@WEB plugin integrálja a WooCommerce boltodat a Credetra szerver oldalához. Segít abban, hogy MNB standard azonnali fizetés (AFR) QR kódot jeleníts meg a vásárlóidnak, és kezeld a visszajelzéseket.

Azonnaliság, időnyomás

Az utalással fizetés a vásárlási folyamat része lesz, és nem egy időben és térben különálló esemény, mint például egy díjbekérő a megvárása. A vásárlód nem fog hátradőlni, hogy "majd valamikor jön valami, amire utalnom kell", hanem egyből intézi az átutalást.

Kommunikáció a vásárlóval

Az ügyfeled vissza tud jelezni, hogy elutalta a pénzt, vagy visszalépett a fizetéstől. A feldolgozási / követő folyamataidat ennek tudatában tudod optimalizálni. Azon dolgozunk, hogy a pénz megérkezésekor automatikusan tovább tudjon lépni a folyamat.

Kevesebb hibalehetőség

Nincs több "megrendelő-azonosítót kérjük tűntesse fel a megjegyzés mezőben" üzenet. A QR kódos fizetéssel minden adat helyesen kerül átadásra. Nem kell díjbekérőt kiküldened, ami vagy a spam mappába landol, vagy egyszerűen elkerüli a vásárló figyelmét.

Árukészlet optimalizálás

A folyamatban lévő fizetési megbízások fogják az árukészletedet - akár napokig is eltarthat, amíg eléred az ügyfelet, és lerendezi a fizetést. Elállás esetén a készlet azonnal felszabadul, nem kell várnod. Az értékesítési folyamatod jelentősen felgyorsul.

Támogatott folyamat

A webshopban összeáll a csomag

A WooCommerce gondoskodik a kosár kezeléséről és a megrendelés összeállításáról.

A vásárló fizetési módot választ

És kitölti a szállítási címet, ha szükséges. Fizetés gombbal lép tovább a felület és betöltődik a Credetra pay@WEB oldala.

A pay@WEB előállítja a QR kódot

A kártyás fizetésekhez hasonlóan megjelenik a tranzakció számlaszáma, partnere, összege is.

A vásárló bármikor elállhat az utalástól

A mégsem gomb megnyomásával felület visszalép a webshop "checkout" oldalára. A megrendelésnél látod a státusz-váltást.

A vásárló scanneli és indítja az átutalást

A vásárló a saját bankjának mobilbankjával beolvassa a QR kódot, majd jóváhagyja az átutalást. Az adatok kézi másolásával is indíthat utalást.

A bankok elvégzik az átutalást

A pénz közvetlenül jut el a vásárló számlájáról a kereskedő számlájára, nincs köztes szereplő. Az átutalás díját a vásárló fizeti.

A pay@WEB felület kezeli a visszajelzést

Vagy az ügyfél jelez meg manuálisan, vagy (támogatott bank esetén) automatikusan megtörténik. A felület navigál a thank-you oldalra.

A plugin ellenőrzi a státuszt a szerveren

Meggyőződik a tényleges teljesülésről, és folytatja a WooCommerce feldolgozási folyamatot. Az ellenőrzés eredményét a jegyzetek között találod.

Technikai leírás integrátoroknak, fejlesztőknek

Alap követelmények

  • WooCommerce példányod a WordPress Plugin könyvtárának `woocommerce` alkönyvtárában található.
  • WooCommerce portálod pénzneme magyar forint (HUF)

  • WooCommerce szervered eléri és meghívhatja a https://payweb.credetra.com oldalt.
  • Rendelkezel Credetra API key-el.

Testreszabott portálokhoz integrációs információk

A plugin a WordPress / WooCommerce standard funkcióit és szolgáltatásait használja (web hooks, API hooks). Elvileg nem lehetne probléma, de azt javasoljuk, hogy először egy teszt-környezetben próbáld ki a működést.

A legfontosabb, hogy az alábbi két megrendelés-státusznak léteznie kell a rendszerben: on-hold, failed (fizetés alatt, meghiúsult). Az elsőt akkor használjuk, amikor a vásárló rákattint a fizetés gombra, a másodikat pedig akkor, amikor a Credetra oldalon (esetlegesen) rákattint a "mégsem" / "cancel" gombra, vagy a fizetést nem tudta időben elintézni (timeout).

Siker esetén a plugin meghívja a megrendelés (`order`) `payment_complete` funkcióját - szóval, ha ezt felülírtad, akkor az általad megírt kód fog futni, és a megrendelés a megfelelő státuszba kerül.

A plugin egy API hook-ot is létrehoz a standard API URL-en, `/credetra/` hozzáadásával - ezen kap értesítést a státuszváltásról. Ha esetleg ezt az API hook-ot használod (nem hiszem, hogy ez előfordulhat), akkor nem biztos, hogy működni fog.

Az `add_order_note` funkciót használjuk: a megrendelésnél jegyzetekben tároljuk az ellenőrzés folyamatának lépéseit. Az üzenetek i18n kompatibilisek (többnyelvűség), a site-od nyelvének megfelelően fogja írni a jegyzeteket.

Az `order` (megrendelés) objektum meta-data szekcióját használjuk átmeneti információ-tárolásra. Nem töröljük ki őket, így az utolsó állapotot mindig megőrzi. Ha nem szereted, hogy felgyűlik az adat, akkor írhatsz rá egy ütemezett feladatot. A meta-adatok `_credetra` előtaggal kezdődnek.

A több-nyelvűséget Loco Translate file-ok biztosítják. Az alapértelmezett mellett a magyart támogatjuk, nyugodtan írd át olyanra, amilyenre szeretnéd. Arra viszont figyelj, hogy a file-ok a plugin könyvtárban találhatók, a frissítések felülírhatják őket. Mindig legyen róla mentésed.

Gyakran ismételt kérdések

Ez a plugin bármilyen WordPress alapú portállal működik?

Nem. A Credetra plugin kizárólag WooCommerce alatt működik. Specifikus státuszokat és szolgáltatásokat használ, ezért.

Ingyenes a plugin?

Részben. Nem kell fizetned semmit a plugin letöltéséért. A használatért (QR generálásért) viszont igen.

Milyen mobilbankok támogatják az MNB standard QR kódot?

Az oldal írásakor a Raiffeisen és a Gránit Bank alkalmazásai támogatják a QR kódból indított azonnali fizetési műveleteket. Arra számítunk, hogy további bankok fogják implementálni a kód támogatását.

Az OTP mobilbankja miért nem olvassa a QR kódot?

Jelenleg az OTP és a Simple alkalmazásai nem támogatják az MNB standard QR kódot, saját szabványuk van. A támogatás a jövőben változhat.

Mi az, hogy az ügyfél 'megígérte', hogy átutalta az összeget?

Jelenleg a Credetra célja, hogy segítse a vásárlóidat abban, hogy pontosan kitöltsék az átutalási megbízást QR kód beolvasással. Ebben a tekintetben pontosan ugyanolyan, mint egy átutalással történő fizetés, csak szebb a felhasználói felület, mint a standard WooCommerce oldalak. Az alábbi állapot-átmeneteken mennek keresztül a megrendelések:

Amikor a vásárló rákattint a "kifizettem" gombra, a megrendelés státusza `on-hold`-ban marad, hogy le tudd ellenőrizni a számlatörténetedet, hogy az tényleg megtörtént-e. Valószínűleg jelenleg is ez a folyamatod az átutalásos fizetésekre.

Amennyibe a bankod támogatja a Credetra integrációt, akkor a felületen nem is látszik a "kifizettem" gomb. Ebben az esetben a Credetra ellenőrzi, hogy megérkezett-e a számládra a pénz, és ekkor a megrendelés státusza 'feldolgozás alatt'-ra változik (`processing`). A számlázási / feldolgozási folyamataid automatikusan indulhatnak.

Az én bankom támogatja az azonnali visszajelzést a Credetra-ban?

A rövid válasz: nem.

A hosszú válasz: jelenleg Magyarországon egyetlen bank támogatja a hatékony üzenetküldés szentháromságát (azonnaliság, felügyelet-mentesség, feldolgozhatóság) és egyben az azonnali fizetést is: a TransferWise. (Na jó, az adottságok miatt a MagnetBank is esetleg szóba-jöhet.) Jelenleg azon dolgozunk, hogy a TransferWise számlák integrálhatóak legyenek. Az ezzel kapcsolatos híreket a Credetra weboldalán és Facebook oldalán találhatod.

Miért nincs teszt QR generálás?

Nincs rá szükség ahhoz, hogy kóddal külön teszteket csinálj. Bekapcsolhatod a debug módot (logot ír, elég sokat), valamint a teszt-felhasználó funkciót. Ez azt csinálja, hogy a fizetési módszert csak az általad beírt felhasználónak ajánlja fel. Így le tudod ellenőrizni, hogy minden rendben van-e a plugin illesztéssel és, hogy az tényleg úgy működik, ahogy azt elképzelted.

Miért nem javasolt a debug-mód használata?

A debug log saját file-okat ír, és rendkívül szószátyár. Csak a technikai részleteket tárolja - többnyire a fejlesztést támogatja. Azért hagytuk benne, mert elképzelhető, hogy valamilyen techniaki ellenőrzésnél, hálózati problémák feltérképezésekor jól jöhet. Az éles működés közben túl sok jelentősége nincs. A log nem tartalmaz szenzitív információt, csak rajtad áll, hogy bekapcsolva hagyod, vagy sem.

Több jegyzet (note) is van a megrendelésnél, ami azt mutatja, hogy a tranzakció-státusz le lett ellenőrizve. Miért van ez?

Minden egyes alkalommal, amikor a tranzakció státusz ellenőrzésre kerül, az eredményt feljegyezzük. Bizonyos esetekben a felhasználó böngészője rendetlenkedhet, és a callback végpontot többször is meghívja - ennek az eredményét láthatod.

Miért tart sokáig, amíg a Credetra weboldalról visszatér a thank-you oldalra a vásárló?

Meglepő lehet, de valószínűleg csak magadat okolhatod. A Credetra az alábbi folyamatot használja a visszairányításhoz:

  • A Credetra oldal lekérdezésekor a böngésző egy 302-es (temporary moved - átirányítás) választ kap, a plugin által megadott callback url-re. Az óra a Credetra oldalon pörög a felhasználó böngészőjében.
  • Az átirányításkor a WooCommerce szerveren a callback végpont ellenőrzi a státuszt a Credetra szerveren, és az eredmények megfelelően reagál.
  • Meghívja a `payment_complete()` funkciót - amennyiben sok feldolgozási elem van (esetlegesen nem működő elemek is) az állapotátmenetre rákötve, a folyamat sokáig tarthat.
  • Kiüríti a vásárló kosarát
  • A WooCommerce szerver visszaad egy 302-es (temporary moved) választ a `thank-you` oldalra. Szintén átirányítás.
  • WooCommerce kiszolgálja az átirányítás-kérést, és megjeleníti a "köszönjük a megrendelést" oldalt

Azt biztosan tudjuk modani, hogy nem működő / hiányzó email szerver a WooCommerce alapértelmezett telepítésében legalább 5 mp-es várakozást eredményez. Ha kikapcsolod a felesleges emailek küldését, azzal sokat tudsz gyorsítani.

Ha mégis azt gondolod, hogy Credetra a lassú, bekapcsolhatod a debug logot, és megnézheted a válaszidőket.

Platform

PHP 7.0+

WordPress 4.7+

WooCommerce 4.4.1+

Loco Translate 2.4.4+

Változás-követés

A teljes listát itt találod:

Olvass tovább...