Skip to content

Vendor App Overview

The Keshless Vendor App is designed for merchants and agents to accept payments, manage transactions, and handle cash operations for customers.

Vendor Types

TypePrimary Functions
MerchantAccept payments at POS
AgentTop-ups, withdrawals, card operations
HybridBoth merchant and agent services

Features at a Glance

FeatureDescription
AuthenticationVendor/sub-user login, roles
DashboardRevenue metrics, activity
POSAccept NFC payments
Top-upCash-to-digital conversion
WithdrawalDigital-to-cash processing
TransactionsHistory, filtering, export
Team ManagementTills, sub-users, roles
Card OperationsLink, block, reset PIN
TicketsSell and scan tickets

User Roles

Role Hierarchy

┌─────────────────────────────────────────────────────────┐
│                         Owner                            │
│              (Full access, all permissions)              │
├─────────────────────────────────────────────────────────┤
│                        Manager                           │
│          (Operations, reports, limited settings)         │
├────────────────────────┬────────────────────────────────┤
│        Cashier         │         Accountant             │
│    (POS, basic ops)    │    (Reports, reconciliation)   │
└────────────────────────┴────────────────────────────────┘

Permission Matrix

FeatureOwnerManagerCashierAccountant
POS PaymentsYesYesYesNo
Top-upsYesYesYesNo
WithdrawalsYesYesYesNo
View TransactionsYesYesTill onlyYes
Export ReportsYesYesNoYes
Manage TeamYesYesNoNo
SettingsYesNoNoNo
Card OperationsYesYesNoNo

Vendor Flow

┌─────────────────────────────────────────────────────────┐
│                     Vendor Onboarding                    │
├─────────────────────────────────────────────────────────┤
│                                                          │
│  ┌─────────────┐     ┌─────────────┐     ┌─────────────┐│
│  │ Register    │────▶│ Business    │────▶│ Verification││
│  │ (Phone)     │     │ Profile     │     │ (Documents) ││
│  └─────────────┘     └─────────────┘     └──────┬──────┘│
│                                                  │       │
│                                                  ▼       │
│  ┌─────────────┐     ┌─────────────┐     ┌─────────────┐│
│  │ Start       │◀────│ Create Till │◀────│ Approved    ││
│  │ Operations  │     │ (Terminal)  │     │             ││
│  └─────────────┘     └─────────────┘     └─────────────┘│
│                                                          │
└─────────────────────────────────────────────────────────┘

Security Features

FeatureDescription
Role-based AccessPermissions enforced at every level
Till SystemSeparate accounts for different terminals
PIN VerificationRequired for sensitive operations
Session ManagementAuto-logout after inactivity
Transaction LimitsConfigurable per role

Code Location

Repository Path: frontend/keshless-vendor-app/

Key Files:

FilePurpose
lib/main.dartEntry point
lib/routes/app_routes.dartRoutes
lib/controllers/auth_controller.dartAuth Controller
lib/providers/permission_provider.dartPermission Provider
lib/services/vendor_service.dartVendor Service

API Integration

EndpointPurpose
/vendor/auth/*Vendor authentication
/vendor/profileVendor profile
/vendor/transactions/*Transaction management
/vendor/tills/*Till operations
/vendor/team/*Sub-user management
/cards/*Card operations

Environment Configuration

EnvironmentAPI URL
Productionhttps://api.keshless.com
Developmenthttps://dev-api.keshless.com

Internal use only - Keshless Payment Platform