Adds on-chain Bitcoin payment support
Adds support for on-chain Bitcoin payments by: - Introducing a new `Assets:Bitcoin:OnChain` account. - Updating the `SettleReceivable` and `PayUser` models to include `txid` for storing transaction IDs. - Modifying the API endpoints to handle `btc_onchain` as a valid payment method and associate it with the new account. This allows tracking on-chain Bitcoin transactions separately from Lightning Network payments.
This commit is contained in:
parent
8b16ead5b1
commit
e2472d13a2
3 changed files with 75 additions and 39 deletions
|
|
@ -188,11 +188,13 @@ class SettleReceivable(BaseModel):
|
|||
|
||||
user_id: str
|
||||
amount: Decimal # Amount in the specified currency (or satoshis if currency is None)
|
||||
payment_method: str # "cash", "bank_transfer", "lightning", "other"
|
||||
payment_method: str # "cash", "bank_transfer", "check", "lightning", "btc_onchain", "other"
|
||||
description: str # Description of the payment
|
||||
reference: Optional[str] = None # Optional reference (receipt number, transaction ID, etc.)
|
||||
currency: Optional[str] = None # If None, amount is in satoshis. Otherwise, fiat currency code (EUR, USD, etc.)
|
||||
amount_sats: Optional[int] = None # Equivalent amount in sats (for reference/conversion tracking)
|
||||
payment_hash: Optional[str] = None # For lightning payments
|
||||
txid: Optional[str] = None # For on-chain Bitcoin transactions
|
||||
|
||||
|
||||
class PayUser(BaseModel):
|
||||
|
|
@ -200,12 +202,13 @@ class PayUser(BaseModel):
|
|||
|
||||
user_id: str
|
||||
amount: Decimal # Amount in the specified currency (or satoshis if currency is None)
|
||||
payment_method: str # "cash", "bank_transfer", "lightning", "check", "other"
|
||||
payment_method: str # "cash", "bank_transfer", "check", "lightning", "btc_onchain", "other"
|
||||
description: Optional[str] = None # Description of the payment
|
||||
reference: Optional[str] = None # Optional reference (receipt number, transaction ID, etc.)
|
||||
currency: Optional[str] = None # If None, amount is in satoshis. Otherwise, fiat currency code (EUR, USD, etc.)
|
||||
amount_sats: Optional[int] = None # Equivalent amount in sats (for reference/conversion tracking)
|
||||
payment_hash: Optional[str] = None # For lightning payments
|
||||
txid: Optional[str] = None # For on-chain Bitcoin transactions
|
||||
|
||||
|
||||
class AssertionStatus(str, Enum):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue