PaySmart
A clean product path for invoices first, then licensed payments. PaySmart can offer free invoice setup while license acquisition continues, with address verification, identity, live FX, account control, and provider testing shown in public development.
Free invoice tools sit at the top
Invoice creation is the clearest free product surface PaySmart can offer while license acquisition is in progress. The page now leads with the invoice setup path before regulated payment features.
Pick the right invoice type
PaySmart starts with work type selection so the invoice can match nurses, security staff, freelancers, and zero-hours workers without asking for licensed payment permissions.
Structured invoice capture
The invoice flow captures dates, draft state, and required fields in a guided mobile form that can stand on its own as a free utility.
Ship useful value before licensed money movement
The public page should make invoices the first promise: create, save, and structure invoices for free. Payment initiation, wallets, and funding accounts remain presented as development work until licensing and provider readiness are complete.
- Lead with free invoice setup and draft progress
- Keep payment language tied to testing and licensing
- Use real app screens instead of abstract dashboard art
Address verification gets its own product section
Address verification is a trust surface, not just a settings detail. The map confirmation screen shows how PaySmart resolves an address, asks for user confirmation, and records residency context.
Confirm the resolved address on a map
The map, resolved address card, country, postcode, provider, and residency question make the verification step understandable before account limits or payment access depend on it.
Make verification progress inspectable
This section separates address verification from payments so reviewers can see what is built, what data is shown to the user, and where regulated access decisions will later connect.
- Resolved address details are visible before confirmation
- Map context supports user review instead of silent matching
- Residency answers can become part of future eligibility checks
Account control and security surfaces
The account hub, profile, security, passkey, and recovery screens show the product foundation that surrounds invoices now and licensed payment features later.
Light account management
Account information, limits, statements, language, appearance, and theme are organized as a clean user-control surface.
Dark profile mode
The dark profile view keeps account information, security, connected accounts, help, and about in one recognizable profile route.
Passkeys, PIN, and privacy
Password reset, Transaction PIN, two-step verification, passkeys, biometrics, privacy, and balance visibility are grouped together.
Extra verification methods
Google, Facebook, passkey, and email recovery paths make account protection visible before any payment feature depends on the account.
Method linking in dark mode
The same recovery concept is available in the dark account-protection flow, keeping passkeys and social sign-in options consistent across themes.
Instant account alerts
Users can see notification status from the home screen, alongside account setup progress and the free invoice action.
Live FX stays visible as a preview
The live-rate screen supports the public development story without implying that regulated transfers are live. It shows direction for future payment flows while invoices remain the free offer.
Rate discovery before money movement
PaySmart can show rate destinations, currency pairs, and send-entry intent as a product preview while provider payment work remains in test.
- FX pairs are visible in the app UI
- Send actions stay framed as future licensed flows
- The public roadmap can tie this view to provider testing
Exchange-rate product surface
The screen presents popular destinations, current rates, and a clear action path for later payment integration.
Product strategy and development status
PaySmart now presents a clearer public path: invoices first, trust and account controls next, and regulated payment features only as license-dependent development work.
Invoice setup and draft capture
Invoice screens are the lead offer because they can provide useful value without requiring PaySmart to launch regulated money movement.
Open invoice sectionAddress, identity, and account readiness
Address confirmation, extra login methods, passkeys, profile controls, and privacy settings show the user-safety foundation around the product.
View verification workPayments, funding, and send flows
Stripe, Flutterwave, funding accounts, wallets, and send actions stay framed as provider testing and future licensed surfaces.
Review technical docsCurrent focus
Current delivery work is concentrated on the free invoice surface, verification readiness, account safety, and the supporting public update trail.
Active workstreams
- Free invoice setup, draft save, and structured invoice entry
- Address verification, map confirmation, and residency questions
- Identity verification and account protection flows
- Stripe sandbox and Flutterwave provider testing for future licensed payment surfaces
- Kotlin client + Room-backed sync path for payment state
- Public implementation backlog, release notes, and update feed
Delivery signals
- Invoice screens are promoted before any payment claims
- Address verification has a dedicated product section with the map screen
- Provider coverage remains described as testing while licensing is pending
- Identity, security, and account progress remain visible in docs and updates
- FX is presented as preview and roadmap context, not live money movement
Architecture and state ownership
Invoice, verification, and license-dependent payment routes stay separated so the public product page can be useful without overstating regulated features.
License-dependent payment path
- Free invoice screens remain separate from payment initiation.
- Android app requests a provider-specific add-money session when the payment flow is enabled.
- Functions API validates auth, payload shape, and idempotency.
- Provider-specific handlers talk to Stripe or Flutterwave.
- Webhook or status polling becomes the source of truth for final state.
- Wallet data mirrors back into user state and local client storage.
For developers, reviewers, and early testers
Route names, delivery notes, and technical references stay visible for engineers, reviewers, and testers.
API surfaces visible in the repo now
- POST /payments/add-money/session for Stripe sandbox session creation
- GET /payments/add-money/session/:sessionId for final status reads
- POST /payments/flutterwave/add-money/session for provider testing
- GET /payments/flutterwave/funding-account and provision routes
- GET /api/quotes already exists ahead of the Kotlin FX slice
- /auth/identity/provider/* routes support provider handoff flows
POST /payments/add-money/session
Authorization: Bearer <idToken>
Idempotency-Key: add-money-001
{
"amountMinor": 5000,
"currency": "GBP"
}
{
"sessionId": "sess_01J...",
"status": "pending",
"currency": "GBP",
"provider": "stripe",
"checkoutUrl": "https://checkout.stripe.com/...",
"expiresAtMs": 1772709600000
}
Recent development updates
Recent updates track provider testing, security work, release slices, and the next implementation steps.
Loading updates...
Track progress in one place.
Architecture, docs, provider testing, and release progress stay in one place.