paypal sandbox ipn returns invalid

peterachutha
Contributor
Contributor

I have been searching for a solution but just don't know what is the cause of the problem. I have seen many postings on similar topics in Google but non has worked for me. My shopping cart was working well a 2 or 3 years ago but today it does not. I am using IPN and PDT because my products are downloadable files.

 

The original code the worked many years ago was:

 


$url = 'https://www.paypal.com/cgi-bin/webscr';
$myppaa = array( 'cmd' => '_notify-synch',
'tx' => $txn_id,
'at' => 'ImCO1w................................FAcwKjY9K',
'submit' => 'PDT' );

$dataarray = $myppaa;

// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($dataarray),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);


if(strpos($result, 'SUCCESS') === 0)
{

.

.

.

}

 

I had no problems with the code above. A few days ago I decided to upgrade my shopping cart and found out that I had to send back the exact $_POST variables. So I modified the code to :-

 

 

$ta1 = array( 'cmd' => '_notify-validate');
$myppaa = array_merge($ta1, $_POST);

$dataarray = $myppaa;


$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00'));
curl_setopt($curl, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $url );
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $dataarray);
$result = curl_exec($curl);
curl_close($curl);

 

serialize_savefilebare( $result, 'rppbackend.txt'); //saving the returned values into a text file so that I can examine it later

 

This always returns invalid. The string saved in the file is :

s:7:"INVALID";

 

I have tried many changes and sometimes it returns "" instead of "INVALID".

 

Anyone who knows how I can get it to work?

 

 

 

Login to Me Too
2 REPLIES 2

peterachutha
Contributor
Contributor

I forgot to add the $url I used.

 

$url = 'https://ipnpb.sandbox.paypal.com/cgi-bin/webscr';

Login to Me Too

peterachutha
Contributor
Contributor

After lots of experiment I changed to using the PayPal script example shown in their documentation and the curl code shown in some of the stackexchange solutions.

 

Finally, I have got my shopping cart working with PayPal.

Interesting in that I changed to the PayPal example program and kept getting rejected by sandbox. Then switched over to the live PayPal and tested by 'purchasing' a product that was US$0.01/- and it worked!!! So sandbox was the problem. Of course once I began testing with the live system I manged to fix some bugs in my shopping cart.

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.