php - Paypal SDK 自适应支付列表中的未知密码 : TLSv1

标签 php ssl curl paypal

我正在尝试使用 SetPaymentOptions 实现自适应付款。我收到以下错误:

SDK异常 类型 PPConnectionException

消息列表中的未知密码:TLSv1

详细消息连接到 https://svcs.paypal.com/AdaptivePayments/SetPaymentOptions 时出错

我不知道这意味着什么。关于如何让它发挥作用有什么想法吗?我在 PPHttpconfig 中将其作为我的部分代码:

public static $DEFAULT_CURL_OPTS = array(
    CURLOPT_SSLVERSION => 1,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_TIMEOUT        => 60,   // maximum number of seconds to allow cURL functions to execute
    CURLOPT_USERAGENT      => 'PayPal-PHP-SDK',
    CURLOPT_HTTPHEADER     => array(),
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 1,
    CURLOPT_SSL_CIPHER_LIST => 'TLSv1',
);

最佳答案

似乎如果您使用 NSS 而不是 OpenSSL,则拥有密码列表会导致问题,因为 TLSv1 不在 NSS 中。

如果您遇到该错误,您可能需要运行

php -r "print_r(curl_version());"

如果输出有

[ssl_version] => NSS/...

这意味着,你有 NSS。然后您可以从数组中删除 CURLOPT_SSL_CIPHER_LIST

public static $DEFAULT_CURL_OPTS = array(
    CURLOPT_SSLVERSION => 1,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_TIMEOUT        => 60,   // maximum number of seconds to allow cURL functions to execute
    CURLOPT_USERAGENT      => 'PayPal-PHP-SDK',
    CURLOPT_HTTPHEADER     => array(),
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 1,
);

编辑:该版本已修复:https://github.com/paypal/sdk-core-php/releases/tag/v2.5.8

关于php - Paypal SDK 自适应支付列表中的未知密码 : TLSv1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26882530/

相关文章:

php - 获取日期范围内的用户生日

PHP/MySql 选择与回复分组的评论

ssl - 为 Jetty 服务器禁用 TLS_RSA_WITH_3DES_EDE_CBC_SHA

curl - 如何在 yml 中运行 curl 请求

PHP cURL 使用 IP 地址而不是域名连接

php - 定位mysql数据库中不可见的utf8字符

javascript - 如何为 php 的链接创建 cookie 但输出不同

ssl - hostgator 是否将 ssl 证书接受到其名为 "Hatching Plan"的起始共享托管计划中?

java - 检查设备是否接受证书

php - 在后台 PHP 下载外部文件?