Paypal REST API无效凭据

时间:2014-08-24 14:12:55

标签: api paypal

我在nodejs应用程序中使用REST api。 所有这些都适用于沙盒,但是当我使用实时凭证更新时,我得到:

{ [Error: Response Status : 401]
  response:
   { error: 'invalid_client',
     error_description: 'The client credentials are invalid',
     httpStatusCode: 401 },
  httpStatusCode: 401 }

我将我的帐户更新为商务但仍无效,我使用了实时终端和实时凭据。

为了使这项工作,我该怎么做?

2 个答案:

答案 0 :(得分:15)

我使用PayPalSDK / rest-sdk-nodejs遇到了同样的问题,并解决了传递配置参数(host,client_id,client_secret,...),参数' mode '设置为'的”。否则,库使用的默认模式是“沙箱”,因此无法使用实时凭证。

答案 1 :(得分:0)

正如matteo所说,如果你从dev切换到实时环境,只更新客户端ID和秘密是不够的。您需要将ApiContext-Mode设置为" live"。

PayPals PHP REST-API-SDK附带了一些很棒的示例。看看/ vendor / paypal / rest-api-sdk-php / sample /第84行中的bootstrap.php。在获取api上下文后,有一些配置正在发生。

<?php

$apiContext = new ApiContext(
    new OAuthTokenCredential(
        $clientId,
        $clientSecret
    )
);

// Comment this line out and uncomment the PP_CONFIG_PATH
// 'define' block if you want to use static file
// based configuration

$apiContext->setConfig(
    array(
        'mode' => 'sandbox',
        'log.LogEnabled' => true,
        'log.FileName' => '../PayPal.log',
        'log.LogLevel' => 'DEBUG', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => true,
        // 'http.CURLOPT_CONNECTTIMEOUT' => 30
        // 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'
        //'log.AdapterFactory' => '\PayPal\Log\DefaultLogFactory' // Factory class implementing \PayPal\Log\PayPalLogFactory
    )
);