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