diff --git a/lnbits/core/services/payments.py b/lnbits/core/services/payments.py index 80be56209..6557a341b 100644 --- a/lnbits/core/services/payments.py +++ b/lnbits/core/services/payments.py @@ -752,7 +752,7 @@ async def _pay_internal_invoice( await update_payment(internal_payment, conn=conn) logger.success(f"internal payment successful {internal_payment.checking_id}") - send_payment_notification_in_background(wallet, payment) + await _send_payment_notification_in_background(wallet.id, payment, conn=conn) # notify receiver asynchronously from lnbits.tasks import internal_invoice_queue @@ -825,7 +825,8 @@ async def _pay_external_invoice( payment = await update_payment_success_status( payment, payment_response, conn=conn ) - send_payment_notification_in_background(wallet, payment) + + await _send_payment_notification_in_background(wallet.id, payment, conn=conn) logger.success(f"payment successful {payment_response.checking_id}") payment.checking_id = payment_response.checking_id @@ -1033,3 +1034,13 @@ async def cancel_hold_invoice(payment: Payment) -> InvoiceResponse: await update_payment(payment) return response + + +async def _send_payment_notification_in_background( + wallet_id: str, payment: Payment, conn: Connection | None = None +): + # fetch balance again + wallet = await get_wallet(wallet_id, conn=conn) + if not wallet: + raise PaymentError(f"Could not fetch wallet '{wallet_id}'.", status="failed") + send_payment_notification_in_background(wallet, payment) diff --git a/pyproject.toml b/pyproject.toml index 34f4edd88..67e7ad9ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "lnbits" -version = "1.4.1" +version = "1.4.2" requires-python = ">=3.10,<3.13" description = "LNbits, free and open-source Lightning wallet and accounts system." authors = [{ name = "Alan Bits", email = "alan@lnbits.com" }] diff --git a/uv.lock b/uv.lock index fe160781e..1035b554c 100644 --- a/uv.lock +++ b/uv.lock @@ -1238,7 +1238,7 @@ wheels = [ [[package]] name = "lnbits" -version = "1.4.1" +version = "1.4.2" source = { editable = "." } dependencies = [ { name = "aiosqlite" },