• Страница 1 из 1
  • 1
Форум » ™ Статьи » Прочие статьи » Как получить QIWI API and P2P Token (Я решил попробовать получить его кодом и сейчас расскажу вам)
Как получить QIWI API and P2P Token

Дата: Вт, 02.05.2023, 10:09 | Сообщение 1
Регистр
04.01.2021
Сообщений
455

Репутация
Итак, я захотел получить токен p2p и мне выдало ошибку, что получение токена невозможно.
Я решил попробовать получить его кодом и сейчас расскажу вам как получить api and p2p токен.



Вам потребуется получить head токен по этой статье:
https://vk.com/@682226009-poluchenie-tokenov-tokenhead-i-tokentail

Далее нужно установить Python и запустить код и ждать смс кода:

Код Python:

Код
import requests

def get_url_encoded_object(data):
    form_body = []
    for key, value in data.items():
        encoded_key = requests.utils.quote(key)
        encoded_value = requests.utils.quote(value)
        form_body.append(encoded_key + "=" + encoded_value)
    form_body = "&".join(form_body)
    return form_body

def request_token_creation():
    data = {
        "response_type": "code",
        "client_id": "qiwi_wallet_api",
        "client_software": "WEB v4.96.0",
        "username": "тут номер киви кошелька",
        "scope": "read_person_profile read_balance read_payment_history accept_payments get_virtual_cards_requisites write_ip_whitelist",
        "token_head": "тут head token",
        "token_head_client_id": "web-qw"
    }
    headers = {
        "Content-Type": "application/x-www-form-urlencoded",
        "Cookie": "тут куки с сайта киви"
    }
    response = requests.post("https://qiwi.com/oauth/authorize", headers=headers, data=get_url_encoded_object(data))
    print(response.content)
    if response.status_code != 200 or "code" not in response.json():
        print(response.text)
    
    else:
        # ТУТ ЖДЕМ СМС КОД И ПОТОМ ЗАПУСКАЕМ ВТОРУЮ ФУНКЦИЮ С ПАРАМЕТРОМ response.json()["code"]
        pass
request_token_creation()


Далле нужно получить api токен, вставляем этот код:

Код Python:

Код
import requests

def get_url_encoded_object(data):
    form_body = []
    for key, value in data.items():
        encoded_key = requests.utils.quote(key)
        encoded_value = requests.utils.quote(value)
        form_body.append(encoded_key + "=" + encoded_value)
    form_body = "&".join(form_body)
    return form_body

def confirm_token_creation(code):
    data = {
        "grant_type": "urn:qiwi:oauth:grant-type:vcode",
        "client_id": "qiwi_wallet_api",
        "code": code,
        "vcode": "тут код который придет"
    }
    headers = {
        "Content-Type": "application/x-www-form-urlencoded",
        "Cookie": "Тут куки с сайта киви"

    }
    response = requests.post("https://qiwi.com/oauth/token", headers=headers, data=get_url_encoded_object(data))
    if response.status_code == 200 and "access_token" in response.json():
        print("TOKEN: " + response.json()["access_token"])
    else:
        print(response.content)
confirm_token_creation('сюда нужно ввести вывод с кода выше')


А чтоб получить p2p токен, нужно этот код:

Код Python:

Код
import requests

def create_p2p_merchant_key(token):
    data = {
        "keysPairName": "сюда название любое",
        "serverNotificationsUrl": ""
    }
    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Bearer " + token
    }
    response = requests.post("https://edge.qiwi.com/widgets-api/api/p2p/protected/keys/create", headers=headers, json=data)
    if response.status_code == 200:
        print("Ключ создан")
        print(response.json())
    elif response.status_code == 401:
        print("Ключ заблокирован")
    elif response.status_code == 403:
        print("Недостаточно прав")
    else:
        print(response.text)

create_p2p_merchant_key('тут апи который вы получали выше в коде')


Код желательно выполнять поочередно, будут вопросы пишите, постараюсь ответить

Подписывайтесь! Рекомендуйте нашу группу своим знакомым профессионалам в IT WiN-Prog Наша группа ВКонтакте!




Дата: Ср, 16.08.2023, 14:43 | Сообщение 2
Регистр
16.08.2023
Сообщений
2

Репутация
норм

Подписывайтесь! Рекомендуйте нашу группу своим знакомым профессионалам в IT WiN-Prog Наша группа ВКонтакте!



Форум » ™ Статьи » Прочие статьи » Как получить QIWI API and P2P Token (Я решил попробовать получить его кодом и сейчас расскажу вам)
  • Страница 1 из 1
  • 1
Поиск: