TelegramWalletPay

Форк
0
/
03_webhook_handler_fastapi.py 
29 строк · 953.0 Байт
1
import os
2
from typing import Dict
3

4
import uvicorn
5
from fastapi import Depends, FastAPI
6
from telegram_wallet_pay.schemas import WebhookMessages
7
from telegram_wallet_pay.tools.fastapi import CheckSignature
8

9
# store TELEGRAM_WALLET_PAY_TOKEN to your .env
10
# wallet token can be issued via https://pay.wallet.tg/
11
TELEGRAM_WALLET_PAY_TOKEN = os.getenv("TELEGRAM_WALLET_PAY_TOKEN")
12

13
app = FastAPI()
14
check_signature = CheckSignature(TELEGRAM_WALLET_PAY_TOKEN)
15

16

17
@app.post("/wallet", dependencies=[Depends(check_signature)])
18
async def webhook_handler(webhook_messages: WebhookMessages) -> Dict[str, bool]:
19
    """Handle webhook from Telegram Wallet API."""
20
    for webhook_message in webhook_messages:
21
        # process every webhook message as you wish
22
        # e.g. store them to your database. We just print it here
23
        print(f"Received webhook message: {webhook_message}")
24

25
    return {"success": True}
26

27

28
if __name__ == "__main__":
29
    uvicorn.run(app)
30

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.