我使用Rest Api设置了简单的PayPal支票(不是信用卡支付)。
一切都在Sandbox模式下完美运行,但是当我切换到实时模式并使用带有密钥的实时模式clientID时。我收到这个错误:
PHP Fatal error: Uncaught exception 'PayPal\Exception\PayPalConnectionException' with message 'Got Http response code 401 when accessing https://api.sandbox.paypal.com/v1/oauth2/token.' in /vendor/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php:154
Stack trace:
#0 /vendor/paypal/rest-api-sdk-php/lib/PayPal/Auth/OAuthTokenCredential.php(241): PayPal\Core\PayPalHttpConnection->execute('grant_type=clie...')
#1 /vendor/paypal/rest-api-sdk-php/lib/PayPal/Auth/OAuthTokenCredential.php(266): PayPal\Auth\OAuthTokenCredential->getToken(Array, '***', '***...', 'grant_type=clie...')
#2 /vendor/paypal/rest-api-sdk-php/lib/PayPal/Auth/OAuthTokenCredential.php(210): PayPal\Auth\OAuthTokenCredential->generateAccessToken(Array, NULL)
#3 /vendor/paypal/rest-api-sdk-php/lib/PayPal/Auth/OAuthTokenCredential.php(160 in /vendor/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php on line 154
仅在实时模式下发生...我检查了所有按键,从我的角度来看,所有内容都设置正确。请让我知道如何解决这个问题?
答案 0 :(得分:1)
问题解决了!
我需要添加以下代码来手动配置实时模式:
$paypal->setConfig(
array(
'mode' => 'live',
'log.LogEnabled' => true,
'log.FileName' => 'PayPal.log',
'log.LogLevel' => 'FINE'
)
);