2014-09-04 2 views
0

Я смотрел учебник и делал именно то, что сделал парень. У меня есть следующий код для моего index.php. Парень в учебнике получает результат (из переменной $ result), но я ничего не получаю.Paypal_IPN не получает результат?

var_dump на $ результат:

string(0) ""

Где проблема?

<?php 

class Paypal_IPN 
{ 

    public function __construct($mode) 
    { 
     if ($mode == 'live') 
      $this->_url = 'https://www.paypal.com/cgi-bin/webscr'; 
     else 
      $this->_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; 
    } 

    public function run() 
    { 

     $postFields = "cdm=_notify-validate"; 

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

     $ch = curl_init(); 

     curl_setopt_array($ch, array(
      CURLOPT_URL    => $this->_url, 
      CURLOPT_RETURNTRANSFER => true, 
      CURLOPT_SSL_VERIFYPEER => false, 
      CURLOPT_POST   => true, 
      CURLOPT_POSTFIELDS  => $postFields 
     )); 

     $result = curl_exec($ch); 
     curl_close($ch); 

     $fh = fopen('result.txt', 'w'); 
     fwrite($fh, $result . " -- \n" . $postFields); 
     fclose($fh); 

     var_dump($result); 
    } 

} 

$paypal = new Paypal_IPN('sandbox'); 
$paypal->run(); 

Я должен получил INVALID или ДЕЙСТВИТЕЛЬНО в результате ...

+0

Вы можете добавить некоторые ошибки обработки вашего curl исполнении. Возможно, вы ошиблись, о чем вы не знаете. http://php.net/manual/en/function.curl-error.php – Jestep

ответ

0

У вас есть опечатка в строке

$postFields = "cdm=_notify-validate"; 

Должно быть

$postFields = "cmd=_notify-validate"; 
Смежные вопросы