Посмотреть вложение 5642
В феврале 2023 QIWI перестал выпускать токены API.
Что делать тем, кто использует API для физ.лиц ?
Получаем токен QIWI на 10 лет.
Вариант для тех у кого "всё работает", т.е. имеем действующий токен, есть возможность принять смс.
Важно! Меняем пароль.
Посмотреть вложение 5643
Сейчас пароль необходимо менять раз в год. Если вы забудете поменять пароль,
QIWI сбросит ваш старый пароль аннулирует(!) токены. Для того чтобы токены остались действующими меняем пароль самостоятельно(!) и помним, что в следующем году до весны необходимо снова поменять пароль. Для смены пароля нужно принять смс с 4х значным кодом. Если не возможности принять смс, то скорее всего токен перестанет действовать вместе с паролем, ищете другие варианты.
При смене пароля поле "Завершить все сеансы" должно оставаться пустым, иначе все токены анулируютсяю
После того как поменяли пароль
получаем десятилетний токен КИВИ.
Готовим и выполняем два скрипта cURL в терминале (нажмите Клавиша Windows на клавиатуре + S на клавиатуре).
Берём действующий (ваш) токен и вставляем в скрипт вместо token=b268d88fxxxxxxxxxxxxxxxxxxxxa897 вставляем token=ваш_токент (
не удалите случайно одинарную кавычку после токена)
Копируем скрипт в терминал и выполняем (enter)
curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/text' -d 'response_type=code&client_id=api_wallet_private&client_software=api&token=b268d88fxxxxxxxxxxxxxxxxxxxxa897' http://qiwi.com:80/oauth/authorize --output -
если все прошло нормально, вы получите в терминале код для перевыпуска токена в виде:
{"code":"a55xxxxxxxxxxxxxxxxxxxxxxxxxxxce"}
Готовим второй скрипт. Меняем значение code=a55xxxxxxxxxxxxxxxxxxxxxxxxxxxce в скрипте на значение кода, который вы получили после выполнения первого скрипта (см выше) code=ваш_код
curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=authorization_code&client_id=api_wallet_private&client_secret=hTFPyt&code=a55xxxxxxxxxxxxxxxxxxxxxxxxxxxce' http://qiwi.com:80/oauth/token --output -
в ответ на выполнение второго скрипта получаем то, что нам нужно
Посмотреть вложение 5644
{'access_token': '29xxxxxxxxxxxxxxxxxxxxxxxxxxx855', 'token_type': 'Bearer', 'expires_in': '316224000', 'refresh_token': 'f3xxxxxxxxxxxxxxxxxxxxxxxxxxxb25', 'contract_id': 'F6XXXXXXXXXXXXXXXXXXXXXXXXXXXA4', 'wallet_number': '79xxxxxxxx7'}
Сохраняем то, что получили и не забываем поменять токен там, где им пользуемся.
Замечания по безопасности. Важно.
- скрипты передают user-agent вашей операционной системы если нужно поменять вставляем в скрипт свой в формате: -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4495.0 Safari/537.36'
- ВАЖНО Обмен данными происходит по протоколу http, т.е. не шифруется. Ответ от сервера QIWI приходит в 'открытом' виде. Если вы пользуетесь сомнительными прокси или VPN, где владелец прокладки может просматривать трафик, подумайте, стоит ли пользоваться данным вариантом. В ответе сервера КИВИ есть всё, что нужно для списания денег.
Немного решает такое положение дел включение смс подтверждение в лк QIWI (Профиль-Безопасть), по крайне мере "на первое время"
Вариант для тех, у кого нет действующего токена.
В этом случает обращаемся к помощи "знающий людей". Передаёте номер, пароль и смс (это несколько не уютно, но читайте дальше) и получаете токен.
Момент в том, что пароль и токен есть не только у вас и поменять вы можете только пароль
Безопасность: Если пароль вы можете поменять в лк QIWI штатными средствами, то токен через лк вы поменять уже не можете. Для замены токена есть вариант выше, ведь теперь вы тот у кого всё работает
Коротко: получаете/покупаете действующий токен, меняете пароль, получаете новый токен на 10 лет через API
В итоге имеем: действующий токен на 10 лет, пароль только у вас, токен только у вас.
Как долго эта ситуация будет длиться непонятно. Может Киви завтра возобновит выдачу токенов, а может вообще API закроет, по этому не тяните.
Будьте осторожны с удалением доступа с устройств
Посмотреть вложение 5645
Скрипты можно конвертировать под ваш интерпретатор языка программирования здесь