Paypal_IPN没有得到结果?

时间:2014-09-04 12:52:02

标签: php paypal paypal-ipn paypal-sandbox

我看了一个教程,并完成了那个人做的事情。我的index.php代码如下。教程中的人收到了一个结果(来自$ result变量),但我什么都没得到。

$ result:

上的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或VALID作为结果......

1 个答案:

答案 0 :(得分:0)

字符串中有拼写错误

$postFields = "cdm=_notify-validate";

应该是

$postFields = "cmd=_notify-validate";