BSD
您好,我正在使用Paypal PHP SDK与paypal连接。我在共享主机帐户--linux系统。
我已经设置了所有内容,它似乎没问题......但是当它到达$payment->create
方法时会产生500错误。
我有什么遗失的吗?另外,我如何检查apiContext是否正在连接?
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:
================================================================================================================================
答案 0 :(得分:1)
我的项目中也有500错误。我的问题与tls问题有关,为了实现pci-dss必须达到1.2。 https://github.com/paypal/TLS-update是PayPal对它的正式声明。也许您的Web服务器也运行在1.0上。
答案 1 :(得分:1)
试试这个:在PayPalHttpConfig.php
文件中(位于Paypal/Core
)更改
CURLOPT_SSLVERSION => 6,
到
CURLOPT_SSLVERSION => 1,
答案 2 :(得分:1)
考虑使用HTTPS代理,因此Origin标头在localhost上是http
答案 3 :(得分:1)
有点老的话题了,但是由于我偶然发现了这个话题,所以这就是造成我问题的原因。
付款方式使用openssl_encrypt
加密数据。在基于FreeBSD的系统(包括MacOS X Mojave + MacPorts)上使用openssl_encrypt时,在PHP 7.3中对openssl_encrypt
的调用失败。