Skip to content

feat(get_paid): one card showing everything the server knows - #224

Draft
BullishNode wants to merge 1 commit into
stack/getpaid-2-55-nostr-keys-uxfrom
stack/getpaid-2-56-getpaid-transaction-card
Draft

feat(get_paid): one card showing everything the server knows#224
BullishNode wants to merge 1 commit into
stack/getpaid-2-55-nostr-keys-uxfrom
stack/getpaid-2-56-getpaid-transaction-card

Conversation

@BullishNode

Copy link
Copy Markdown
Owner

There is no separate 'payment' — only the invoice — so the transaction
card stops linking out to a second screen and becomes the single place a
merchant reads everything about an entry, for every product (Lightning
address, invoices, Payment Page, POS).

  • View-invoice button removed; the card renders every field of the
    history contract: receipt id (copyable, never presented as a chain
    txid), settlement kind stated explicitly ('Settled as: Bitcoin' instead
    of an absent section), per-leg network, and the fiat-conversion
    override with all five 0.3 reasons — ambiguous_create now mapped and
    worded instead of funneling to unknown
  • invoice facts merged in via the invoices facade (locator-guarded,
    fail-silent): status with supporting lines only when they add
    information, face amount, pricing, paid/remaining/overpaid, tolerance,
    rate locked until, absolute expiry, paid via/at, accepted rails, and a
    compact per-event payment history
  • payer instructions render last, collapsed: lightning invoice,
    addresses, BIP21, per-rail payer amounts, quote rails, and the live
    payer quote rate — labelled distinctly from the R1 reference and R2
    executed rates so the three can never be misread
  • organized into titled sections in merchant-priority order; every fact
    appears exactly once; long values truncate in place and copy in full;
    empty sections render nothing
  • shared invoice copy moved to the invoices public boundary
    (invoice_copy.dart) so Get Paid reuses it without cross-feature reach

Gates: analyze --fatal-infos clean; 516 tests green (21 new card tests).


Stack created with GitHub Stacks CLIGive Feedback 💬

There is no separate 'payment' — only the invoice — so the transaction
card stops linking out to a second screen and becomes the single place a
merchant reads everything about an entry, for every product (Lightning
address, invoices, Payment Page, POS).

- View-invoice button removed; the card renders every field of the
  history contract: receipt id (copyable, never presented as a chain
  txid), settlement kind stated explicitly ('Settled as: Bitcoin' instead
  of an absent section), per-leg network, and the fiat-conversion
  override with all five 0.3 reasons — ambiguous_create now mapped and
  worded instead of funneling to unknown
- invoice facts merged in via the invoices facade (locator-guarded,
  fail-silent): status with supporting lines only when they add
  information, face amount, pricing, paid/remaining/overpaid, tolerance,
  rate locked until, absolute expiry, paid via/at, accepted rails, and a
  compact per-event payment history
- payer instructions render last, collapsed: lightning invoice,
  addresses, BIP21, per-rail payer amounts, quote rails, and the live
  payer quote rate — labelled distinctly from the R1 reference and R2
  executed rates so the three can never be misread
- organized into titled sections in merchant-priority order; every fact
  appears exactly once; long values truncate in place and copy in full;
  empty sections render nothing
- shared invoice copy moved to the invoices public boundary
  (invoice_copy.dart) so Get Paid reuses it without cross-feature reach

Gates: analyze --fatal-infos clean; 516 tests green (21 new card tests).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants