Wallet Deposit Requests¶
Purpose¶
Review and process customer requests to add funds to their wallets via offline payment methods. Verify payment receipts, approve legitimate deposits, and reject fraudulent or incomplete requests.
Accessing Wallet Deposit Requests¶
Navigate to: Delivery & Payments > Wallet Deposit Requests from the sidebar
List View¶

The list displays all customer deposit requests with payment details and current status.
Table Columns¶
Request ID¶
- Format: Number with # prefix
- Purpose: Unique identifier for this deposit request
- Sortable: Yes (default: newest first)
User¶
- Format: Text (customer name)
- Purpose: Customer who submitted the deposit request
- Clickable: Links to customer profile
Amount¶
- Format: Money value in original currency
- Purpose: Amount customer claims to have deposited
- Display: Shows both original amount and currency code
Currency¶
- Format: Badge (3-letter code)
- Purpose: Currency in which payment was made
- Examples: USD, EUR, SAR, AED
Base Currency Amount¶
- Format: Money value in store base currency
- Purpose: Converted amount that will be credited to wallet
- Note: If currency matches base currency, same as amount
Payment Method¶
- Format: Badge
- Purpose: Offline payment method used (bank transfer, cash, etc.)
- Display: Shows payment method name
Status¶
- Format: Colored badge
- Purpose: Current request status
- Values:
- Pending (Yellow): Awaiting admin review
- Approved (Green): Verified and funds credited
- Rejected (Red): Declined with reason
Attachment¶
- Format: Image preview icon or link
- Purpose: Receipt/proof uploaded by customer
- Action: Click to view full image
Submitted Date¶
- Format: Timestamp
- Purpose: When customer submitted the request
Reviewed By¶
- Format: Text (admin name) - hidden by default
- Purpose: Admin who processed this request
- Visible: Only after approval/rejection
Reviewed At¶
- Format: Timestamp - hidden by default
- Purpose: When request was processed
Row Actions¶
- View: See complete request details and receipt
- Approve: Accept deposit and credit wallet (pending requests only)
- Reject: Decline deposit with reason (pending requests only)
Bulk Actions¶
- Export: Export requests data to Excel/CSV
Viewing a Deposit Request¶

Click View to see complete request details:
Request Information¶
- Request ID and status
- Customer name and email
- Payment method used
- Amount in original currency
- Converted amount in base currency
- Exchange rate applied (if currency conversion occurred)
- Customer notes (if provided)
- Submission timestamp
Payment Proof¶
- Receipt Image: Full-size view of uploaded receipt
- Download Option: Save receipt for records
- Zoom Function: Inspect receipt details
Review Information (if processed)¶
- Reviewing admin name
- Review timestamp
- Approval or rejection reason
- Transaction reference (if approved)
Processing Deposit Requests¶
Approving a Deposit¶

Click Approve on a pending request to credit funds to customer wallet.
Approval Process:
- Verify Receipt: Check uploaded proof of payment
- Matches claimed amount
- Shows correct account/reference
- Is not fraudulent or manipulated
-
Is recent and valid
-
Click Approve Button: Confirms you want to approve
-
Automatic Actions:
- Base currency amount credited to customer wallet
- Request status changed to "Approved"
- Wallet transaction created with reference
- Customer notified via email/SMS (if enabled)
-
Reviewed by and reviewed at fields set
-
Result:
- Customer can immediately use funds
- Transaction appears in wallet history
- Request cannot be modified after approval
What Gets Credited:
- Amount credited = Base Currency Amount (not original amount)
- Exchange rate applied at time of request submission
- Customer sees credit in their wallet currency
Rejecting a Deposit¶

Click Reject on a pending request if payment verification fails.
Rejection Form:
Rejection Reason Required¶
- Type: Textarea
- Purpose: Explain why deposit was rejected
- Customer Visibility: Customer receives this message
- Required: Must provide clear explanation
Common Rejection Reasons:
- "Receipt image is unclear or unreadable"
- "Payment amount does not match requested amount"
- "Payment was made to incorrect account"
- "Receipt appears to be fraudulent or manipulated"
- "Payment not received in our account"
- "Duplicate request (already processed under request #123)"
- "Customer account details do not match payment sender"
Rejection Process:
- Enter Reason: Provide clear explanation for customer
- Click Reject: Confirms rejection
- Automatic Actions:
- Request status changed to "Rejected"
- No wallet credit made
- Customer notified with rejection reason
- Reviewed by and reviewed at fields set
- Rejection reason stored permanently
After Rejection:
- Request cannot be modified
- Customer must submit new request with corrected information
- Original request remains in system for audit
Deposit Request Workflow¶
Customer Side¶
- Customer navigates to Wallet > Deposit page
- Selects payment method from available offline methods
- Enters amount they want to deposit
- Selects currency (if store supports multiple currencies)
- Makes payment via chosen method (bank transfer, cash deposit, etc.)
- Uploads receipt/proof of payment
- Adds notes (optional - reference numbers, additional info)
- Submits request - creates pending request
- Funds NOT credited yet - awaits admin approval
Admin Side¶
- Receives notification of new deposit request
- Reviews request in Deposit Requests list
- Opens request to view details and receipt
- Verifies payment:
- Check bank account/cash register
- Verify receipt authenticity
- Confirm amounts match
- Decision:
- ✅ Approve: Credit funds to wallet
- ❌ Reject: Decline with reason
- Customer notified of decision
System Processing¶
On Approval:
1. Calculate base currency amount (if needed)
2. Credit amount to customer wallet
3. Create wallet transaction record:
- Type: Credit
- Description: "Deposit request #[ID] approved"
- Reference: deposit_request
- Reference ID: [Request ID]
4. Update request:
- Status: Approved
- Reviewed by: [Admin]
- Reviewed at: [Timestamp]
5. Send notification to customer
On Rejection:
1. Update request:
- Status: Rejected
- Rejection reason: [Admin message]
- Reviewed by: [Admin]
- Reviewed at: [Timestamp]
2. Send notification to customer with reason
3. No wallet changes made
Currency Conversion Handling¶
How It Works¶
When customer submits deposit in non-base currency:
- Customer enters amount in their preferred currency (e.g., 100 EUR)
- System fetches current exchange rate for EUR → Base Currency
- Calculates base currency amount (e.g., 100 EUR = 110 USD)
- Stores both:
- Original amount (100 EUR)
- Base currency amount (110 USD)
- Admin sees both amounts when reviewing
- On approval, base currency amount (110 USD) credited to wallet
Why Both Amounts Are Stored¶
- Original Amount: What customer actually paid
- Base Currency Amount: What will be credited (using rate at submission time)
- Rate Lock: Exchange rate locked at request submission, not approval time
- Transparency: Customer and admin can see both original and converted amounts
Example Scenario¶
Customer submits:
- Amount: 500 SAR
- Currency: SAR
- Date: Jan 1, 2025
- Exchange rate: 1 SAR = 0.267 USD
System calculates:
- Base Currency Amount: 133.50 USD
Admin approves on Jan 5, 2025:
- Exchange rate now: 1 SAR = 0.270 USD (changed)
- Amount credited: 133.50 USD (original rate, not new rate)
Benefit: Protects both store and customer from exchange rate fluctuations during review period.
Deposit Request Filters¶
Use filters to find specific requests:
Status Filter¶
- All: Show all requests
- Pending: Awaiting review (most important)
- Approved: Already processed and credited
- Rejected: Declined requests
Payment Method Filter¶
- Filter by specific offline payment method
- Useful for batch processing same payment type
Date Range Filter¶
- Filter by submission date
- Find requests from specific period
User Search¶
- Search by customer name or email
- Find all requests from specific customer
Best Practices¶
Review Promptly¶
- Check new requests at least daily
- Set up notifications for new deposits
- Prioritize large amounts
- Process in FIFO order (first in, first out)
Verify Thoroughly¶
Always check:
- ✅ Receipt is clear and readable
- ✅ Amount matches exactly
- ✅ Payment destination is correct
- ✅ Customer details match sender
- ✅ Receipt is recent (not reused)
- ✅ No suspicious patterns
Red Flags:
- 🚩 Blurry or edited receipts
- 🚩 Mismatched amounts
- 🚩 Wrong account details
- 🚩 Multiple submissions of same receipt
- 🚩 Unusual timing or patterns
Communicate Clearly¶
For Approvals:
- No additional message needed
- Customer receives standard approval notification
- Funds appear immediately in wallet
For Rejections:
- Always provide specific reason
- Be polite and professional
- Offer guidance on resubmission
- Mention what was wrong
- Suggest how to correct it
Good Rejection Messages:
"The uploaded receipt image is too blurry to verify.
Please resubmit with a clear photo of the receipt
showing the full transaction details."
"The payment amount on the receipt ($75) does not
match your requested deposit amount ($100). Please
submit the correct receipt or adjust your request
amount."
"Our bank has not received this transfer yet. Please
wait 24-48 hours for the transfer to clear, then
submit a new request with the final receipt."
Poor Rejection Messages:
"Invalid" ❌ (too vague)
"Wrong amount" ❌ (no guidance)
"Rejected" ❌ (no explanation)
Fraud Prevention¶
Watch for:
- Same receipt used multiple times
- Photoshopped or edited images
- Requests from new accounts with large amounts
- Patterns of rejected requests from same user
- Suspicious timing (requests submitted after business hours claiming instant cash deposits)
Actions:
- Reject suspicious requests
- Contact customer for verification if unsure
- Flag user account if fraud suspected
- Keep detailed notes in rejection reason
- Report serious fraud attempts
Record Keeping¶
- Download receipts for your records
- Export approved requests monthly
- Reconcile with bank statements
- Track rejection patterns
- Maintain audit trail
Troubleshooting¶
Cannot Approve Request¶
Possible Reasons:
- Request already processed
- User account disabled
- Wallet system disabled in settings
- Insufficient admin permissions
Solution: Check request status and system settings
Receipt Won't Open¶
Possible Reasons:
- File corrupted during upload
- Unsupported file format
- Storage permissions issue
Solution: Ask customer to resubmit
Wrong Amount Credited¶
Issue: Customer complains credited amount differs from payment
Explanation:
- Base currency conversion applied
- Exchange rate at submission time used
- Both amounts visible in request details
Solution: Show customer original vs. converted amounts
Duplicate Requests¶
Issue: Customer submitted same payment twice
Solution:
- Approve first request
- Reject duplicate with message: "Duplicate request. Already processed under request #[ID]"
- Both requests remain in system for audit
Currency Selection (Multi-Currency Wallets)¶
![Deposit Request Currency Selection]
When multi-currency wallets are enabled, customers can choose which currency wallet to deposit funds into.
How Currency Selection Works¶
When Multi-Currency is Enabled:
- Customer sees currency dropdown during deposit request creation
- Can select any active currency (USD, EUR, SAR, etc.)
- Funds will be deposited to the selected currency wallet
- Each currency has separate balance and transactions
When Multi-Currency is Disabled (default):
- No currency selection available
- All deposits go to base currency wallet
- Simpler flow for single-currency stores
Admin View of Currency-Specific Deposits¶
In the deposit requests list:
- Currency Column: Shows which currency customer selected
- Amount Column: Shows amount in the selected currency
- Base Currency Amount Column: Shows converted amount (if different)
- Wallet Credit: Funds credited to customer's wallet in the selected currency
Example:
- Customer selects EUR wallet
- Deposits €100 via bank transfer
- Admin approves request
- Customer's EUR wallet balance increases by €100
- (USD wallet balance unchanged)
Configuration¶
To enable currency selection:
- Navigate to System Settings → Advanced Tab
- Enable "Enable Multi-Currency Wallets"
- Save changes
See Multi-Currency Wallets for detailed configuration.
Request Limits¶

Administrators can limit how many pending deposit requests each customer can have simultaneously.
Maximum Pending Deposit Requests¶
Purpose: Prevent spam and manage workload
Configuration:
- Navigate to System Settings → Advanced Tab → Wallet Settings
- Set "Max Pending Deposit Requests" (default: 1)
- Save changes
How It Works:
- System counts customer's pending deposit requests
- If limit reached, customer cannot submit new deposit request
- Customer must wait for admin to approve/reject existing request
- Approved and rejected requests don't count toward limit (only pending)
Example Scenarios:
Limit = 1 (default):
- Customer submits deposit request #101 → Status: Pending
- Customer tries to submit another deposit → Blocked: "You already have 1 pending deposit request. Please wait for approval."
- Admin approves request #101
- Customer can now submit new deposit request
Limit = 3:
- Customer can have up to 3 pending deposits at once
- Useful for high-volume businesses or customers making multiple currency deposits
Benefits of Request Limits¶
- Prevents Spam: Stops customers from overwhelming system with requests
- Ensures Focus: Customers complete current deposits before starting new ones
- Admin Efficiency: Manageable queue of requests to review
- Quality Control: Encourages customers to submit complete, accurate requests
- Fraud Prevention: Limits suspicious rapid-fire submissions
Customer Experience¶
When customer reaches limit:
- Deposit Button Disabled: Can't create new request
- Clear Message: "You have reached the maximum number of pending deposit requests (1). Please wait for your current request to be processed."
- Existing Requests Visible: Can view status of pending requests
- After Processing: Can submit new request once admin approves/rejects
Adjusting Limits¶
Lower Limit (1-2 requests):
- Stricter control
- Prevents abuse
- Suitable for most stores
- Recommended for stores with deposit fraud concerns
Higher Limit (3-5 requests):
- More flexibility for customers
- Useful for multi-currency scenarios
- High-trust customer base
- Business customers making bulk deposits
Configuration: See System Settings - Max Pending Deposit Requests
Key Information¶
- Admin Approval Required: All deposits require manual verification
- Immediate Credit: Funds available instantly upon approval
- No Reversal: Approved requests cannot be undone (use wallet adjustment if needed)
- Rejection Allows Resubmission: Customer can submit new request with corrections
- Currency Lock: Exchange rate fixed at submission time, not approval time
- Audit Trail: All requests preserved with full history
- Notifications: Customers notified of approval/rejection automatically
- Attachment Storage: Receipts stored permanently for records
Related Configuration¶
Configure deposit features in System Settings:
- Enable Wallet Deposits - Turn deposit feature on/off
- Wallet Visibility - Show/hide wallet from customers
Related Sections¶
- Offline Payment Methods - Configure available payment methods
- User Wallets - View customer wallet balances
- Wallet Transactions - See all wallet activity
- Wallet Withdrawal Requests - Process withdrawal requests