2014-09-04 1 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(); 
내가 잘못되었거나 결과 VALID 받았다해야

...

+0

당신은 추가 할 수 있습니다이어야한다 문자열에 오타가 일부 컬링 실행 오류 처리. 아마도 당신이 알지 못하는 오류를 던질 수 있습니다. http://php.net/manual/en/function.curl-error.php – Jestep

답변

0

당신은

$postFields = "cdm=_notify-validate"; 

$postFields = "cmd=_notify-validate";