将paypal集成到cakephp项目中

时间:2011-08-16 13:40:30

标签: php cakephp header paypal

这可能是一个非常简单的问题,但是通过大多数paypal网站阅读我的方式并在网上查阅一些教程我并不是更聪明(只是更明智一点)。

我有点像新手,虽然我玩过php&很多年以来,我从未尝试过这样的事情。我应该指出,我已经制作了一些简单的cakephp项目,所以我很满意它,我想,我也不是为商业项目做这件事,它只是让我可以学习;)

我正在尝试构建的应用程序需要我的用户拥有PayPal帐户。考虑到这一点,我有一个注册页面,收集用户paypal电子邮件和其他一些与我的网站相关的信息。然后我想使用paypal身份验证服务https://www.x.com/community/ppx/authentication来确保他们有一个paypal帐户。

文档谈论发送请求和接收响应,这是我以前没有做过的事情,这让我感到困惑。

我最好的猜测是我有我的用户填写的表单,然后点击提交。这提交了我的用户控制器中的一个动作,该动作发送请求 - 我收集的内容涉及我做$ this-> redirect(array('action'=>'https://api-3tpaypal.com/nvp “));但是我不确定如何附加那些与之相关的参数。

之后我用尽了猜测。我不知道我是如何收到回复的,或者它在哪里,但我知道,一旦我设法得到它,我需要以某种方式检查它是否在做其他任何事情之前是否成功。

我意识到这可能是我应该知道的事情,但我以前从未这样做过。此外,我保证我已经在paypal网站上阅读了很多,但我仍然感到困惑。

如果那里有任何善良的贤者想要帮助一个崭露头角的程序员,我将非常感激

非常感谢:)

朱莉娅

1 个答案:

答案 0 :(得分:0)

我不了解Cake框架,但一般来说这是NVP API通常如何工作的。

  • 方法&参数作为URL本身的一部分发送,主要作为HTTP GET请求,但也可以作为HTTP POST发送到服务器。如果是GET,则URL格式类似:

http://domain.com/method_name/?param1=value1&param2=value2&param2=value3

  • 如果是HTTP POST,则参数不是URL的一部分,而是单独发送。所以URL格式确实包含任何参数。

对于处理HTTP POST,这是一个使用curl

的示例
//set POST variables
$url = 'http://domain.com/method_name/';
$fields = array(
            'USER'=>urlencode('API_usernam'),
            'PWD'=>urlencode('API_password'),
            'SIGNATURE'=>urlencode('API_signature'),
            'VERSION'=>urlencode('version'),
        );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

//execute post
$result = curl_exec($ch);

//close the connection

curl_close($ch);

//print result data from server
var_dump($result);

更多信息,Curl Library非常好。我建议你阅读文档&从那里拿走它。

希望有所帮助