From 26c31b626d0b9eb7b2cec7c7f4df95e84bfe69be Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 1 Jul 2026 16:55:15 +0300 Subject: [PATCH] refactor: set `extension` field for payments (#4031) --- lnbits/core/crud/payments.py | 1 + lnbits/core/models/payments.py | 2 ++ lnbits/core/services/payments.py | 3 +++ 3 files changed, 6 insertions(+) diff --git a/lnbits/core/crud/payments.py b/lnbits/core/crud/payments.py index 05a9d341f..8b15bf811 100644 --- a/lnbits/core/crud/payments.py +++ b/lnbits/core/crud/payments.py @@ -290,6 +290,7 @@ async def create_payment( webhook=data.webhook, fee=-abs(data.fee), tag=extra.get("tag", None), + extension=data.extension, extra=extra, labels=data.labels or [], external_id=data.external_id, diff --git a/lnbits/core/models/payments.py b/lnbits/core/models/payments.py index 8b1460b09..2f38dfa54 100644 --- a/lnbits/core/models/payments.py +++ b/lnbits/core/models/payments.py @@ -54,6 +54,7 @@ class CreatePayment(BaseModel): amount_msat: int memo: str extra: dict | None = {} + extension: str | None = None preimage: str | None = None expiry: datetime | None = None webhook: str | None = None @@ -259,6 +260,7 @@ class CreateInvoice(BaseModel): ) expiry: int | None = None extra: dict | None = None + extension: str | None = None webhook: str | None = None bolt11: str | None = None lnurl_withdraw: LnurlWithdrawResponse | None = None diff --git a/lnbits/core/services/payments.py b/lnbits/core/services/payments.py index 52574028c..7f5e65846 100644 --- a/lnbits/core/services/payments.py +++ b/lnbits/core/services/payments.py @@ -214,6 +214,7 @@ async def create_wallet_invoice(wallet_id: str, data: CreateInvoice) -> Payment: unhashed_description=unhashed_description, expiry=data.expiry, extra=data.extra, + extension=data.extension, webhook=data.webhook, internal=data.internal, payment_hash=data.payment_hash, @@ -259,6 +260,7 @@ async def create_invoice( webhook: str | None = None, internal: bool | None = False, payment_hash: str | None = None, + extension: str | None = None, labels: list[str] | None = None, external_id: str | None = None, conn: Connection | None = None, @@ -342,6 +344,7 @@ async def create_invoice( expiry=invoice.expiry_date, memo=memo, extra=extra, + extension=extension, webhook=webhook, fee=invoice_response.fee_msat or 0, labels=labels,