https://github.com/yandex-money/yandex-money-sdk-php
В этой реализации API есть метод
API::buildObtainTokenUrl($client_id, $redirect_uri, $scope);
У меня это реализовано так:
$scope = array('account-info', 'money-source("wallet","card")', 'payment.to-account("'.ACCOUNT.'","account").limit('.$_POST['limit_time'].','.$_POST['limit'].')');
$auth_url = API::buildObtainTokenUrl(CLIENT_ID, REDIRECT_URI, $scope);
Все параметры заносятся, ссылка генерируется, там даже вполне можно авторизироваться и оно понимает что за сайт запрашивает данные, а значит CLIENT_ID верный.
Пробовал REDIRECT_URI и $scope внутри метода в последнем sprintf() преображать и в urlencode() и в rawurlencode()
Но бесполезно.
Поддержка яндекса молчит, а помощь нужна срочно.
На scope по видимому тоже не жалуется, ибо тогда бы вернуло другую ошибку.