我正在开发一个使用Paypal REST API进行付款的在线商店。 一切都在沙盒模式下工作正常,但是当我尝试进入实时时,我收到此消息:
{"error":"invalid_client","error_description":"Client Authentication failed"}
我将身份验证网址更改为:https://api.paypal.com/v1/oauth2/token我也将客户端ID和密码ID更改为实时ID。
在仪表板中还有其他事项可以在实时模式下设置我的帐户吗?
我在代码中使用curl。
protected $mode = 'PROD';
function getNewToken()
{
$url = "https://api.sandbox.paypal.com/v1/oauth2/token";
if ($this->mode == 'PROD')
$url = "https://api.paypal.com/v1/oauth2/token";
$token = new ModelAPIToken();
$token->set('app', 'test-paypal');
if ($this->mode == 'PROD')
$token->set('app', 'prod-paypal');
$token->select();
$data = 'grant_type=client_credentials';
$curlManager = new Curl();
$curlManager->setUrl($url);
$curlManager->addToHttpHeader('Accept-Language: en_US');
$curlManager->setCurlOpt(CURLOPT_USERPWD, $token->get('user_key') . ":" . $token->get('user_secret'));
$curlManager->execute($data);
$response = $curlManager->getResponse();
preg_match('#"access_token":"(.*)","token_type"#', $response, $match);
$access_token = $match[1];
$token->set('access_token', $access_token);
$token->save();
}