diff --git a/lnbits/extensions/lnurlp/lnurl.py b/lnbits/extensions/lnurlp/lnurl.py
index ca17646f..fc6cc545 100644
--- a/lnbits/extensions/lnurlp/lnurl.py
+++ b/lnbits/extensions/lnurlp/lnurl.py
@@ -2,6 +2,7 @@ import hashlib
import math
from http import HTTPStatus
from fastapi import FastAPI, Request
+from starlette.exceptions import HTTPException
from lnurl import LnurlPayResponse, LnurlPayActionResponse, LnurlErrorResponse # type: ignore
from lnbits.core.services import create_invoice
diff --git a/lnbits/extensions/withdraw/crud.py b/lnbits/extensions/withdraw/crud.py
index 183d8629..839e7a40 100644
--- a/lnbits/extensions/withdraw/crud.py
+++ b/lnbits/extensions/withdraw/crud.py
@@ -61,7 +61,7 @@ async def get_withdraw_link(link_id: str, num=0) -> Optional[WithdrawLink]:
# for item in row:
# link.append(item)
# link.append(num)
- print("GET_LINK", WithdrawLink.from_row(row))
+ # print("GET_LINK", WithdrawLink.from_row(row))
return WithdrawLink.from_row(row)
diff --git a/lnbits/extensions/withdraw/lnurl.py b/lnbits/extensions/withdraw/lnurl.py
index 75339cf7..dadc52e0 100644
--- a/lnbits/extensions/withdraw/lnurl.py
+++ b/lnbits/extensions/withdraw/lnurl.py
@@ -3,7 +3,9 @@ from http import HTTPStatus
from datetime import datetime
from lnbits.core.services import pay_invoice
+from fastapi.param_functions import Query
from starlette.requests import Request
+from starlette.exceptions import HTTPException
from . import withdraw_ext
from .crud import get_withdraw_link_by_hash, update_withdraw_link
@@ -80,19 +82,17 @@ async def api_lnurl_multi_response(request: Request, unique_hash, id_unique_hash
# HTTPStatus.OK,
# )
- return link.lnurl_response(request).dict()
+ return link.lnurl_response(req=request).dict()
# CALLBACK
@withdraw_ext.get("/api/v1/lnurl/cb/{unique_hash}", status_code=HTTPStatus.OK, name="withdraw.api_lnurl_callback")
-async def api_lnurl_callback(unique_hash):
+async def api_lnurl_callback(unique_hash, k1: str = Query(...), pr: str = Query(...)):
link = await get_withdraw_link_by_hash(unique_hash)
- k1 = request.query_params['k1']
- payment_request = request.query_params['pr']
+ payment_request = pr
now = int(datetime.now().timestamp())
-
if not link:
raise HTTPException(
status_code=HTTPStatus.NOT_FOUND,
diff --git a/lnbits/extensions/withdraw/models.py b/lnbits/extensions/withdraw/models.py
index 55b234e3..b01ad654 100644
--- a/lnbits/extensions/withdraw/models.py
+++ b/lnbits/extensions/withdraw/models.py
@@ -62,7 +62,7 @@ class WithdrawLink(BaseModel):
def lnurl_response(self, req: Request) -> LnurlWithdrawResponse:
url = req.url_for(
- "withdraw.api_lnurl_callback", unique_hash=self.unique_hash, _external=True
+ name="withdraw.api_lnurl_callback", unique_hash=self.unique_hash
)
return LnurlWithdrawResponse(
callback=url,
diff --git a/lnbits/extensions/withdraw/templates/withdraw/display.html b/lnbits/extensions/withdraw/templates/withdraw/display.html
index f4d6ef9d..245b3ed1 100644
--- a/lnbits/extensions/withdraw/templates/withdraw/display.html
+++ b/lnbits/extensions/withdraw/templates/withdraw/display.html
@@ -7,10 +7,10 @@
{% if link.is_spent %}