Skip to content

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

Wallet Deposit Requests List

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

View 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

Approve Deposit Request

Click Approve on a pending request to credit funds to customer wallet.

Approval Process:

  1. Verify Receipt: Check uploaded proof of payment
  2. Matches claimed amount
  3. Shows correct account/reference
  4. Is not fraudulent or manipulated
  5. Is recent and valid

  6. Click Approve Button: Confirms you want to approve

  7. Automatic Actions:

  8. Base currency amount credited to customer wallet
  9. Request status changed to "Approved"
  10. Wallet transaction created with reference
  11. Customer notified via email/SMS (if enabled)
  12. Reviewed by and reviewed at fields set

  13. Result:

  14. Customer can immediately use funds
  15. Transaction appears in wallet history
  16. 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

Reject Deposit Request

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:

  1. Enter Reason: Provide clear explanation for customer
  2. Click Reject: Confirms rejection
  3. Automatic Actions:
  4. Request status changed to "Rejected"
  5. No wallet credit made
  6. Customer notified with rejection reason
  7. Reviewed by and reviewed at fields set
  8. 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

  1. Customer navigates to Wallet > Deposit page
  2. Selects payment method from available offline methods
  3. Enters amount they want to deposit
  4. Selects currency (if store supports multiple currencies)
  5. Makes payment via chosen method (bank transfer, cash deposit, etc.)
  6. Uploads receipt/proof of payment
  7. Adds notes (optional - reference numbers, additional info)
  8. Submits request - creates pending request
  9. Funds NOT credited yet - awaits admin approval

Admin Side

  1. Receives notification of new deposit request
  2. Reviews request in Deposit Requests list
  3. Opens request to view details and receipt
  4. Verifies payment:
  5. Check bank account/cash register
  6. Verify receipt authenticity
  7. Confirm amounts match
  8. Decision:
  9. Approve: Credit funds to wallet
  10. Reject: Decline with reason
  11. 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:

  1. Customer enters amount in their preferred currency (e.g., 100 EUR)
  2. System fetches current exchange rate for EUR → Base Currency
  3. Calculates base currency amount (e.g., 100 EUR = 110 USD)
  4. Stores both:
  5. Original amount (100 EUR)
  6. Base currency amount (110 USD)
  7. Admin sees both amounts when reviewing
  8. 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
  • 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:

  1. Approve first request
  2. Reject duplicate with message: "Duplicate request. Already processed under request #[ID]"
  3. 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:

  1. Currency Column: Shows which currency customer selected
  2. Amount Column: Shows amount in the selected currency
  3. Base Currency Amount Column: Shows converted amount (if different)
  4. 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:

  1. Navigate to System Settings → Advanced Tab
  2. Enable "Enable Multi-Currency Wallets"
  3. Save changes

See Multi-Currency Wallets for detailed configuration.


Request Limits

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:

  1. Navigate to System Settings → Advanced Tab → Wallet Settings
  2. Set "Max Pending Deposit Requests" (default: 1)
  3. 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

  1. Prevents Spam: Stops customers from overwhelming system with requests
  2. Ensures Focus: Customers complete current deposits before starting new ones
  3. Admin Efficiency: Manageable queue of requests to review
  4. Quality Control: Encourages customers to submit complete, accurate requests
  5. Fraud Prevention: Limits suspicious rapid-fire submissions

Customer Experience

When customer reaches limit:

  1. Deposit Button Disabled: Can't create new request
  2. Clear Message: "You have reached the maximum number of pending deposit requests (1). Please wait for your current request to be processed."
  3. Existing Requests Visible: Can view status of pending requests
  4. 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

Configure deposit features in System Settings: