I'm not receiving a response from Paypal's IPN Sandbox

Davo789
Contributor
Contributor

I'm putting a paypal checkout onto my website but am falling down with the listener.

My code is able to receive the info from paypal, add on the extras and post it back. However, I get no response from the Sandbox saying either 'VERIFIED' or 'INVALID'. I've pretty much copied my code from the paypal website so I was hoping this was going to be fairly straightforward, so if you could take a minute to look at my code, perhaps some new eyes could pick out where I've gone wrong.

Here's the code. Nothing special, it literally just gets the info, adjusts it, passes it back and reads the response (which it either isn't getting or doesn't realise it's getting)

 

<?php

$debug=true;

//Put together postback info

$postback = 'cmd=_notify-validate';

foreach($_POST as $key =>$value){
$postback .= "&$key=$value";
}

// build the header string to post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($postback) . "\r\n\r\n";

$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);//open the connection

if(!$fp){ //no conn
die();
}

//post data back
fputs($fp, $header . $postback);

while(!feof($fp)){

$res=fgets ($fp, 1024);

if((strcmp($res, "VERIFIED")) == 0){ //verified!
if($debug){
$filename = 'debug/debug5_verified.txt'; //create a file telling me we're verified
$filehandle=fopen($filename, 'w');
fwrite($filehandle,'VERIFIED!');
fclose($filehandle);
}
}
}

?>

 

Thanks in advance!

Login to Me Too
2 REPLIES 2

Misty11
Advisor
Advisor

Hello Davo789,

 

 

I am sure if new eyes look at your code they surely can help you pick out where you have gone wrong. There may be some useful information about it in the PayPal Developer Forum. That’s where discussion about sandbox accounts takes place, and the people there are in the best position to offer you suggestions.

 

Misty

Login to Me Too

PayPal_RobG
PayPal Employee
PayPal Employee

Hello Dave,

 

Please change:

$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30)

 

To:

$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30)

 

As per Bulletin: IP address expansion for PayPal services you need to post back over SSL to us.

----
For technical assistance with PayPal merchant product offerings, please file a ticket at https://www.paypal.com/mts/
Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.