ugrás a tartalomhoz

PayPal IPN válasz Invalid, pedig megtörténik az utalás

molnigee · 2012. Dec. 20. (Cs), 18.45
Üdv!

PayPal fizetést próbálok csinálni az oldalamra, teszteltem élesen, megkapom a paypaltól az adatokat amit vissza kell küldeni, el is küldöm, a válasz pedig rá INVALID.
Az utalás persze megtörténik, mi lehet az oka hogy nem VERIFIED választ kapok?

Többfajta php kódot is próbáltam hozzá, lényegében mind ugyanaz volt, csak a válasz lekérése történt különbözőképpen.
Ha magát a kapott adatokat küldöm vissza az url-be írva, akkor is INVALIDOT kapok.

Tehát nálam elvileg minden jó, csak a válasz nem az amit várok...

Akinek van tapasztalata, vagy találkozott ilyen problémával, kérem segítsen.
 
1

Up, mert azóta sem jöttem rá

molnigee · 2012. Dec. 27. (Cs), 17.03
Up, mert azóta sem jöttem rá mi lehet a baj :(
2

Hivatalos válasz

Hidvégi Gábor · 2012. Dec. 27. (Cs), 19.17
A Paypalosok mit írtak vissza?
3

Annyira nem megy az angol

molnigee · 2012. Dec. 28. (P), 13.00
Annyira nem megy az angol hogy írjak nekik sajnos, esetleg ha valaki lefordítaná nekem akkor elküldöm.

Írtam nekik, remélem megértik, 24-72 óra múlva lesz válasz, majd jelentkezem akkor.
4

így küldöd?

gyoridavid · 2012. Dec. 29. (Szo), 15.52

function validate_ipn() 
	{
		$post_string = '';    
		foreach($_POST as $field=>$value) 
		{ 
			$this->pp_data["$field"] = $value;
			$post_string .= $field.'='.urlencode(stripslashes($value)).'&'; 
		}
		$post_string.="cmd=_notify-validate";
		
		$ch = curl_init();
		
		curl_setopt($ch,CURLOPT_URL, $this->paypal_url);
		curl_setopt($ch,CURLOPT_POST, 1);
		curl_setopt($ch,CURLOPT_POSTFIELDS, $post_string);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

		$this->response = curl_exec($ch);
				
		if (strstr($this->response, "VERIFIED")) 
		{
			// Valid IPN
			return TRUE;          
		} 
		else 
		{
			// Invalid IPN
			return FALSE;    
		} 
	}
5

Bemásolom

molnigee · 2012. Dec. 29. (Szo), 20.00

        $req = 'cmd=_notify-validate';
        foreach ($_POST as $key => $value) {
            $value = urlencode(stripslashes($value));
            $req .= "&$key=$value";
        }

        $ch = curl_init('https://www.paypal.com/cgi-bin/webscr');
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));

        if (!($res = curl_exec($ch))) {
            exit;
        }

        curl_close($ch);

        if (strcmp(trim($res), "VERIFIED") == 0) {
            $data = array('text' => 'VERIFIED');
            $this->db->insert('_ipn_test', $data);
        } else {
            if (strcmp(trim($res), "INVALID") == 0) {
                $data = array('text' => 'INVALID');
                $this->db->insert('_ipn_test', $data);
            }
        }
Még annyit hozzátennék, hogyha az ipn historyból kimásolom a message-t, és abból állítom össze az url, akkor is invaliddal tér vissza. Tehát nem a scriptel van a baj szerintem.
6

https okozhat galibát

gyoridavid · 2012. Dec. 31. (H), 12.15
Arra emlékszem, hogy amikor összeraktam, akkor a curl megfelelő konfigurálása után javult meg a föggvény. Amit mindenképpen cserélj a te beállítasaidnál az a curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1) - itt 0-t kell értéknek adni, hacsak nem https protokollról indítod a kérést. Szerintem próbáld ki az én beállításaimmal.
7

Ne!

janoszen · 2012. Dec. 31. (H), 13.42
Ne adjunk ilyen tanacsokat! Ezzzel pont a HTTPS lenyeget veszed el, mert barmilyen certificatet el fog fogadni! Hozza kell csapni az elfogadott certificatek listajat es akkor siman fog kapcsolodni verify peer opcioval is.
8

ok

gyoridavid · 2013. Jan. 1. (K), 11.52
jogos
9

A scriptet kihagyva...

molnigee · 2013. Jan. 4. (P), 19.36
Most ez csúnya lesz, bocsi. Ha félreteszem a scriptet, és az eredeti üzenttel próbálom, akkor sem jó valami.

Ez a paypal IPN history-ból kimásolt message, tehát ez az eredeti:

settle_amount=325&
handling_amount=0.00&
payer_id=BDH6LPDSWPCNW&
address_country_code=GB&
option_selection1=&
ipn_track_id=d498e083274cf&
address_zip=BN3 3AA&
shipping=0.00&
charset=windows-1252&
settle_currency=HUF&
payment_gross=&
address_status=confirmed&
address_street=4 Amber Court
38 Salisbury road&
verify_sign=An5ns1Kso7MWUdW4ErQKJJJ4qi4-AN4.jxje.Gq4h35OSKePHo55hobJ&
item_name=new&
txn_type=web_accept&
receiver_id=2FC6HFDALW9RS&
payment_fee=&
mc_currency=GBP&
transaction_subject=new&
custom=&
protection_eligibility=Ineligible&
address_country=United Kingdom&
payer_status=verified&
first_name=Gergo&
exchange_rate=342.105&
address_name=Gergo Jonas&
mc_gross=1.20&
payment_date=08:06:22 Dec 20, 2012 PST&
payment_status=Completed&
quantity=1&
item_number=&
last_name=Jonas&
address_state=Hove&
txn_id=4MU21304SW687404H&
mc_fee=0.25&
resend=true&
payment_type=instant&
notify_version=3.7&
option_name1=new_32&
payer_email=jonasprofeta_1##kukac##hotmail.com&
receiver_email=molnargabor##kukac##postafiok.hu&
address_city=Hove&
tax=0.20&
residence_country=GB

Ebből elvileg ez a url keletkezik:

https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate&
settle_amount=325&
handling_amount=0.00&
payer_id=BDH6LPDSWPCNW&
address_country_code=GB&
option_selection1=&
ipn_track_id=d498e083274cf&
address_zip=BN3%203AA&
shipping=0.00&
charset=windows-1252&
settle_currency=HUF&
payment_gross=&
address_status=confirmed&
address_street=4%20Amber%20Court%2038%20Salisbury%20road&
verify_sign=An5ns1Kso7MWUdW4ErQKJJJ4qi4-AN4.jxje.Gq4h35OSKePHo55hobJ&
item_name=new&
txn_type=web_accept&
receiver_id=2FC6HFDALW9RS&
payment_fee=&
mc_currency=GBP&
transaction_subject=new&
custom=&
protection_eligibility=Ineligible&
address_country=United%20Kingdom&
payer_status=verified&
first_name=Gergo&
exchange_rate=342.105&
address_name=Gergo%20Jonas&
mc_gross=1.20&
payment_date=08:06:22%20Dec%2020,%202012%20PST&
payment_status=Completed&
quantity=1&
item_number=&
last_name=Jonas&
address_state=Hove&
txn_id=4MU21304SW687404H&
mc_fee=0.25&
resend=true&
payment_type=instant&
notify_version=3.7&
option_name1=new_32&
payer_email=jonasprofeta_1##kukac##hotmail.com&
receiver_email=molnargabor##kukac##postafiok.hu&
address_city=Hove&
tax=0.20&
residence_country=GB

Az url-re a válasz INVALID.
10

Igazán betördelhetnéd több

Joó Ádám · 2013. Jan. 4. (P), 19.55
Igazán betördelhetnéd több sorba, mondjuk paraméterek szerint. Annak is több kedve lesz átnézni, aki ért hozzá. Arról nem beszélve, hogy most nézd meg hogy néz ki a margó.
11

szerkeszteném

molnigee · 2013. Jan. 4. (P), 20.46
Igazad van, csak nincs ott a szerkesztés gomb :S
12

Mire való az előnézet.

Joó Ádám · 2013. Jan. 5. (Szo), 00.31
Mire való az előnézet. Megcsináltam.
13

colorer :)

Pepita · 2013. Jan. 7. (H), 01.44
Meg egy kis colorer is jól jött volna, mondjuk nekem úgy is "kici kínai nem érteni"...
14

Ha megírod az URL colorer

Joó Ádám · 2013. Jan. 7. (H), 14.54
Ha megírod az URL colorer plugint ;)
15

köszönöm

molnigee · 2013. Jan. 7. (H), 21.02
Köszönöm a sok formázással kapcsolatos segítséget, de a probléma ettől még nem oldódik meg :)
Tényleg nincs itt senki aki a paypal ipn-hez ért, használta már?
16

sandbox

szabo.b.gabor · 2013. Jan. 8. (K), 22.36
azért valószínűleg nem a paypal-lal lesz baj, hanem nálad.

sajnos ezt így megoldani nem fogjuk tudni, annál azért komplexebb ez a paypal téma, hogy itt fórumon keresztül megtaláljuk, hogy mit szúrsz el, valamint ha valaki épp nincs benne egy ilyen fejlesztésben, akkor a kedvedért nem fogja beleásni magát, mert ehhez ez kell. legalábbis én így gondolom :)

viszont meg lehet csinálni :) kitartás!

ne élesen teszteld, hanem a sandbox-ban (mondjuk sokszor elég lassú volt amikor én használtam), próbáld a példakódokat először, meg azért található leírás is.
17

Sandboxon csináltam először,

molnigee · 2013. Jan. 9. (Sze), 11.08
Sandboxon csináltam először, az csak annyit jelez vissza hogy ipn message suucessful send.
Utánna próbáltam éleseben egy fizetéssel, és jól megjön az ipn üzenet, aztán a válasz is, az utalás sikeres, mégis INVALIDOT kapok.

Ezért is nem értem, mert minden jó, csak szerintük mégse valid az üzenet.

Valamit pont az a bajom, hogy nem bonyolult az egész, amit találtam paypal doksiban példa kódot, azzal próbáltam, nem jó, nettuts-os példakóddal is néztem ugyanaz.
(Nem írtam volna ide, ha nem néztem volna át jópár leírást)

Ezért gondolom hogy nem a kóddal van gond, hisz ha a kódot kihagyom, és manuálisan rakom össze az url-t akkor is INVALID jön.

Írtam a paypalnak is, sajnos az angolom nem a legerősebb, ezt írták vissza, értelmezésem szerint nem értik a problémám :S

Thank you for calling PayPal regarding the IPN you have received.
I would be happy to assist you today regarding your query.
I understand from your email that you have a query regarding the IPN.
We have reviewed your email and it is with regret that we are unable to
fully understand your issue.

Unfortunately, we require you to re-phrase your email and resend it to
us. Once received, we will do our utmost to respond in a speedy and
efficient manner. We hope that this delay does not taint your recent
experiences with PayPal.
Make sure you send us your question from the email address registered on
your PayPal account.
We look forward to hearing from you soon, so we can fully resolve your
issue. You'll find answers to any further questions in our improved Help
Centre. Click "Help" at the top of any PayPal page to get started.
18

Ha gondolod segítek

inf · 2013. Jan. 9. (Sze), 14.32
Ha gondolod segítek lefordítani a problémád, laszlo.janszky a szkájpon.
19

azt írják, hogy nem értik,

szabo.b.gabor · 2013. Jan. 9. (Sze), 14.39
azt írják, hogy nem értik, hogy mit írsz :)

nem lehet, hogy a sandbox-os kulccsal csinálod, vagy valamit a netes admin felületen elfelejtettél beklikkelni?
20

..

Greg · 2013. Jan. 9. (Sze), 14.59
Ha jol tudom validalja a kartyahoz megadott cimedet is es ha az nem stimmel akkor is invalid. fraud_managment_pending_filters_x mezonek mi a tartalma a valaszban?
21

Ja mondjuk az is egy beszédes

inf · 2013. Jan. 9. (Sze), 15.01
Ja mondjuk az is egy beszédes hibaüzenet, hogy invalid... Szerintem azért a paypal-ban is van hiba...
22

..

Greg · 2013. Jan. 9. (Sze), 16.22
azert van ott meg mas is abban az uzenetben. pontosabban az azelottiben. https://www.x.com/developers/paypal/documentation-tools/ipn/integration-guide/IPNIntro#c_sampleipnmessage
szerintem valamelyik fraud prevention opcio lesz a fiokban bekapcsolva es az okozza a jelenseget.