Overview
Pay-by-Transfer allows merchants to display virtual account details that customers can transfer money to from their mobile banking apps or internet banking platforms.Virtual account numbers are uniquely generated for each merchant and can be used for multiple transactions.
Payment Flow
Retrieve Merchant Details
System fetches the merchant’s virtual account details from the payment gateway
Display Account Information
Show bank name, account number, and account name in a bottom sheet dialog
Customer Transfers
Customer initiates a bank transfer to the displayed account using their banking app
Implementation
PayByTransferBottomSheetDialogFragment
This fragment displays the virtual account details to the merchant:PayByTransferBottomSheetDialogFragment.kt
PayByTransferService
The service interface for retrieving merchant virtual account details:PayByTransferService.kt
API Endpoint
Response Model
The merchant details response contains the virtual account information:MerchantDetailsResponse.kt
Response Example
Account Information Display
The bottom sheet dialog displays the following information:| Field | Description | Source |
|---|---|---|
| Bank Name | Name of the bank holding the virtual account | user.bank |
| Account Number | Virtual account number for transfers | user.acctNumber |
| Account Name | Business name registered for the account | user.businessName |
Usage Flow
1. Initiate Pay-by-Transfer
Merchant selects the Pay-by-Transfer option from the payment methods menu.2. Fetch Account Details
The app retrieves the merchant’s virtual account details:3. Display Account Information
Populate the bottom sheet dialog with account details:4. Customer Transfer
The customer uses the displayed account information to initiate a bank transfer from their mobile banking app.5. Complete Transaction
Once the customer confirms the transfer in their banking app, the merchant clicks “Done” to dismiss the dialog.Account Verification
Merchants should implement proper verification workflow:Integration Requirements
Authentication
Pay-by-Transfer requires proper authentication:- Authorization Token - Valid Bearer token for API authentication
- Merchant ID - NetPlus Pay merchant identifier
User Credentials
The following merchant details must be configured:Error Handling
Authentication Failed
Authentication Failed
Error: 401 UnauthorizedCause: Invalid or expired authentication tokenSolution: Refresh the authentication token and retry
Merchant Not Found
Merchant Not Found
Error: 404 Not FoundCause: Invalid NetPlus Pay Merchant ID or merchant not registeredSolution: Verify merchant registration and credentials
Network Error
Network Error
Error: Connection timeout or failedCause: No internet connectivity or server unreachableSolution: Check network connection and retry
Bottom Sheet UI Components
The Pay-by-Transfer bottom sheet includes:- Account Details Section
- Bank Name Label - “Bank Name:”
- Bank Name Value - Dynamic bank name
- Account Number Label - “Account Number:”
- Account Number Value - Dynamic 10-digit account number
- Account Name Label - “Account Name:”
- Account Name Value - Business name
Best Practices
Verify Receipt
Always verify payment receipt before completing the transaction
Account Display
Display account details clearly and allow customers to copy the information
Error Handling
Implement proper error handling for API failures and network issues
Session Management
Ensure authentication tokens are valid before making API calls
Transaction Records
Pay-by-Transfer transactions are automatically recorded in:- Local Database - Transaction history stored locally
- Backend System - Synced with NetPOS backend for reconciliation
- Bank Statement - Reflected in merchant’s bank account statement
Additional Features
Copy to Clipboard
Implement clipboard functionality for easy sharing:Share Account Details
Allow merchants to share account information:Virtual account numbers remain active and can be reused for multiple transactions. There’s no need to generate new account numbers for each transaction.
Related Resources
Payment Overview
Learn about all available payment methods
Transaction History
View and manage transaction records