Transaction Menu
Access the Transactions menu from the Dashboard by tapping the Transactions tile. The menu displays available transaction types in a grid layout.Available Transaction Types
Purchase
Process standard card payments for goods and services
Cash
Process cash deposit transactions
Pre-Authorization
Reserve funds on a customer’s card for later completion
Cash Advance
Withdraw cash using a debit card
Reprint
Reprint receipts for previous transactions
Settings
Quick access to terminal settings (in some builds)
The available transaction types vary based on your NetPOS build configuration. Some builds like “Konga” and “Aella Credit” show different options.
Processing a Purchase
The purchase flow is the most common transaction type in NetPOS.Navigate to Purchase
From the Dashboard:
- Tap Transactions tile
- Select Purchase from the transaction menu
Enter transaction amount
In the amount field, enter the purchase amount in Naira (without kobo). For example:
- Enter
1000for ₦1,000.00 - Enter
25000for ₦25,000.00
Add remark (optional)
Some builds display a transaction remark field where you can add notes about the transaction.
When is the remark field visible?
When is the remark field visible?
The remark field appears for:
- Konga build (
BuildConfig.FLAVOR.contains("konga")atDashboardFragment.kt:567-569) - When enabled in terminal settings
Validate and proceed
Tap the PROCESS TRANSACTION button. The system validates:
- Amount is not empty
- Amount is greater than zero
- Amount doesn’t exceed terminal limits
Read customer card
The card reader dialog appears with instructions:The system reads card data including:
- Insert Card (Chip)
- Tap Card (Contactless)
- Swipe Card (Magstripe)
- Insert the chip card into the reader slot
- Keep the card inserted until prompted to remove
- Follow PIN entry prompts on the device
- PAN (Primary Account Number)
- Card scheme (Visa, Mastercard, Verve, etc.)
- Expiry date
- Card holder name (if available)
Select account type
Choose the account type for the transaction:
- Default: Let the card/issuer decide
- Savings: Debit from savings account
- Current: Debit from current account
- Credit: Use credit card balance
Enter PIN
The customer enters their card PIN on the device. The PIN is:
- Encrypted using Triple DES
- Securely transmitted as a PIN block
- Never stored or logged in plain text
Wait for authorization
NetPOS processes the transaction:
- Sends transaction request to payment gateway
- Routes through NIBSS (Nigeria Inter-Bank Settlement System)
- Contacts card issuer for authorization
- Receives approval or decline response
View transaction result
The transaction result appears in a dialog showing:
- Response Code: “00” for approved, other codes for declined
- Response Message: “Approved” or decline reason
- Transaction Amount: Confirmed amount debited
- Card Details: Masked PAN (e.g., 506099******1234)
- Reference Numbers: RRN, STAN, transaction ID
- Date and Time: Transaction timestamp
Transaction Response Codes
Understand what different response codes mean:Transaction successful. Card was charged and receipt can be issued.
Card has insufficient balance. Customer should try another card or payment method.
Wrong PIN entered. Customer can retry (typically 3 attempts allowed).
Card issuer’s system is down. Retry later or use another card.
General processing error. Contact support if persistent.
Only transactions with response code “00” should be treated as successful. All other codes indicate the transaction was not completed.
Transaction History
View all past transactions processed on your terminal.Accessing Transaction History
From the Transactions menu, tap Reprint or access history from transaction details screens. The Transaction History screen (TransactionHistoryFragment.kt) displays:
- List of all transactions in reverse chronological order (newest first)
- Pagination for large transaction volumes
- Search functionality to find specific transactions
Transaction List View
Each transaction in the list shows:- Masked PAN: e.g., 506099******1234
- Amount: Transaction value in Naira
- Date/Time: When the transaction occurred
- Status: Approved (green) or Declined (red)
- Transaction Type: Purchase, Refund, etc.
Viewing Transaction Details
Tap any transaction to view full details:Transaction Detail Fields
Transaction Detail Fields
- Response Code & Message: e.g., “00 - Approved”
- Amount: Full transaction amount
- Masked PAN: Card number (partially masked)
- Card Scheme: Visa, Mastercard, Verve, etc.
- Transaction Type: Purchase, Refund, Cash Advance, etc.
- RRN (Retrieval Reference Number): Unique transaction identifier
- STAN (System Trace Audit Number): Sequential transaction number
- Authorization Code: Issuer authorization code (for approved transactions)
- Terminal ID: Your terminal identifier
- Merchant ID: Your merchant account ID
- Date & Time: Transaction timestamp
- Local Date: Transaction date in local format
Transaction Detail Actions
From the transaction detail screen (TransactionDetailsFragment.kt), you can:
Reprint Receipt
Generate a new receipt for the transaction (customer or merchant copy)
Refund
Process a refund for the transaction (if eligible)
Download Receipt
Save receipt as PDF to device storage
Share Receipt
Share receipt via SMS, email, or messaging apps
Transaction Tabs
The Transaction History screen has two tabs:- History Tab
- Search Tab
Shows paginated list of all transactions from the database.
- Automatically loads more transactions as you scroll
- Sorted by date (newest first)
- Displays both approved and declined transactions
Special Transaction Types
Pre-Authorization
Pre-authorization reserves funds on a card without immediately charging it.Pre-authorizations typically expire after 7-30 days depending on the card issuer. Complete them promptly to ensure funds capture.
Cash Advance
Allows customers to withdraw cash using their debit card.- Follow the same process as a purchase
- Ensure you have sufficient cash to disburse
- Customer receives cash, you receive card payment
Deposit (Cash)
Deposit cash to a customer’s bank account via their card.- Customer inserts their card
- You collect cash from customer
- Funds are deposited to their account
- Receipt confirms deposit
Print Type Dialog
When printing receipts, you’ll see the Print Type dialog (DialogPrintTypeBinding at TransactionDetailsFragment.kt:58-90):
- Customer: Prints customer copy receipt
- Merchant: Prints merchant copy receipt
- Download: Saves receipt as PDF
- Share: Shares receipt via apps
- Download and Share: Both saves and shares
- Cancel: Closes dialog without action
Printer Error Handling
If printing fails, the Printer Error dialog appears (TransactionDetailsFragment.kt:91-103):
- Error Message: Describes what went wrong (e.g., “Printer not connected”, “Out of paper”)
- Send Receipt: Alternative option to SMS the receipt
- Dismiss: Closes the error dialog
- Printer not connected or powered off
- Out of thermal paper
- Paper jam
- Low battery (for portable printers)
Transaction Storage
All transactions are stored locally in the device database:- Enables offline transaction history viewing
- Supports transaction reprints even without internet
- Synced with backend server when connection available
- Automatic retry for failed backend uploads (via background worker)
Failed Transaction Recovery
NetPOS automatically handles failed transaction uploads:- Transaction is saved locally immediately after processing
- System attempts to upload to backend server
- If upload fails (network issues), transaction is marked for retry
- Background worker (
RepushFailedTransactionToBackendWorker) automatically retries when network is available - You can see retry status in transaction details
Tips for Transaction Processing
Verify Amount Before Card Read
Verify Amount Before Card Read
Always confirm the amount with the customer before initiating card reading. Amount cannot be changed after card is inserted.
Keep Card Inserted
Keep Card Inserted
Instruct customers to keep chip cards inserted until the terminal says “Remove Card”. Premature removal causes transaction failure.
Handle Declines Gracefully
Handle Declines Gracefully
If a transaction is declined, explain the decline reason to the customer professionally. Offer alternatives like another card or payment method.
Print Both Copies
Print Both Copies
For audit purposes, always print and retain the merchant copy. Give the customer copy to the customer.
Network Timeouts
Network Timeouts
If a transaction times out, check the transaction history before retrying. The transaction may have succeeded despite the timeout.
Next Steps
Process Refunds
Learn how to refund transactions and reprint receipts
Generate Reports
View End-of-Day reports and reconciliation