NetPOS provides comprehensive capabilities for handling refunds and reprinting receipts. This guide covers both operations in detail.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/netplusTeam/NetPOS/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Refunds and reprints are accessed through the Transactions menu and transaction history screens.Refunds
Reprints
Processing Refunds
Refunds allow you to reverse a previous purchase transaction and credit the customer’s card.When to Use Refunds
- Customer returns purchased goods
- Service was not delivered as expected
- Transaction was processed in error
- Customer was overcharged
- Product was defective or damaged
Refund Process
Access transaction history
- Tap Transactions tile
- Select Reprint (which opens transaction history)
Find the transaction to refund
- Use the History tab to browse recent transactions
- Use the Search tab to find by amount, card number, or date
- Tap the transaction to open transaction details
Initiate refund
TransactionDetailsFragment.kt):- Tap the REFUND action button (if visible for the transaction type)
- The system validates that the transaction is eligible for refund
- Transaction was approved (response code “00”)
- Transaction has not already been refunded
- Refund is within the allowed time window (typically 180 days)
Read customer card
Why the same card?
Why the same card?
- Insert, tap, or swipe the customer’s card
- System verifies the card matches the original transaction PAN
- Customer may need to enter PIN (depends on card and amount)
Wait for refund authorization
- Sends refund request to payment gateway
- Routes through NIBSS to card issuer
- Card issuer authorizes the credit
- Funds are credited back to the customer’s card
viewModel.refundTransaction(requireContext()) at TransactionDetailsFragment.kt:157.View refund result
- Refund Status: Approved or Declined
- Refund Amount: Amount credited to card
- Original Transaction: Reference to the original purchase
- Refund RRN: Unique reference for the refund
- Date & Time: Refund timestamp
Refund Receipt Contents
A refund receipt includes:- Transaction Type: “REFUND” (prominently displayed)
- Original Transaction Details: Original RRN, date, amount
- Refund Details: Refund RRN, date, amount
- Card Information: Masked PAN
- Terminal & Merchant Info: Terminal ID, Merchant ID, business name
- Response Code: “00” for approved refunds
- Timestamp: Date and time of refund processing
Partial Refunds
Refund Time to Settlement
After a successful refund:- Immediate: Refund is authorized and logged
- 1-3 business days: Funds typically appear in customer’s account
- 5-10 business days: Maximum time for most card issuers
Reprinting Receipts
Receipt reprinting allows you to generate duplicate receipts for any past transaction.When to Reprint
- Customer lost their original receipt
- Merchant copy was misplaced
- Thermal print faded over time
- Printer malfunction during original transaction
- Customer requests email/digital copy
Reprint Process
Access Reprint menu
- Tap Transactions tile
- Select Reprint from transaction menu
- Navigate to any transaction in history
- Open transaction details
- Use reprint action
TransactionsFragment.kt:58-67.Enter reprint password (if required)
- Password entry dialog appears
- Enter the reprint password (set in Settings)
- Tap Proceed
Setting/Changing Reprint Password
Setting/Changing Reprint Password
PREF_REPRINT_PASSWORD. Contact your administrator to set or reset this password.Select reprint option
ReprintFragment.kt) displays options:- Reprint One Transaction: Reprint a single transaction (most common)
- Reprint All Transactions: Bulk reprint (advanced feature)
Find the transaction
HISTORY_ACTION_REPRINT.Browse or search for the transaction:- History tab: Scroll through recent transactions
- Search tab: Search by amount, card, date, or reference number
View transaction details
viewModel.setAction(HISTORY_ACTION_REPRINT) to indicate this is a reprint operation.Choose receipt format
- Customer Copy
- Merchant Copy
- Download
- Header: “CUSTOMER COPY”
- All transaction details
- No signature line
Reprint Receipt Marking
Reprinted receipts may include:- “REPRINT” watermark: Indicates this is a duplicate
- Original timestamp: Shows when the original transaction occurred
- Reprint timestamp: Shows when the receipt was reprinted (in some formats)
Receipt Storage and PDF Generation
When downloading or sharing receipts:- PDF Layout Initialization:
initViewsForPdfLayout()populates receipt template with transaction data (TransactionDetailsFragment.kt:271-275) - PDF Creation:
createPdf()generates PDF from the layout (TransactionDetailsFragment.kt:266) - Permission Handling: Storage permission requested if not already granted (
TransactionDetailsFragment.kt:258-268) - File Saving: PDF saved to Downloads with descriptive filename
- Share Intent: For sharing, PDF file is attached to Android share intent
pdfUtils package.
Bulk Reprint (Advanced)
The “Reprint All Transactions” option allows printing multiple receipts: Use cases for bulk reprint:- End-of-day merchant copies for all transactions
- Backup receipts for accounting/audit
- Batch receipt generation for customer service
SMS Receipts
Both refunds and reprints support SMS receipt delivery.SMS Receipt Process
Enter phone number
- Must be exactly 11 digits
- Format: 0XXXXXXXXXXX
Send SMS
- Formats transaction details as SMS text
- Calls SMS API (
viewModel.sendSmS()atTransactionDetailsFragment.kt:196) - Sends SMS to the provided number
SMS Receipt Contents
Example SMS format:Printer Error Handling
If printing fails during refund or reprint, the Printer Error dialog appears.Common Printer Errors
Printer Not Connected
Printer Not Connected
- Check printer is powered on
- Verify Bluetooth pairing
- Reconnect printer in Settings
- Ensure printer is in range
Out of Paper
Out of Paper
- Replace thermal paper roll
- Ensure paper is loaded correctly
- Check paper feed mechanism
Low Battery
Low Battery
- Charge the printer
- Use while charging if urgent
- Replace battery if old
Paper Jam
Paper Jam
- Open printer cover
- Remove jammed paper
- Reload paper properly
- Clean paper feed rollers
Printer Busy
Printer Busy
- Wait for current print job to finish
- Restart printer if stuck
- Clear print queue
Printer Error Dialog Options
When a printer error occurs (TransactionDetailsFragment.kt:238-250):
- Error Message: Describes the specific problem
- Send Receipt: Alternative option to SMS the receipt instead of printing
- Dismiss: Closes the error dialog
Transaction Action Buttons
On the Transaction Details screen, action buttons appear based on transaction type:- REFUND: For approved purchase transactions
- REPRINT: For all transactions (default action)
- Pre-Auth Complete: For successful pre-authorization transactions
- Pre-Auth Refund: For pre-authorizations that need cancellation
viewModel.selectedAction which is set when navigating to the transaction details.
Failed Transaction Refunds
If a customer insists a declined transaction was charged:- Show them the transaction details with decline code
- Advise them to check their bank statement
- If their bank shows a debit, it’s likely a pending authorization that will be reversed automatically
- Contact your payment processor support if issue persists
Best Practices
Verify Before Refunding
Print Both Copies
Document Refund Reason
Secure Reprint Access
Tips and Tricks
Reprint Without Password
Reprint Without Password
Saving Paper
Saving Paper
Fast Transaction Lookup
Fast Transaction Lookup
Refund Disputes
Refund Disputes