【问题标题】:Integrating paypal into a cakephp project将贝宝集成到 cakephp 项目中
【发布时间】:2011-08-16 13:40:30
【问题描述】:

这可能是一个非常简单的问题,但在阅读了大部分贝宝网站并在线咨询了一些教程之后,我并不聪明(只是稍微聪明一点)。

我是一个新手,虽然我已经使用 php 和 html 等玩了好几年了,但我从未尝试过这样的事情。我应该指出,我已经做了一些简单的 cakephp 项目,所以我认为我对它很满意,而且我不是为了商业项目这样做,只是为了学习;)

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

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

我最好的猜测是我有我的用户填写的表单,然后点击提交。这将提交给我的用户控制器中的一个操作,该操作发送请求 - 从我可以收集到的内容中涉及我执行 $this->redirect(array('action' => 'https://api-3tpaypal.com/nvp') );但我不确定如何附加相应的各种参数。

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

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

如果有任何善良的圣人愿意帮助一个初出茅庐的程序员,我将不胜感激

非常感谢:)

朱莉娅

【问题讨论】:

  • 我知道这不是您想要的答案,但我必须提供一些免费的建议 - 首先学习语言 (PHP)。然后寻找框架和 API。
  • 您好,正如我提到的,我已经学习了 php,我只是没有用它做任何过于复杂的事情。我要问的只是一个指向正确方向的指针。
  • 你曾经得到这个工作?我有一个PHP class library for PayPal,这对你来说很简单。

标签: php cakephp header paypal


【解决方案1】:

我不了解 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 非常好。我建议您阅读文档并从那里获取。

希望对你有帮助

【讨论】:

  • 嗨,Gaurish,这更像是我想要的,谢谢。这应该可以帮助我弄清楚请求部分。谢谢:)
猜你喜欢
  • 2011-10-09
  • 1970-01-01
  • 2011-08-01
  • 2011-11-03
  • 2017-02-12
  • 2012-08-06
  • 2016-08-18
  • 2013-05-13
  • 2011-05-24
相关资源
最近更新 更多