Skip to content

Improve settlement flow with confirmation and receipt #118

Description

@therealjhay

Description: The settlement page has an "Initiate Settlement" button but no confirmation step, no summary of what will happen (amount, exchange rate, fees, expected delivery time), and no receipt after completion. This is a financial transaction — it needs clear confirmation.

Requirements:

  • Add a settlement confirmation dialog showing:
    • Amount to settle (USDC and NGN)
    • Exchange rate and effective rate
    • Platform fee (1%)
    • Expected delivery time
    • Destination bank account
  • After confirmation, show a processing state with the TransactionProgress component (issue Improve Freighter wallet error handling #108)
  • After completion, show a receipt with: transaction hash, amount, date, bank details
  • The receipt should be downloadable as PDF or printable

Suggested execution steps:

  1. Create components/settlement/SettlementConfirmation.tsx
  2. Show the summary before initiating: calculate NGN amount at current rate, show the 1% fee, net amount
  3. Require explicit confirmation ("I understand this is irreversible")
  4. After confirmation, show the transaction progress (Freighter signing → Horizon → confirmation)
  5. On completion, show a receipt card
  6. Add a "Download Receipt" button using window.print() or a simple CSV export

Example commit message:

feat(settlement): add confirmation dialog, progress tracking, and receipt

Added settlement confirmation showing amount, rate, fees, and bank
details. Requires explicit user confirmation. Shows transaction progress
(Freighter → Horizon). Generates a downloadable receipt on completion.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions