написал код для получения acces_token на чистом php,работало успешно,затем тот же код слегка адаптировал под yii2
в итоге code значение получаю,а access_token возвращает NULL, всю работу тестировал на локалке без https
почему то никаких ошибок не выводится,хотя должно, не подскажете в какую сторону копать? в чем может быть проблема?
<?php
private
function yandexParams()
{
$ya['scope'] = array("account-info operation-history operation-details payment-p2p");
$ya['redirect_uri'] = '';
$ya['client_id'] = '';
return $ya;
}
// http://site.loc/frontend/web/site/send-yandex-money
public
function actionSendYandexMoney()
{
function human_print($var)
{
echo '<pre>';
print_r($var);
echo '</pre>';
echo '<hr>';
}
$yandex = $this->yandexParams();
$code = Yii::$app->request->get('code', '');
// echo 'res yandex money';
if (!empty($code)) {
print_r($yandex);
echo '<hr>';
var_dump('code', $code);
echo '<hr>';
// $access_token_response = API::getAccessToken($client_id, $code, $redirect_uri, $client_secret);
// $access_token_response = API::getAccessToken($client_id, $code, $redirect_uri, $client_secret = NULL);
// $access_token_response = API::getAccessToken($yandex['client_id'], $code, $yandex['redirect_uri'],$yandex['client_secret']);
$access_token_response = API::getAccessToken($yandex['client_id'], $code, $yandex['redirect_uri'], $client_secret = NULL);
var_dump('$access_token_response', $access_token_response);
echo '<hr>';
if (property_exists($access_token_response, "error")) {
// process error
echo $access_token_response->error;
}
$access_token = $access_token_response->access_token;
var_dump('$access_token', $access_token);
echo '<hr>';
} else {
// $auth_url = API::buildObtainTokenUrl($client_id, $yandex['redirect_uri'], $yandex['scope']);
$auth_url = API::buildObtainTokenUrl($yandex['client_id'], $yandex['redirect_uri'], $yandex['scope']);
// var_dump($auth_url);
// echo '<hr>';
return $this->render('yandex-auth.php', [
'auth_url' => $auth_url,
]);
}
/*********** views ************/
?>
<form id = "auto-send-yandex-money2" method = "POST" target = "_blank" action = "<?php echo $auth_url;?>" >
<input type = "submit" value = "Авторизация через Яндекс" >
</form >