Overview
Bank transfers provide an alternative payment method for users who prefer traditional banking. The system supports wallet top-ups and trip payment transfers with admin verification and approval.Request Wallet Top-Up
Submit a bank transfer receipt to request wallet top-up.This endpoint accepts
multipart/form-data for file upload. Users must upload a receipt image.Request Parameters
ID of the platform bank account where transfer was sent
Amount transferred (can include currency symbols, will be parsed)
User’s note describing the transfer
Receipt image file (JPG, JPEG, PNG, GIF, WEBP - max 10MB)
Response Fields
Indicates if request was submitted successfully
Status message in Arabic
Unique transfer request ID
Transfer status (Pending, Approved, Rejected)
Supported User Types
- Passenger: Top up passenger wallet
- Driver: Top up driver wallet
- Company: Top up company wallet
Example Request
Success Response
Error Responses
Invalid File Type:Receipt images are uploaded to cloud storage in organized folders by year and month. A pending review notification is automatically sent to admins.
Get Pending Bank Transfers (Admin)
Retrieve all pending bank transfer requests awaiting review.Query Parameters
Page number for pagination
Number of items per page (1-100)
Response Fields
Request success indicator
Status message
Array of pending transfer requests
Pagination metadata
Example Request
Example Response
Approve Bank Transfer (Admin)
Approve a pending bank transfer for trip payment.Path Parameters
The transfer request ID
Request Body
Optional admin notes for the approval
Response Fields
Approval success indicator
Status message in Arabic
Approval Process
- Validate Transfer: Check transfer exists and is pending
- Currency Normalization: Convert currency symbols to codes
- Passenger Wallet Operations:
- Deposit transfer amount to passenger wallet
- Deduct amount for booking payment
- Validate sufficient balance (fraud check)
- Driver Wallet Operations:
- Calculate commission
- Add booking amount to driver wallet
- Booking Update: Set payment method to Wallet and confirm booking
- Notifications: Send approval notifications to passenger and driver
Example Request
Success Response
Error Responses
Transfer Not Found:The fraud detection works by depositing the amount, then immediately attempting to deduct it. If deduction fails, the transfer is marked as fraudulent and rejected.
Approve Wallet Top-Up (Admin)
Approve a wallet top-up request and add funds to user’s wallet.Path Parameters
The wallet top-up request ID
Request Body
Amount to add to wallet. Admin can adjust from requested amount.
Optional admin notes explaining approval or adjustment
Response Fields
Approval success indicator
Status message
Amount approved and added to wallet
User’s new wallet balance
Wallet Auto-Creation
- Driver Wallets: Must exist, will fail if not found
- Passenger Wallets: Must exist, will fail if not found
- Company Wallets: Auto-created if they don’t exist
Example Request
Success Response
Approval with Amount Adjustment
If the approved amount differs from the requested amount, the admin notes should explain the adjustment. The original amount is preserved in the transfer record.
Reject Wallet Top-Up (Admin)
Reject a wallet top-up request with a reason.Path Parameters
The wallet top-up request ID
Request Body
Reason for rejection (required)
Optional additional admin notes
Response Fields
Rejection success indicator
Status message
Example Request
Success Response
Rejection notifications are sent to users explaining why their request was denied. Users can submit a new request with corrections.
Transfer Statuses
| Status | Description | Next Actions |
|---|---|---|
| Pending | Awaiting admin review | Admin can approve or reject |
| Approved | Transfer verified and funds added | No further action |
| Rejected | Transfer declined by admin | User can submit new request |
Best Practices
For Users
- Clear Receipt Images: Ensure transfer receipt shows amount, date, and reference
- Accurate Amount: Enter the exact amount transferred
- Descriptive Notes: Mention bank name and transfer method
- Supported Formats: Use JPG, PNG, or WEBP under 10MB
For Admins
- Verify Receipt Details: Check amount, bank account, and timestamp
- Cross-Reference: Match receipt with bank statement
- Document Adjustments: Always explain amount changes in notes
- Timely Review: Process requests within 24 hours for better UX
- Fraud Detection: Watch for duplicate receipts or mismatched amounts