使用CodeIgniter,Paypal Notify URL没有返回任何内容

时间:2013-12-11 15:18:17

标签: codeigniter url paypal notify

首先,我将沙箱商户帐户配置为接收IPN。我将向您展示发送给Paypal的代码的前半部分:

function process() {
    $my_email = 'jaylimix-facilitator@hotmail.com';
    $item_name = $this->input->post('item_name');
    $amount = $this->input->post('amount');
    $function = $this->input->post('function');
    $return_url = base_url() . 'order/'.$function;
    $cancel_url = 'http://cancel.com';
    $notify_url = base_url() . 'test';

    $querystring .= "?business=" . urlencode($my_email) . "&";
    $querystring .= "item_name=" . urlencode($item_name) . "&";
    $querystring .= "amount=" . urlencode($amount) . "&";

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

    $querystring .= "return=" . urlencode($return_url) . "&";
    $querystring .= "cancel_return=" . urlencode($cancel_url) . "&";
    $querystring .= "notify_url=" . urlencode($notify_url);

    header('location:https://www.sandbox.paypal.com/cgi-bin/webscr' . $querystring);
}

客户被重定向到PayPal以完成付款。单击“付款”按钮后,我检查是否收到任何POST变量:

class Test extends CI_Controller{

function index(){

    foreach ($_POST as $key => $value) {

        echo $key . ' ' . $value . '<br/>';
    }

}

}

但是没有收到,我不知道问题出在哪里。请提出建议,谢谢!

1 个答案:

答案 0 :(得分:0)

  

单击“付款”按钮后,我检查是否收到任何POST变量:

不是。 PayPal稍后会单独调用notifyURL,而不是“点击付费按钮时”。当PayPal返回您的网站时,您所知道的就是他们去过PayPal。在任何情况下,在PayPal告诉您确实有钱之前,您不应该为客户做任何有价值的事情。