我正在尝试使用 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/