Загрузка...

We create payment through YuMoney | Yoomoney Python API

Thread in Python created by EsRoot Apr 2, 2024. (bumped Oct 31, 2024) 2846 views

The poll
Была ли полезна данная тема?
  1. Да

    94.7%
    18
  2. Нет

    5.3%
    1
  1. EsRoot
    EsRoot Topic starter Apr 2, 2024 11 Jan 15, 2022
    :love2: Всем привет!

    В связи блокировки **** в РФ, как то необходимо принимать платежи в ботах или на сайтах, но как же это сделать? Ответ прост, через ЮMoney и в сегодняшней статье мы рассмотрим один из способов создания оплат на Python используя API Yoomoney.
    1. Python 3.9+
    2. Библиотека YooMoney
    Python
    pip install YooMoney
    3. Библиотека Requests
    Python
    pip install requests

    1. Зайдите в кошелек ЮMoney. Если кошелька нет, создайте его.
    2. Перейдите на страницу Регистрация приложения.
    3. Укажите параметры приложения:
    4. Нажмите на кнопку Подтвердить.

    После у вас откроется страница Данные приложения, где будут указаны название вашего приложения, его идентификатор (client_id) и, если выбрана соответствующая опция, сгенерированное секретное слово (client_secret). Я буду показывать без проверки подлинности!

    [IMG]

    В качестве redirect_uri, я указал Discord, позже поймете зачем.
    5. Запоминаем client_id и redirect_uri, они нам еще нужны.

    Создаем любой файл .py и вписываем в него данных код.
    Данный код позволит получить TOKEN вашего приложения для дальнейших манипуляций с API
    Python
    from yoomoney import Authorize

    Authorize(
    client_id="ВАШ_CLIENT_ID",
    redirect_uri="ВАШ_REDIRECT_URI",
    scope=["account-info",
    "operation-history",
    "operation-details",
    "incoming-transfers",
    "payment-p2p",
    "payment-shop",
    ]
    )
    После запуска кода в консоль напишется следующие сообщение:

    Это означает что вы все сделали правильно, теперь вам требуется отправить код, что бы получить код требуется перейти на сайт который был указан в консоли и жмякнуть на «Продолжить»,переходи тыкаем и подтверждаем все.






    [IMG]

    После подтверждения вас перекинет на сайт который вы указали в redirect_uri, но стоит нам посмотреть на ссылку сайт, то вы увидите тот самый код.
    [IMG]

    Теперь просто копируем ссылку и вставляем в консоль. Если вы все сделали правильно, то вы получите следующие сообщений из консоли. Это и есть наш TOKEN. Теперь нам нужно просто его запомнить и все.
    [IMG]

    Затем нам нужно получить номер аккаунта и проверить токен, это все делается через один простенький код.
    Python
    from yoomoney import Client

    TOKEN = "ВАШ_TOKEN"

    client = Client(TOKEN)
    user = client.account_info()
    print(user.account)
    После запуска кода в консоль выведется ваш номер аккаунт, его мы тоже запоминаем в дальнейшем он нам ещё понадобится для создания счетов на оплату.

    Счет на оплату можно создать через данный код
    Python
    from yoomoney import Quickpay
    quickpay = Quickpay(
    receiver="4100117476417051", # Номер вашего аккаунта
    quickpay_form="shop", # Это я хз зачем, но я это не трогаю
    targets="Sponsor this project", # Цели, я их не изменяю, потому что особой нужды в этом нет.
    paymentType="SB", # Это лучше не трогать
    sum=10, # Это сумма
    label="test123" # Это комментарий для проверки на наличие оплаты
    )


    print(quickpay.base_url)
    После запуска кода, вы получите ссылку для оплаты, если вы сделали все правильно, то ссылка будет работать. Теперь нам нужно запомнить label который вы указали, в моем случае это «test123».

    Теперь нам нужно проверить, получили ли мы оплату?
    Для этого требуется просто вставить этот код и заменить TOKEN на свой.
    Python
    from yoomoney import Client

    TOKEN = "ВАШ_TOKEN"

    client = Client(TOKEN)

    history = client.operation_history(label="test123") #Просмотр истории транзакций, label - комментарий который вы указали ранее

    if history.operations == []:
    print("Оплата не найдена!")

    for operation in history.operations:
    if operation.status == 'success':
    print("Оплата найдена!")

    После запуска кода, мы в консоль получим «Оплата найдена!», но стоит нам заменить label на «test123_zxc», то мы получим «Оплата не найдена!». Это связано с тем, что в истории ваших транзакций не нашлось чека и выше указанным label.

    В данной статье, я показал как принимать платежи используя API YooMoney. Если вы хотите принимать платежи от сразу нескольких лиц, то создайте базу данных в которой будете хранить Пользователя и универсальный для него label, затем просто обращайтесь к базе данных и вытаскивайте от туда его label и затем просто проверяйте на наличие оплаты.

    Если вам понравилась данная статья, то позже создам ещё две статья на подобные темы.
    1. Как подключить эту платежку к боту Discord и как работать с базой данных.
    2. Создание счетов для оплаты используя API Платежной системы Payok

    :love2: У меня в принципе все, спасибо за уделенное время, надеюсь смог чем то вам помочь. Если останутся вопросы, то пишите сюда или мне в TG - @roozzz1m :love2:
     
  2. acceptance
    acceptance Apr 2, 2024 Все совпадения с данным профилем случайны. 2455 Oct 14, 2020
    локнут нахуй этот твой юмани
     
    1. View previous comments (3)
    2. vuchaev2015
      acceptance, бляха, откуда ты это взял удали
  3. PowerDevil
    PowerDevil Apr 2, 2024 12,967 Aug 27, 2022



    Ну чел 4 принта что такое почему так мало принтов
     
    1. EsRoot Topic starter
      PowerDevil, Это разные части кода, для удобства я не стал делать все в одном полном коде. А принтовал я для того что бы новички в питоне, понимали что для чего. Если вам эта статья не интересна, то, пожалуйста, перестаньте писать всякий бред в комментарии.
  4. Reversiousfsdfsd
    Reversiousfsdfsd Apr 2, 2024 Banned 418 Mar 27, 2024
    Полезно, можно даже рассматривать и другие платежки :)
     
  5. AGO
    AGO Apr 4, 2024 Work 374 Aug 27, 2022
    Хуйня юмани мне его тоже блокнули
    Юзаю крипту
     
    1. Parsing
  6. darkbishop
    darkbishop May 11, 2024 0 Apr 16, 2021
    Какие лимиты у юмани для приемки ?
     
  7. Moorluck
    Moorluck Jul 4, 2024 3 Apr 23, 2021
    Дай бог тебе здоровья!
     
  8. Ввфыфвфывф
    привет, подскажи как в питоне сделать именно запрос на подобную детализацию? Как выделено. Помоги именно с самим запросом остальное я сам напишу [IMG]
     
  9. KirpichikKolobka
    Функция Authorize просит какой то client_secret. Откуда взять ?
     
Top
Loading...