Initial commit

This commit is contained in:
Abdulaziz Axmadaliyev
2026-02-26 16:35:47 +05:00
commit 92165edbe6
2984 changed files with 629155 additions and 0 deletions

45
app/api/payme.py Normal file
View File

@@ -0,0 +1,45 @@
from fastapi import APIRouter, Request, Depends
from sqlalchemy.orm import Session
from app.db.session import get_db
from app.core.security import verify_payme_auth
from app.services.payme_service import (
check_perform_transaction,
create_transaction_handler,
perform_transaction_handler,
cancel_transaction_handler,
)
router = APIRouter()
@router.post("/payme")
async def payme_webhook(
request: Request,
db: Session = Depends(get_db),
_: None = Depends(verify_payme_auth),
):
body = await request.json()
method = body.get("method")
params = body.get("params", {})
request_id = body.get("id")
if method == "CheckPerformTransaction":
result = await check_perform_transaction(params)
elif method == "CreateTransaction":
result = await create_transaction_handler(db, params)
elif method == "PerformTransaction":
result = await perform_transaction_handler(db, params)
elif method == "CancelTransaction":
result = await cancel_transaction_handler(db, params)
else:
return {
"jsonrpc": "2.0",
"id": request_id,
"error": {"code": -32601, "message": "Method not found"},
}
return {
"jsonrpc": "2.0",
"id": request_id,
"result": result,
}