整合贝宝到一个cakephp项目


Integrating paypal into a cakephp project

这可能是一个非常简单的问题,但在我浏览了paypal网站的大部分内容并咨询了一些在线教程后,我没有任何头绪(好吧,只有一点点头绪)。

我是一个新手,虽然我玩过php &html等,相当多年,我从来没有尝试过这样的东西。我应该指出,我已经做了一些简单的cakephp项目,所以我认为我对它足够满意,我也不是为商业项目这样做,这只是为了让我可以学习;)

我想建立的是一个应用程序,需要我的用户有一个贝宝帐户。考虑到这一点,我有一个注册页面,收集用户贝宝电子邮件和一些其他比特的信息与我的网站。然后我想使用paypal认证服务https://www.x.com/community/ppx/authentication,以确保他们有一个paypal帐户。

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

我最好的猜测是我有我的表单,我的用户填写,然后点击提交。这提交给一个动作在我的用户控制器发送请求-从我可以收集到,涉及到我做$ This ->redirect(array('action' => 'https://api-3tpaypal.com/nvp'));但我不确定究竟如何附加各种参数,这意味着去与之。

之后我猜不出来了。我不知道我是如何收到响应的,也不知道它去了哪里,尽管我知道一旦我设法得到了它,我需要在做其他事情之前以某种方式检查它,看看它是否成功。

我意识到这可能是我真的应该知道的事情,但我以前从来没有做过。我也保证我在paypal网站上读了很多,但我仍然很困惑。

如果有什么贤者愿意帮助我这个初出茅庐的程序员,我将不胜感激

Thanks so much:)

茱莉亚

我不知道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库是相当不错的。我建议你阅读文档& &;从这里开始。

希望有所帮助