Adds balance payment feature
Implements a feature that allows users to pay their outstanding balance via Lightning. The changes include: - Adds the UI elements for invoice generation and display, including QR code. - Integrates backend endpoints to generate and record payments. - Adds polling mechanism to track payments and update balance. - Creates new database models to support manual payment requests.
This commit is contained in:
parent
eb9a3c1600
commit
ef3e2d9e0d
4 changed files with 232 additions and 49 deletions
21
models.py
21
models.py
|
|
@ -132,3 +132,24 @@ class StoredUserWalletSettings(UserWalletSettings):
|
|||
"""Stored user wallet settings with user ID"""
|
||||
|
||||
id: str # user_id
|
||||
|
||||
|
||||
class ManualPaymentRequest(BaseModel):
|
||||
"""Manual payment request from user to castle"""
|
||||
|
||||
id: str
|
||||
user_id: str
|
||||
amount: int # in satoshis
|
||||
description: str
|
||||
status: str = "pending" # pending, approved, rejected
|
||||
created_at: datetime
|
||||
reviewed_at: Optional[datetime] = None
|
||||
reviewed_by: Optional[str] = None # user_id of castle admin who reviewed
|
||||
journal_entry_id: Optional[str] = None # set when approved
|
||||
|
||||
|
||||
class CreateManualPaymentRequest(BaseModel):
|
||||
"""Create a manual payment request"""
|
||||
|
||||
amount: int
|
||||
description: str
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue