18 lines
591 B
Python
18 lines
591 B
Python
import base64
|
|
from fastapi import Request, HTTPException
|
|
from app.core.config import settings
|
|
|
|
|
|
def verify_payme_auth(request: Request):
|
|
auth_header = request.headers.get("Authorization")
|
|
|
|
if not auth_header:
|
|
raise HTTPException(status_code=401, detail="Missing auth")
|
|
|
|
encoded = auth_header.split(" ")[1]
|
|
decoded = base64.b64decode(encoded).decode()
|
|
|
|
merchant_id, secret = decoded.split(":")
|
|
|
|
if merchant_id != settings.PAYME_MERCHANT_ID or secret != settings.PAYME_SECRET_KEY:
|
|
raise HTTPException(status_code=403, detail="Invalid Payme credentials") |