Internetes kártyás fizetés, elmegy, honnan tudom
Üdv mindenkinek.
Egy olyan weboldal készítésével bíztak meg, amelyen a CIB Bank internetes bankkártyás fizetési szolgáltatását szeretnék használni.
Ez rendben is.
Olvasom a dokumentációt, és egy kicsit elgodolkodtató dolgot kell benne megvalósítani.
Lehet hogy tudom a megoldást, de hogy már egy ideje nem ugrik be semmi az tuti... ami pedig elsőre beugrott az háát... nem tudom, végső esetben csak. Ha nincs más.
Nos, leírom dióhéjban, lehet van aki tud megoldást, de nem nagyon ismeri ezt a dolgot. Elképzelhető hogy én nem vagyok még valamivel tisztában, de úgy tűnik a lényeges fonalat már elkaptam...
1. az áruház oldalán fizetési módot választunk, elküldjük a banki szervernek az adatokat (összeg, tranzakció azonosító, stb...)
2. átirányítás a fizetési oldalra (itt adja meg a vásároló a kártya adtokat)
3. átirányítás az áruház oldalra ahol most a lezárást küldjük el a banknak
Erre a balhéra 10 perc van.
Ha az 1. lépésben történt küldés után 10 percig a bank nem kapja meg a 3. lépésben küldendő adatokat akkor a bank automatikusan reverzálja (visszafordítja, törli) a tranzakciót és erről az árhuháznak kötelessége a vásárlót értesíteni emailben.
Ez még menne is, ha a banki szerver meghívná az áruház egyik fájlját azután a bizonyos 10 perc után.
De itt a bökkenő hogy nem "hív" az semmit...
Szóval hogy lehet 10 perc múlva mailt küldeni ha nincs "meghívva" semmi?
CRON? Mi van ha nem tudok Cront beállítani a szerveren PHP-ből?
Akkor percenként futtassak egy PHP-t és ha akció van akkor végrehajtsa? Ez nem fogja meg a szervert túlságosan?
A rendszergazdi általi fenyítést szeretném elkerülni.
Előre is köszönöm
■ Egy olyan weboldal készítésével bíztak meg, amelyen a CIB Bank internetes bankkártyás fizetési szolgáltatását szeretnék használni.
Ez rendben is.
Olvasom a dokumentációt, és egy kicsit elgodolkodtató dolgot kell benne megvalósítani.
Lehet hogy tudom a megoldást, de hogy már egy ideje nem ugrik be semmi az tuti... ami pedig elsőre beugrott az háát... nem tudom, végső esetben csak. Ha nincs más.
Nos, leírom dióhéjban, lehet van aki tud megoldást, de nem nagyon ismeri ezt a dolgot. Elképzelhető hogy én nem vagyok még valamivel tisztában, de úgy tűnik a lényeges fonalat már elkaptam...
1. az áruház oldalán fizetési módot választunk, elküldjük a banki szervernek az adatokat (összeg, tranzakció azonosító, stb...)
2. átirányítás a fizetési oldalra (itt adja meg a vásároló a kártya adtokat)
3. átirányítás az áruház oldalra ahol most a lezárást küldjük el a banknak
Erre a balhéra 10 perc van.
Ha az 1. lépésben történt küldés után 10 percig a bank nem kapja meg a 3. lépésben küldendő adatokat akkor a bank automatikusan reverzálja (visszafordítja, törli) a tranzakciót és erről az árhuháznak kötelessége a vásárlót értesíteni emailben.
Ez még menne is, ha a banki szerver meghívná az áruház egyik fájlját azután a bizonyos 10 perc után.
De itt a bökkenő hogy nem "hív" az semmit...
Szóval hogy lehet 10 perc múlva mailt küldeni ha nincs "meghívva" semmi?
CRON? Mi van ha nem tudok Cront beállítani a szerveren PHP-ből?
Akkor percenként futtassak egy PHP-t és ha akció van akkor végrehajtsa? Ez nem fogja meg a szervert túlságosan?
A rendszergazdi általi fenyítést szeretném elkerülni.
Előre is köszönöm
A bank a 3. lépésben meghív
Célszerű megírni az ellenőrző scriptet előre és a tárhelyed üzemeltetőjének megadni, hogy állítsa be cronba ha linuxos server, időzített feladatokba win szerveren. A rendszergazda így nem fenyít be, de ha mégis és nem állít neked cront, akkor keress másik szolgáltatót, nem kevés van. ;)
Van cron...
Cron-t tudok én is beállítani - Siteworx - csak PHP-ből nem tudom lehet-e.
De az alapján amit írtál, mindenképp elolvasom mégegyszer az kézikönyvet bár úgy láttam hogy én hívom meg a 3. lépésben a banki szervert, ami arra válaszol vissza... vagy te arra gondolsz mikor a fizető oldalról az áruház oldalra irányít?
Bár igaz, akkor már futtat... hmm.
De értem a megoldásod, akkor marad a Cron-os ellenőrizgetés.
Akkor hogy minél kevésbbé legyen terhelő, akkor csak egy dolgot ellenőriz pl. egy timestamp-ot adok mindhez és amelyik 10 percnél "fiatalabb" akkor annál eksün'...
Akkor az elmélet alakulgat, de az a baj hogy a titkosítással is gondom van... abban esetleg tudnál, tud-e valaki segíteni?
A szerver 403-at ad vissza már első lépésnél, mikor én küldök változókat a szervernek.
Vagy szerződés nélkül nem lehet "próbálgatni"?
Valószínű, hogy szerződés
A titkosítást többnyire kommunikációs layer szinten valósítják meg (https), bár a SOAP lehetőséget ad a tartalom titkosítására is, de szerintem bármely webservice protokollal megoldható az adatok további titkosítása, ha igény van rá.
(Csak zárójelben)
Ezt sessionnal vagy adatbázissal még az adott bankhoz való átirányítás előtt érdemes vizsgálni (ha a Te bankod sem ad vissza semmi ilyesfajta adatot), tehát hogy az utolsó submit gomb megnyomása előtt történt e valami csalárdság a kliensen :-)
Ha nem ilyen akkor éljen, csak gondoltam szólok :-)
Üdv:
Gábor
hidden
Őőő, nem úgy tudom...
Azt hiszem a CIB-es rendszernél az egyik utolsó lekérdezésnél a válaszban megkapjuk az értéket, amit összehasonlítunk a elsőnek elküldöttel, ha nem egyezik akkor sztornó.
Az OTP-st nem tudom van-e benne...
Poetro:
A tranzakció azonosítót (TRID) te generálod és küldöd el az első lekérésben a szervernek, ez végigmegy az összes lépésen, evvel tudod azonosítani a tranzakciót a végén.
Payment Gateway
nincs semmi közöm a paymentgatway.hu-hoz sem a mögötte álló BigFishez