def get_url(self, state, update: Update): purchase = DB.get_purchase_by_reference(state['order']) if purchase is None: date = int(time()) url = 'https://secure.wayforpay.com/pay?behavior=offline' myobj = { 'merchantAccount': '34_89_218_42', 'merchantDomainName': 'https://t.me/timeplayer_bot', 'merchantTransactionSecureType': 'AUTO', 'orderReference': state['order'], 'orderDate': date, 'amount': 40, 'currency': 'UAH', 'productName': ['TimePlayer Premium'], 'productCount': [1], 'productPrice': [40], 'serviceUrl': 'http://34.89.218.42:7000/', 'language': 'RU', 'regularMode': 'monthly', 'regularOn': 1, 'regularCount': 12, 'alternativeCurrency': 'RUB' } signature_string = ';'.join([ myobj['merchantAccount'], myobj['merchantDomainName'], myobj['orderReference'], str(date), str(myobj['amount']), myobj['currency'], myobj['productName'][0], str(myobj['productCount'][0]), str(myobj['productPrice'][0]) ]) myobj['merchantSignature'] = hmac.new( b'23a1179dc7491d991e8d840b11555a70eaa7c53a', msg=signature_string.encode(), digestmod='MD5').hexdigest() x = requests.post(url, data=myobj) vkh = json.loads(x.text)['url'].split('=')[1] DB.add_purchase(state['order'], update.effective_chat.id, vkh) return "https://secure.wayforpay.com/page?vkh=" + vkh else: return "https://secure.wayforpay.com/page?vkh=" + purchase['vkh']
def hello(): if request.method == 'POST': cur_time = int(time()) form = json.loads(list(request.form.to_dict().keys())[0]) print(form) obj = { "orderReference": form['orderReference'], "status": "accept", "time": cur_time } signature_string = ";".join( [obj["orderReference"], obj['status'], str(obj['time'])]) obj['signature'] = hmac.new(SECRET_KEY, msg=signature_string.encode(), digestmod='MD5').hexdigest() if form['transactionStatus'] == "Approved": DB.confirm_purchase(obj["orderReference"]) purchase = DB.get_purchase_by_reference(obj["orderReference"]) f = open('bot_data.json') json_object = json.load(f) updater = Updater(json_object["token"]) updater.bot.send_message( chat_id=purchase['chat_id'], text="*Premium в этом чате был успешно продлен на месяц* 😊", parse_mode="Markdown") return json.dumps(obj) else: print(request.form.to_dict()) return "Hello World!"