使用REST api进行Paypal支付处理

时间:2017-05-05 18:08:05

标签: php rest api paypal

我使用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

仅在实时模式下发生...我检查了所有按键,从我的角度来看,所有内容都设置正确。请让我知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题解决了!

我需要添加以下代码来手动配置实时模式:

$paypal->setConfig(
      array(
        'mode' => 'live',
        'log.LogEnabled' => true,
        'log.FileName' => 'PayPal.log',
        'log.LogLevel' => 'FINE'
      )
    );