Mobile Wallets
Mobile wallet payments are widely adopted in Egypt (50M active users in 2025). Transactions are authenticated by OTP or directly in the wallet app—no card details are shared. With a single EBANX integration you can reach 50+ wallet providers in Egypt through one unified API. Check the list of mobile wallets authorized by the Central Bank of Egypt.
Requirements
- API credentials — Your EBANX integration key request via Merchant Signup.
- Familiarity with EBANX Direct — Same overall structure as other methods with a few wallet-specific fields.
- Webhook endpoint — To receive status changes from EBANX.
How it works
- Request Payment — Call
POST /ws/directwithpayment_type_code: "paymob". - Show Instructions — Display a 3-hour countdown and use
redirect_urlto open wallet instructions. - Customer Pays — Customer receives a push/SMS and approves in their wallet or bank app.
- Confirmation — EBANX updates status PE → CO (or CA at expiry) and sends notifications.
Key information
- Supported country: Egypt (
EG) - Supported currency:
EGP - Expiration: 3 hours from creation
- Statuses:
PE(Pending) →CO(Confirmed) orCA(Canceled/Expired) - Unified coverage: 50+ wallets via one API (full list available from EBANX)
Instructions
Follow the steps below.
- Select your environment
Endpoint:
POST /ws/directOperation:request - Define your parameters
Basic parameters
Parameter Requirement Description integration_keyRequired Your EBANX integration key. operationRequired Must be request.payment_type_codeRequired Set to "paymob".countryRequired Set to EG(Egypt).Payment parameters
Parameter Requirement Description merchant_payment_codeRequired Your unique idempotent code for this charge. currency_codeRequired Supported: EGP.amount_totalRequired Total amount to charge. Customer data
The phone number field should be filled with the user’s mobile number linked to the wallet they will pay with, as the phone number represents the unique identifier for this mobile wallet.
Parameter Requirement Description nameRequired Customer name. emailRequired Customer email. phone_numberRequired Format 01XXXXXXXXX(Egypt local).NoteIf the phone number is not linked to a wallet, EBANX still creates the payment in
PE. If the customer doesn’t complete it before expiry, it automatically becomesCAcode. - Sample request (cURL)
curl -X POST \
--location 'https://api.ebanxpay.com/ws/direct' \
--header 'Content-Type: application/json' \
--data '{
"integration_key": "your_ebanx_integration_key",
"operation": "request",
"payment": {
"name": "John Doe",
"email": "john.doe@example.com",
"country": "EG",
"phone_number": "0100000000",
"payment_type_code": "paymob",
"merchant_payment_code": "mw_{{uuid}}",
"currency_code": "EGP",
"amount_total": 100
}
}' - Sample response
Displaying Payment Instructions A successful request returns a response like the example below. At this stage, payment status will be PE, and you should display clear instructions on how to complete the payment. Use the redirect_url to open the instructions on how to complete the payment.
{
"payment": {
"hash": "{hash_here}",
"country": "eg",
"merchant_payment_code": "1755783741",
"order_number": null,
"status": "PE",
"status_date": null,
"open_date": "2025-08-21 13:42:21",
"confirm_date": null,
"transfer_date": null,
"amount_br": "100.00",
"amount_ext": "100.00",
"amount_iof": "0.00",
"currency_rate": "1.0000",
"currency_ext": "EGP",
"due_date": "2025-08-24",
"payment_type_code": "paymob",
"redirect_url": "https://sandbox.ebanx.com/ws/redirect/execute?hash=68a7223d0e63f3eea0bd3d27e16b5999269e83d14d007432",
"pre_approved": false,
"capture_available": null,
"customer": {
"document": "85351346893",
"email": "example@email.com",
"name": "PETER FONDA",
"birth_date": null
}
},
"status": "SUCCESS",
"redirect_url": "https://sandbox.ebanx.com/redirect/execute?hash=68a7223d0e63f3eea0bd3d27e16b5999269e83d14d007432"
} - Monitor payment for status changes
Monitoring Payment Status Once a payment is initiated, you’ll need to monitor its progress and handle status updates accordingly.
Notifications EBANX sends a notification each time a payment status changes. Ensure your system is properly configured to receive and process these notifications. Learn more about Payment Notifications
Status Updates After receiving a notification, you can retrieve the latest payment status through the API. When a payment is successfully completed, the status changes from Pending (PE) to Confirmed (CO). If the customer does not complete the payment within the allowed time, the status will automatically change to Canceled (CA). Learn more about Retrieving Payment Status
- Congratulations!
You have successfully integrated the Mobile Wallets in egypt. For more information, refer to the Direct API reference guide
Select the appropriate environment for your integration. Use the sandbox environment for testing, or the production environment for live transactions. Use the URL for your HTTP requests based on your selection.
Mobile Wallet UX flow
This demo illustrates the end-to-end payment experience with Mobile Wallet. The journey begins on the merchant's checkout page, where the customer selects Mobile Wallet and enters their mobile number. After submitting the request, a push notification is sent to their Mobile Wallet app. The user reviews and approves the payment directly within the app or via an OTP, and once confirmed, both the customer and the merchant receive immediate payment confirmation
Resources
Use the following resources when testing in your sandbox environment.
API Reference
Click here to access detailed API documentation to integrate efficiently.
Mock Customer Data
Click here to view mock customer data for testing and validating user flows.
Error Codes
Click here to review common error codes to troubleshoot and resolve issues quickly.
still need help?
We hope this article was helpful. If you still have questions, you can explore the following options:
- Merchant support: Contact our support team at sales.engineering@ebanx.com for assistance.
- Not a partner yet? Please complete the Merchant Signup Form, and our commercial team will reach out to you.