@demon06661

Как создать проверку платежа по ссылке?

Есть сайт - https://art.global24.pro/search/transaction?from=
Если в него вставит данные - https://art.global24.pro/search/transaction?from=6... то он выдаст то что такой платеж найден
Нужно сделать что-бы данные брались из бд и вставлялись в ссылку
Вот такой есть пример кода -
def easypay_check(user_id):
    conn, cursor = db.connect()
    check_data = list(cursor.execute("select * from easypay_global_check where user_id=?", (user_id,)).fetchone())

    id_check = list(cursor.execute("select * from check_id").fetchall())
    massive = []
    for i in id_check:
        for j in i:
            massive.append(j)
    if int(check_data[1]) not in massive:
        base_url = 'https://art.global24.pro/search/transaction?from=6693&date=2022-05-22T18:33&to=0630'
        data = {'receiptId': check_data[1], 'amount': check_data[2]}
        headers = {'accept': 'text/html'}
        
        response = requests.get(base_url, data, headers = headers)
        
        response.encoding = 'utf-8'
        full_status = response.text
        if '{"error":{"errorCode"' in full_status:
            print("Нет ответа от сервера")
            return 0, 0
        elif '<Response [200]>' == str(response):
            if str(check_data[1]) in full_status and str(check_data[2]) in full_status:
                for i in db.get_values('value', base='easypay'):
                    if str(i[0]) in full_status:
                        print("Успешная оплата!")
                        cursor.execute("insert into check_id values(?)", (check_data[1],))
                        conn.commit()
                        referral_percent(user_id, check_data[2])
                        return 1, check_data[2]
                    else:
                        print('Опять что-то не так с оплатой.')
                return 0, 0
            else:
                print("успешный ответ. но что-то не нашел")
                return 0, 0
        for i in db.get_values('value', base='easypay'):
            if f'EasyPay - електронних грошей {i[0]}' in full_status or f"EasyPay - электронных денег {i[0]}" in full_status:
                print("Оплатили!!!!")
                cursor.execute("insert into check_id values(?)", (check_data[1],))
                conn.commit()
                referral_percent(user_id, check_data[2])
                return 1, check_data[2]
            else:
                pass
            return 0, 0
        else:
            print("Что-то не так")
            return 0, 0
    else:
        return 0, 0

Ну он естественно не работает
При найденом платеже на сайте выводит это -
"amount": 2000,
"from": 63145706476693,
"relatedId": 380045095,
"timestamp": "2022-05-22T18:33:32Z",
"to": 35767179880630

Как сделать что бы этот код брал данные из бд, вставлял их в ссылку и в зависимости от ответа выполнял функцию?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы