Hogyan tudom ezt megcsinálni?
Van egy paypal fizetés integrációm egy honlapon. Működik teljesen jól, de meg lehet határozni egy return oldalt, ahová irányít a paypal miután a tranzakció megtörtént. Ezt én egy jquery kóddal határozom meg, mert szükségem van a form-ot kitöltő személy adataira.
Focusout-tal kiszedem a nevet és az összeget, de a név mindig fura karakteres lesz, ha az url-be kerül. Amúgy ezen kívül semmi gond nincs. Mondjuk Kiss János-ból ez lesz: Kiss János
Hogyan lehetne ezt megoldani? Fel kéne vinnem adatbázisba a nevet és az összeget, de így elég nehézkes és sajnos olyan nyelvterületen élünk, ahol az ékezetes karakterek mindennaposak. :) :D
Ez maga a kód:
$(document).ready(function() {
$("#amount").focusout(function() {
var amount = $("#amount").val();
var name = $("#name").val();
$("#return").val(" [link] + amount + "&name=" + name);
});
$("#name").focusout(function() {
var amount = $("#amount").val();
var name = $("#name").val();
$("#return").val(" [link] + amount + "&name=" + name);
});
});
ja szóval te is kontárkodsz.:D
ha viszont nem akkor jó nagy szégyen hogy nem tudod mi a hiba oka.
[link] itt mindent megtudhatsz...de az is elég lett volna ha kiguglizod fél perc alatt.
Ezt meg a paypalnál kell beállítanod,ahogy nézem:
<INPUT TYPE="hidden" name="charset" value="utf-8">
De egyébként a kódot is utf-8-ba kell elmentened BOM nélkül..
stb..
Annak aki az utf-8-as charset headbe való beillesztését hiányolta tőlem az egy kicsit elgondolkodhatna a programozói tudásán. Mi köze van a GET-ben átadott információnak (mert az URL az bizony lényegében a GET tömb) ahhoz, hogy beállítottad-e a html dokumentum karakterkészletét? Amúgy van charset a head-ben.
Egyébként pedig másféleképpen fogom megoldani. Úgy lesz, hogy párhuzamosan indítok egy aszinkron adatbázis insert-et, így bemennek az adatok, majd ha ha visszakapok egy egyest GET-ből a végén a return url-lel, akkor aktiválom az insert-et, alapértelmezetten meg nullás lesz a sorban. Így csak azokat számítom bele, akiknél a mondjuk active_status oszlopban egyes van.
A biztonsági problémákat illetően pedig maga a kifizetés POST-ban megy, és konkrétan ez a form van megadva a paypal dokumentációban, csak részletekben. Amúgy meg semmi mást nem csinálok, mint egy form-ból adatokat küldök úgy, hogy a paypal által meghatározott url címre action-ölök. Ennyi. Ennyi erővel az összes form biztonsági kockázatot jelent. Honnan tudjátok, hogy a paypal oldala hogyan szűri meg az input-okat? Nyilván nem engedik, hogy valaki primitív módon egy sima sql injection-nel feltölre az adatbázisukat.
Igen, biztonság szempontjából ez a gond, hogy POST -ban megy,
gyerek játék manipulálni, csak az F12 -vel elérhető eszközök kellenek...
Van rendes API -ja is ami PHP szinten kommunikál kliens csak egy token el lesz átirányítva, fizetés után vissza irányítja és ellenőrizhető a fizetés állapota szintén szerver oldalon.
- PHP -val meghívod háttérben a szervert, hogy mennyit fizet, milyen URL -re érkezzen vissza,
- az vissza ad egy státuszt kódot, egy token -el együtt amivel átirányítod a fizető felületre,
- fizetés sikeressége után vissza kerül a weboldal at adot token -el,
- vissza ellenőrzöd fizető rendszernél, szerver oldalon, hogy mi a fizetés státusza.
- státusznál meg kapod, hogy fizetve, vissza vonva, nincs fedezett....
Fizető rendszer UTF8 -at használ.
Neked is azt kell mindenütt használnod!
Fájlok UTF-8 BOM nélküliek legyenek.
PHP-HTML fejléc is UTF-8 Charset -re legyen állítva.
Adatbázis is UFT-8 Generic/Hungarian legyen,
illetve ne felejtsd el a SQL kapcsolatot is definiálni UTF-8 -ra.
Az URL -ből vissza érkező paraméterek mindig UTF8(/16) -os kódolásúak.
Ő és Ű betűkkel lehet gondod ha URL Encodolt paramétert kapsz.
%u0151 => ő
%u0150 => Ő
%u0171 => ű
%u0170 => Ű
1 Szerintem a paypal get-es interface-e csak donate-ra van kitalálva, nem elektronikus vásárlásta.
2 attól hogy az url-ben nem jelennek meg az ékezetek, konverzióval kaphatunk belőle normális adatokat
3 vannak böngészők, amik nem tudnak a címsorban ékezeteket megjeleníteni.
Szerintem gondold át ezt a fizetési rendszer még egyszer.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!