Php 切换到Live凭据时,PayPal Rest API出现401错误

Php 切换到Live凭据时,PayPal Rest API出现401错误,php,api,rest,paypal,Php,Api,Rest,Paypal,我正在创建一个小网站,在其中我实现了贝宝RESTAPI来处理信用卡结账 现在的问题是,它使用沙盒凭据工作正常。。。但当我切换到Live凭据时,会出现以下错误: 致命错误:未捕获异常“PayPal\exception\PPConnectionException”,消息“访问时获取Http响应代码401”。重试0次。在C:\xampp\htdocs\rest\u api\u sdk\u php\sample\vendor\paypal\sdk core php\lib\paypal\core\PPH

我正在创建一个小网站,在其中我实现了贝宝RESTAPI来处理信用卡结账

现在的问题是,它使用沙盒凭据工作正常。。。但当我切换到Live凭据时,会出现以下错误:

致命错误:未捕获异常“PayPal\exception\PPConnectionException”,消息“访问时获取Http响应代码401”。重试0次。在C:\xampp\htdocs\rest\u api\u sdk\u php\sample\vendor\paypal\sdk core php\lib\paypal\core\PPHttpConnection.php:99堆栈跟踪:#0 C:\xampp\htdocs\rest\u api\u sdk\php\sample\vendor\paypal\sdk core php\lib\paypal\Transport\PPRestCall.php(44):paypal\core\PPHttpConnection->执行(“{”intent:“sale…”)#1 C:\xampp\htdocs\rest\u api\u sdk\u php\sample\vendors\paypal\rest api sdk php\lib\paypal\api\Payment.php(246):paypal\Transport\PPRestCall->execute(Array),/v1/payments/pa.,'POST',“{”intent:“sale…”2 C:\xampp\htdocs\rest\api\u sdk\php\sample\payments\CreatePayment\CreatePayment.php(89):paypal\api\Payment->创建(对象(paypal\rest\rest\apiontext)){3}在第99行的C:\xampp\htdocs\rest\u api\u sdk\u php\sample\vendor\paypal\sdk core php\lib\paypal\core\PPHttpConnection.php中抛出

坦白地说,我不知道是什么导致了这个错误。我在切换到PayPal Live时在两个地方做了更改

“bootstrap.php”中的第一个:

将“模式”从“沙盒”更改为“实时”


还有其他文件需要我修改吗?

回复评论-@PayPal\u Patrick Thanx buddy!我已经解决了这个问题

事实上,问题不在我这边,我做的每件事都是正确的


客户没有启用她的Live帐户,这就是我无法使用Live凭据发出付款请求的原因。无论如何,感谢您的帮助!

我也遇到了同样的问题,然后得到了解决方案

您必须将模式从
sandbox
更改为
live
,将
log.LogLevel
DEBUG
更改为
FINE

/* Sandbox */
$apiContext->setConfig(
    array(
        'mode' => 'sandbox',
        'log.LogEnabled' => true,
        'log.FileName' => '../PayPal.log',
        'log.LogLevel' => 'DEBUG', // PLEASE USE FINE LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => true,
        // 'http.CURLOPT_CONNECTTIMEOUT' => 30
        // 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'
    )
);

/* For Live */
$apiContext->setConfig(
    array(
        'mode' => 'live',
        'log.LogEnabled' => true,
        'log.FileName' => '../PayPal.log',
        'log.LogLevel' => 'FINE', // PLEASE USE FINE LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => true,
        // 'http.CURLOPT_CONNECTTIMEOUT' => 30
        // 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'
    )
);

你能确认它实际上是在试图联系到正确的实时端点吗?@PayPal\u Patrick我不知道如何确认这一点?你能指导我吗?@PayPal\u Patrick我在日志文件中得到了这个信息:
PayPal\Core\PPHttpConnection:连接到https://api.paypal.com/v1/payments/payment
。所以,我想它是在向正确的Liv伸出援手e EndPoint@PayPal\u Patrick你能告诉我401错误的主要可能性是什么吗?@PayPal\u Patrick Thanx buddy!我已经解决了这个问题。事实上,这个问题不是我这边的。我做的一切都是正确的。客户没有启用她的Live帐户,这就是为什么我无法使用Live凭据进行付款请求。无论如何,Thanx是你的帮助!
;Service Configuration
[Service]
mode=live ; can be set to sandbox / live 
/* Sandbox */
$apiContext->setConfig(
    array(
        'mode' => 'sandbox',
        'log.LogEnabled' => true,
        'log.FileName' => '../PayPal.log',
        'log.LogLevel' => 'DEBUG', // PLEASE USE FINE LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => true,
        // 'http.CURLOPT_CONNECTTIMEOUT' => 30
        // 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'
    )
);

/* For Live */
$apiContext->setConfig(
    array(
        'mode' => 'live',
        'log.LogEnabled' => true,
        'log.FileName' => '../PayPal.log',
        'log.LogLevel' => 'FINE', // PLEASE USE FINE LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => true,
        // 'http.CURLOPT_CONNECTTIMEOUT' => 30
        // 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'
    )
);