TelegramWalletPay
29 строк · 953.0 Байт
1import os2from typing import Dict3
4import uvicorn5from fastapi import Depends, FastAPI6from telegram_wallet_pay.schemas import WebhookMessages7from telegram_wallet_pay.tools.fastapi import CheckSignature8
9# store TELEGRAM_WALLET_PAY_TOKEN to your .env
10# wallet token can be issued via https://pay.wallet.tg/
11TELEGRAM_WALLET_PAY_TOKEN = os.getenv("TELEGRAM_WALLET_PAY_TOKEN")12
13app = FastAPI()14check_signature = CheckSignature(TELEGRAM_WALLET_PAY_TOKEN)15
16
17@app.post("/wallet", dependencies=[Depends(check_signature)])18async def webhook_handler(webhook_messages: WebhookMessages) -> Dict[str, bool]:19"""Handle webhook from Telegram Wallet API."""20for webhook_message in webhook_messages:21# process every webhook message as you wish22# e.g. store them to your database. We just print it here23print(f"Received webhook message: {webhook_message}")24
25return {"success": True}26
27
28if __name__ == "__main__":29uvicorn.run(app)30