PayPal REST Api错误:响应401 PPConnectionException

时间:2013-08-02 18:36:19

标签: php rest oauth-2.0 paypal

我正在使用PHP PayPal REST API沙箱并在执行$payment->create( $apiContext );

时出错

我的错误日志显示为:

    PHP Fatal error:  Uncaught exception 'PayPal\\Exception\\PPConnectionException' with message 

'Got Http response code 401 when accessing https://api.paypal.com/v1/oauth2/token. 
    Retried 0 times.' in /usr/local/web/servers/domain/guts/paypal_api/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPHttpConnection.php:99\nStack trace:\n

#0 /usr/local/web/servers/domain/guts/paypal_api/lib/PayPal/Auth/OAuthTokenCredential.php(96): 
    PayPal\\Core\\PPHttpConnection->execute('grant_type=clie...')\n

#1 /usr/local/web/servers/domain/guts/paypal_api/lib/PayPal/Auth/OAuthTokenCredential.php(76): 
    PayPal\\Auth\\OAuthTokenCredential->_generateAccessToken(Array)\n

#2 /usr/local/web/servers/domain/guts/paypal_api/lib/PayPal/Rest/RestHandler.php(56): PayPal\\Auth\\OAuthTokenCredential->getAccessToken(Array)\n

#3 /usr/local/web/servers/domain/guts/paypal_api/vendor/paypal/sdk-core-php/lib/PayPal/Transport/PPRestCall.php(41): 
    PayPal\\Rest\\RestHandler->handle(Object(PayPal\\Core\\PPHttpConfig), '{"intent":"sale...', Array)\n

#4 /usr/local/web/servers/domain/guts/paypal_api/lib/PayPal/A in 
    /usr/local/web/servers/domain/guts/paypal_api/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPHttpConnection.php on line 99, 
    referer: http://domain.com/products/basket/verify/

我的PayPal.log文件显示:

PayPal\Core\PPHttpConnection: Connecting to https://api.paypal.com/v1/oauth2/token
PayPal\Core\PPHttpConnection: Payload grant_type=client_credentials
PayPal\Core\PPHttpConnection: Adding header User-Agent: PayPalSDK/rest-sdk-php 0.6.0 (lang=PHP;v=5.3.3;bit=64;os=Linux_2.6.18-348.6.1.el5;machine=x86_64;openssl=0.9.8e-fips-rhel5;curl=7.15.5)
PayPal\Core\PPHttpConnection: Adding header Authorization: Basic QVpteVVCQ3VfdDhlb3QxcGx0UksyUG56Y3NhcXpOeXNIMlNDLXBDbTlUNGVGNDE3OFd1cFBFRmhkTVpnOkVGZ3g4UkNCZUppSkw3NW1JV1FDRFROTVVsanFOLW1fdlFuM3owMzZOZ3EwTUp3RVFwRkNlV0Z0dWhaag==
PayPal\Core\PPHttpConnection: Adding header Accept: */*

我已尝试测试cc号码,在paypal的沙盒网站上设置的cc号码。我已经尝试使用rest-api-skd-php-master中提供的演示应用程序中的凭据(演示工作顺便说一下)。

我可以向你展示我的代码,虽然它非常精确地模拟了测试用例。

我唯一能想到的是处理文件被隐藏在www访问级别之下?

如果您可以清除错误日志中的任何信息,我会全神贯注。如果您需要我提供更多信息,我可以提供。

2 个答案:

答案 0 :(得分:1)

如果您打算按照第一行中的说明使用沙箱,则会发生错误,因为您正在调用生产PayPal服务器。

更改 https://api.paypal.com/v1/oauth2/token

https://api.sandbox.paypal.com/v1/oauth2/token

答案 1 :(得分:0)

我有同样的问题,因为是一个新的laravel 5.1,对于paypal,你需要在/app/Http/controllers/paypalcontroller.php中将它设置为沙箱,以及/ app / Ecommerce / Billing / paypal中的paypal详细信息.PHP。希望有所帮助