【问题标题】:PayPal Express Checkout PHP not getting a responsePayPal Express Checkout PHP 没有得到响应
【发布时间】:2016-05-27 13:05:12
【问题描述】:

我目前正在尝试使用 angelleye codeigniter 库 (https://github.com/angelleye/paypal-codeigniter) 让 PayPal 快速结账工作。我没有收到来自 PayPal 的回复或任何错误。我得到的唯一错误是未定义的 ACK 索引,因为没有响应。没有任何 curl 错误,并且 PayPal 响应返回一个空数组。

有没有办法检查失败的地方?

运行时间:

Ubuntu 12.04.5

卷曲 7.37.0

PHP 5.5.32

Apache 2.4.12

OpenSSL 1.0.1

【问题讨论】:

  • 确保您的 PHP 版本是 5.6 或更高版本,这是一个问题。我之前也遇到过这种问题...
  • 这很有趣,因为我有 PHP 5.5.32,它对我来说很好用,@AmitChauhan 你能澄清一下 PHP 5.6 是什么让它对你有用吗?我对 Curl 7.36 + 的理解是您可以使用新的 PayPal API?

标签: php codeigniter curl paypal


【解决方案1】:

在 /application/libraries/paypal/Paypal_pro.php 中找到 CURLRequest() 函数。应该在第 589 行。

函数中这一行之后:

$Response = curl_exec($curl);

添加以下内容,添加以下内容:

if($Response === FALSE) {
  echo "cURL Error: " . curl_error($curl);
  exit();
}

然后运行另一个测试。如果发生 curl 错误,您应该能够看到它。

【讨论】:

  • 感谢您的回答,我刚刚运行了它,这就是返回的结果cURL Error: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
  • 好的,这意味着您遇到了POODLE problem。但是,您概述的软件堆栈不应该有这个问题。你能仔细检查所有这些吗?你能在你的服务器上添加一个带有 phpinfo() 的文件以供审查吗?
  • 在检查了我的phpinfo() php 后,尽管安装了 7.37.0,但它只引用了 curl 7.32。我正在升级 php curl 包。希望这应该可行。
  • 我现在正在运行 7.37.0 并收到 PayPal 的回复。但是,我收到错误的响应是 10002 安全标头无效。我已经尝试使用买方和服务商帐户的 api 用户名和密码,但我得到了同样的错误。你知道这是什么原因造成的吗?
  • 该错误始终意味着 API 凭据错误。这意味着值本身是错误的,或者可能是您将沙盒凭据发送到实时服务器,反之亦然。
猜你喜欢
  • 2012-10-10
  • 2014-06-07
  • 2015-11-28
  • 2017-04-19
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
  • 2014-04-11
相关资源
最近更新 更多