diff --git a/lnbits/core/services.py b/lnbits/core/services.py index 3d54e218d..875f7644c 100644 --- a/lnbits/core/services.py +++ b/lnbits/core/services.py @@ -321,7 +321,10 @@ async def check_invoice_status( payment = await get_wallet_payment(wallet_id, payment_hash, conn=conn) if not payment: return PaymentStatus(None) - status = await WALLET.get_invoice_status(payment.checking_id) + if payment.is_out: + status = await WALLET.get_payment_status(payment.checking_id) + else: + status = await WALLET.get_invoice_status(payment.checking_id) if not payment.pending: return status if payment.is_out and status.failed: diff --git a/lnbits/core/views/api.py b/lnbits/core/views/api.py index 3be3a460e..85de97cd5 100644 --- a/lnbits/core/views/api.py +++ b/lnbits/core/views/api.py @@ -365,14 +365,13 @@ async def api_payments_sse( @core_app.get("/api/v1/payments/{payment_hash}") async def api_payment(payment_hash, X_Api_Key: Optional[str] = Header(None)): - wallet = None - try: - if X_Api_Key.extra: - print("No key") - except: + if X_Api_Key is not None: wallet = await get_wallet_for_key(X_Api_Key) + else: + wallet = None payment = await get_standalone_payment(payment_hash) - await check_invoice_status(payment.wallet_id, payment_hash) + if payment: + await check_invoice_status(payment.wallet_id, payment_hash) payment = await get_standalone_payment(payment_hash) if not payment: raise HTTPException(