PayPal PHP SDK Авария на 500
BSD
Здравствуйте, я использую SDK Paypal PHP для подключения к PayPal. Я нахожусь в общей учетной записи хостинга - Linux-системе.
Я настроил все и, похоже, все в порядке... но когда он добирается до метода $payment->create
, он выдает ошибку 500.
Есть ли что-то, что мне не хватает? также, как я могу проверить, поддерживает ли apiContext ok?
require __DIR__ . '/sdk/autoload.php';
// requiring SDK uses
$api = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'...', // ClientID
'...' // ClientSecret
)
);
$api->setConfig([
'mode' => 'sandbox',
'http.ConnectionTimeOut' => 30,
'log.LogEnabled' => false,
'log.FileName' => '',
'log.LogLevel' => 'FINE',
'validation.level' => 'log'
]);
// setting up payer, details, amount, transaction, redirectUrls etc...
$payment->create($api); // crashes on a 500 error
Есть ли что-то, что я должен проверить на настройке хостинга? как я могу отлаживать apiContext?
Я не использовал композитора, это проблема?
По-прежнему не найдено решение этой проблемы, любая помощь будет большой
Это экспорт журнала
это выход журнала -
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.sandbox.paypal.com/v1/oauth2/token
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : DEBUG: Request Headers :
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : DEBUG: Request Data : grant_type=client_credentials
--------------------------------------------------------------------------------------------------------------------------------
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : INFO: Response Status : 0
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : DEBUG: Response Headers :
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : ERROR: Got Http response code 0 when accessing https://api.sandbox.paypal.com/v1/oauth2/token.
[24-07-2017 11:15:44] PayPal\Core\PayPalHttpConnection : DEBUG:
================================================================================================================================
Ответы
Ответ 1
Немного о старой теме, но поскольку я наткнулся на эту тему, вот что вызвало у меня проблему.
Способ оплаты использует openssl_encrypt
для шифрования данных. При использовании openssl_encrypt с системами, основанными на FreeBSD (включая MacOS X Mojave + MacPorts), вызовы openssl_encrypt
не выполняются в PHP 7.3.
Смотрите обсуждение.
Ответ 2
В моем проекте была ошибка 500. Моя проблема связана с проблемой tls, которая должна быть 1,2 для выполнения pci-dss. https://github.com/paypal/TLS-update является официальным выражением к нему в PayPal. Возможно, ваш веб-сервер работает и с 1.0.
Ответ 3
Попробуйте это: в файле PayPalHttpConfig.php
(находится в Paypal/Core
) Измените
CURLOPT_SSLVERSION => 6,
to
CURLOPT_SSLVERSION => 1,
Ответ 4
Рассмотрите возможность использования прокси-сервера HTTPS, чтобы заголовок Origin был http на localhost