【发布时间】:2020-10-25 03:04:33
【问题描述】:
真的很纠结这个问题,想知道是否有人可以提出任何建议
我有一个使用 PayPal 付款的网站,它已经运行了大约 2 年
周五,我不得不通过 Let's Encrypt 更新 SSL,这很好,但从那以后,我无法初始化 PayPal 付款
错误是……
PayPal\Exception\PayPalConnectionException Object
(
[url:PayPal\Exception\PayPalConnectionException:private] => https://api.paypal.com/v1/payments/payment
[data:PayPal\Exception\PayPalConnectionException:private] =>
[message:protected] => Connection timed out after 10001 milliseconds
[string:Exception:private] =>
[code:protected] => 28
[file:protected] => vendor/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php
[line:protected] => 186
)
我在本地运行相同的代码,一切正常
托管公司坚持与服务器无关,通过 curl 和 ssh 访问支付 url 即可
我在 PayPal api 上下文中启用了日志记录,它只显示它正在点击的 url,仅此而已
有人对我可以尝试调试什么有任何建议吗?
【问题讨论】:
-
从服务器的命令行尝试
curl -v到该网址。请注意,不再维护 v1 PayPal SDK;它已被 Checkout-PHP-SDK 取代:github.com/paypal/Checkout-PHP-SDK -
我尝试生成一个令牌并通过服务器的 curl 访问支付 URL,效果很好。令牌按预期返回,付款 url 提供未经授权的消息,这是我所期望的,似乎我没有发送任何详细信息。我确实注意到的一件事是这条消息: NSS: client certificate not found (nickname not specified) - SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA25 不确定这是问题还是警告
-
如果它从控制台成功连接,这是一个警告。您需要在 PHP 中调试 curl 调用。