Odoo Payment Gateway Integration in MENA: Fawry, Tap, Moyasar, POS
Odoo payment gateway integration for MENA: built-in Paymob and APS, custom Fawry, Tap and Moyasar connectors, POS terminals, reconciliation and costs.
Most articles about Odoo payment gateway integration list a few logos and stop. In the Middle East and North Africa the real questions are which gateways work in Odoo today, which need code, and how the money lands in your books. Our Odoo integration services start there.
This guide is for retailers, eCommerce teams and finance leads in Egypt, Saudi Arabia, the UAE and the wider Gulf who run or plan Odoo 19 or 20. If you connect Odoo to other systems too, read our Odoo API integration guide alongside it.
Which payment providers does Odoo include for MENA?

Odoo 20 bundles 21 online payment providers, and three of them matter for MENA: Paymob, Amazon Payment Services and Stripe. The rest serve Europe, the Americas, India and Asia.
The Odoo 20 payment providers list shows where each payment form runs and whether tokens, manual capture and refunds are supported. The table picks out the providers a MENA buyer should know.
| Provider | Payment form runs | Tokens | Capture and refunds from Odoo | MENA relevance |
|---|---|---|---|---|
| Paymob | Provider's website | No | No | Egypt, Oman, Saudi Arabia, UAE |
| Amazon Payment Services | Provider's website | No | No | UAE based; mada, KNET, Benefit, Meeza, NAPS, OmanNet |
| Stripe | Inside Odoo | Yes | Full capture, full and partial refunds | UAE online only; no Saudi or Egypt accounts |
| Adyen | Inside Odoo | Yes | Full and partial for both | UAE, enterprise volumes |
| Wire Transfer, Pay on Invoice, Cash on Delivery | Odoo itself | n/a | n/a | B2B and COD-heavy markets |
Paymob in Odoo lists Egyptian wallets, kiosk payments, ValU, Tabby, Tamara, STC Pay and OmanNet as methods synced from the Paymob dashboard. Amazon Payment Services in Odoo adds the Gulf card schemes.
Stripe's own country list includes the United Arab Emirates but not Saudi Arabia or Egypt. Wire transfer, Pay on Invoice and cash on delivery are covered in the Odoo eCommerce payments documentation.
Which MENA gateways need a custom Odoo payment provider?
Fawry, Tap, Moyasar, PayTabs, Telr, HyperPay, Network International and Geidea all need a connector module because Odoo S.A. does not ship one. Some have third-party apps; none are maintained by Odoo.
| Gateway or acquirer | Home market | Local methods it unlocks | Odoo status |
|---|---|---|---|
| Fawry (FawryPay) | Egypt | Cards, Meeza, kiosk reference codes, wallets | Custom module or third-party app |
| Tap Payments | Kuwait and GCC | KNET, mada, Benefit, OmanNet, NAPS, Apple Pay, Tabby | Third-party apps on the Odoo Apps Store |
| Moyasar | Saudi Arabia | mada, Visa, Mastercard, Amex, Apple Pay, STC Pay | Third-party apps on the Odoo Apps Store |
| PayTabs | UAE, KSA, Egypt | Cards, mada, local wallets | Third-party apps on the Odoo Apps Store |
| Telr | UAE | Cards, Apple Pay | Custom module |
| HyperPay | KSA, Jordan | mada, cards, STC Pay | Third-party apps on the Odoo Apps Store |
| Network International | UAE acquirer | N-Genius online and terminals | Custom module for online and POS |
| Geidea | Saudi terminals | mada terminals | Third-party POS apps on the Odoo Apps Store |
Third-party apps help when they match your Odoo version, cover the payment methods in your contract and are still maintained. Check the last update date and whether refunds and webhooks work before you buy. When no app fits, build the connector on Odoo's payment framework.
How does Odoo payment gateway integration work?
Odoo treats every gateway as a payment provider that creates a payment transaction, sends the customer to pay, then confirms the transaction through a return URL or a webhook. This flow is the key to a connector that reconciles.
- Provider record: each gateway is a `payment.provider` record with credentials, payment methods, a payment journal and country, currency, pricelist and amount restrictions.
- Transaction: when a customer pays an order, invoice or subscription, Odoo creates a `payment.transaction` with a unique reference.
- Payment step: redirect providers such as Paymob send the shopper to the provider's page; direct providers such as Stripe collect the card inside Odoo.
- Confirmation: the provider calls Odoo back on a return URL and a webhook; Odoo verifies the signature and sets the transaction to done, pending, cancelled or error.
- Follow-through: a done transaction confirms the order, triggers invoicing if enabled, and creates the payment in the provider's journal.
MENA gateways add two twists. Fawry reference codes paid at a kiosk can settle hours after checkout, so the connector must handle a pending state and a late webhook. Tap, Moyasar and PayTabs sign their webhooks with a hash; skipping that check is the most common flaw in rushed connectors.
How do you build a custom payment provider module for Odoo 20?
A custom Odoo payment provider is a small module that extends the provider and transaction models, adds a controller for the return and webhook URLs, and declares its payment methods. The pattern is stable from Odoo 16 through Odoo 20.
- Extend `payment.provider`: add the gateway code, credential fields, and the supported features (tokens, manual capture, refunds) through the feature-support compute method.
- Declare payment methods: ship `payment.method` records for mada, KNET or the Fawry wallet; in Odoo 20 each provider module carries its own method data.
- Extend `payment.transaction`: build the redirect form values or the direct API request, then map the gateway's status codes to Odoo's transaction states.
- Add the controller: expose the return and webhook URLs, verify the signature on every call, and never trust the amount in the browser redirect alone.
- Handle refunds: if the gateway offers refunds through its API, implement them so finance can refund from Odoo with an audit trail.
- Test in sandbox: run the provider in test mode on a duplicate database, as the documentation recommends, so invoice numbering is not disturbed.
Odoo 20 changed the surface. The provider state field is gone: a provider is live or test through `is_live` and visible through `is_published`, so a connector written for Odoo 17 or 18 breaks on this alone. Our Odoo 20 online payments changes page lists all 16 items.
Hosting decides whether any of this is possible. Odoo Online does not accept custom modules, so a Fawry or Tap connector needs Odoo.sh or on-premise, which means the Custom plan.
How does Odoo POS payment terminal integration work in MENA?
Odoo POS integrates card terminals through a payment method set to Terminal, but none of the stock terminal providers is a MENA acquirer, so most Gulf and Egyptian stores need a custom terminal connector or a standalone setup. The gap is bigger than it is online.
The Odoo 20 POS payment methods documentation lists the integrated terminals: Adyen, Worldline, DPO, Mercado Pago, Mollie, Pine Labs, QFPay, Razorpay, SIX, Stripe, Tyro and Viva.com. Regional availability is the catch.
| Terminal option | MENA availability | What it means for your store |
|---|---|---|
| Stripe Terminal | Not sold in any MENA country | Not an option for UAE, KSA or Egypt tills |
| Adyen terminals | UAE only in the Middle East | Works in the UAE for high-volume merchants |
| Other stock providers | Not present in MENA | Europe, Americas, India, Asia only |
| Geidea, Network International, Fawry POS, bank mada terminals | Native to the region | Custom Odoo terminal connector, or standalone terminal |
| Standalone terminal, no integration | Everywhere | Cashier keys the amount twice; Odoo records a bank payment |
Odoo's Stripe terminal guide points to the Stripe Terminal country list, which names 38 countries, none in MENA. Adyen's in-person documentation lists the United Arab Emirates as its only Middle East country.
An Odoo staff thread on payment terminals compatible with Odoo POS adds two rules: Bluetooth-only devices do not integrate, and Adyen wants over $10 million a year or 1,000 transactions a month.
A custom terminal connector follows Odoo's own `pos_adyen` module: a `pos.payment.method` extension that holds credentials, plus a JavaScript payment interface in the POS terminal asset bundle. It sends the amount to the device, waits for approval, records the card reference and handles reversals.
Until then, run the terminal standalone on a Bank journal payment method and reconcile the acquirer settlement file daily. Our Odoo POS implementation guide covers the till setup around this.
How do gateway payments reconcile in Odoo Accounting?
Each payment provider posts to a Bank journal and an outstanding account, and the gateway's payout clears that balance when the bank statement arrives. Get this structure right before go-live or finance will chase differences every month.
- One journal per provider: Odoo defaults every provider to the Bank journal; give Paymob, Tap and your card terminals their own journals so each payout stream is visible.
- Outstanding account per provider: a separate outstanding receipts account shows unpaid-out balances with Fawry or Moyasar as a receivable, not as cash.
- Fees: gateways pay out net of fees; a reconciliation model that books the difference to a fee expense account closes the gap in one click.
- Refunds and chargebacks: refunds from Odoo create negative transactions; chargebacks need a manual entry and a note on the original order.
- POS sessions: in Odoo 20 the session posts one global sale and generates payment entries on a schedule you set, even before the session closes.
- Multi-currency: Odoo 20 lets a bank payment method carry several currencies, so a Dubai store can take AED and USD cards on one method; see our Odoo 20 Point of Sale changes.
Odoo's bank reconciliation documentation covers statement matching and reconciliation models, and our post on Odoo omnichannel retail shows webshop, POS and stock sharing one order flow. In Saudi stores the POS card payment also feeds the ZATCA simplified invoice; see our Odoo ZATCA Phase 2 guide.
What does Odoo payment gateway integration cost in MENA?
Enabling a built-in provider such as Paymob is a configuration task measured in days; a custom online connector is a small development project; a terminal connector is a medium one. The figures below are illustrative and depend on the gateway's API quality.
| Scope | Typical effort (illustrative) | Budget range (illustrative) | What drives it |
|---|---|---|---|
| Built-in provider setup (Paymob, APS, Stripe UAE) | 2 to 5 days | Inside implementation or a short support task | Credentials, journals, test payments, publishing |
| Custom online connector, redirect flow (Fawry, Tap, Moyasar) | 2 to 4 weeks | $2,000 to $6,000 | Webhook signing, pending states, refunds |
| Custom online connector, direct flow with tokens | 4 to 6 weeks | $5,000 to $10,000 | Card form, token storage, subscriptions |
| POS terminal connector (Geidea, N-Genius, Fawry POS) | 4 to 8 weeks | $5,000 to $15,000 | Device protocol, reversals, offline handling |
Gateway fees are separate. Most MENA providers quote per merchant rather than publish a rate card; as an industry estimate, regional card fees often fall between 2% and 3% plus a small fixed amount, with mada and KNET debit lower. For a full project number, use our Odoo project estimate tool.
Which MENA industries need local payment integration most?
Retail, food delivery, education and B2B distribution feel the gap first because their customers pay with local schemes and cash substitutes rather than international cards.
| Industry | Pain or cost driver | Odoo approach | How iVentureTeam helps |
|---|---|---|---|
| Retail and eCommerce | mada, KNET and Meeza shoppers abandon card-only checkouts | Paymob or APS online, custom terminal connector in store | Connector build plus checkout and reconciliation setup |
| Restaurants and delivery | Cash on delivery and wallet payments dominate | COD provider, wallet methods through Paymob, POS terminals | Menu, POS and payment flow in one project |
| Education and training | Installments and kiosk payments for fees | Paymob installments, Fawry reference codes, Pay on Invoice | Portal payments tied to enrollment records |
| B2B distribution | Credit terms and bank transfers | Wire Transfer, Pay on Invoice, batch matching | Journals, outstanding accounts and fee models |
| Subscriptions and SaaS | Recurring charges need tokens | Stripe in the UAE, custom direct-flow connector elsewhere | Token-capable connector with retry logic |
Retailers should also read our page on Odoo ERP for retail, which covers the store, stock and loyalty side that payments plug into.
How iVentureTeam helps with Odoo payment gateway integration

iVentureTeam builds, installs and maintains Odoo payment provider and POS terminal connectors on Odoo's standard framework, and wires each one into accounting. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.
- Gateway fit check: your markets, payment methods and contracts mapped against Odoo's built-in providers, third-party apps and custom options.
- Connector development: redirect and direct-flow providers with signed webhooks, pending states, refunds and tokens, delivered as installable modules through our Odoo integration services.
- POS terminal connectors: device integration for regional acquirers, including reversals, built the same way as Odoo's own terminal modules.
- Reconciliation design: journals, outstanding accounts and fee models so payouts match on the first pass.
- Checkout and upgrades: connectors kept current through Odoo 20, with storefront work by our Odoo eCommerce development services.
Odoo payment gateway integration case study: five regional gateways in one checkout
A group of online merchants running Odoo eCommerce needed card acceptance on their own regional contracts, and none of the five gateways had an Odoo connector. The stores sold into the US, Switzerland and Brazil on Odoo 12, 13 and 14.
The contracted gateways were CardConnect, BlueSnap, SecurionPay, Cielo and Paymee. Without connectors, the merchants fell back to offline invoicing or external payment pages, which broke order status and left payments unreconciled in Odoo.
iVentureTeam built one connector per gateway on Odoo's standard payment acquirer framework, handling authorization, capture and transaction state sync back to the sales order. Each connector was packaged as an installable module with credentials managed from the configuration screen.
Delivery took 8 weeks. Card payments now run through Odoo checkout on all five gateways, paid orders confirm themselves, and new stores onboard a gateway in hours. The same approach applies to Fawry, Tap or Moyasar today. Read the five payment gateways in Odoo eCommerce case study.
The bottom line on Odoo payment gateway integration in MENA
Use Paymob or Amazon Payment Services where they fit, Stripe or Adyen in the UAE, and build any other gateway or terminal as a proper Odoo connector on Odoo.sh or on-premise. Treat reconciliation as part of the integration, not an afterthought.
Start with your contracts and your customers' payment habits, check Odoo's built-in list against them, and budget connectors for the rest. A connector built on the framework survives upgrades; a patch on the checkout does not.
Ready to connect Fawry, Tap or your card terminals to Odoo?

Tell us your markets and gateways and we will map what is built in, what needs a connector, and what it costs. Request an Odoo payment integration review, call +91-90235-15208, or email business@iventureteam.com.
Frequently Asked Questions
Does Odoo support Fawry?
+
Not out of the box. Odoo 19 and 20 have no Odoo S.A. connector for Fawry, so Egyptian merchants use a third-party app or a custom provider module built on Odoo's payment framework. Paymob, which Odoo does include, covers many Egyptian cards and wallets.
Which payment gateways does Odoo support in Saudi Arabia?
+
Paymob and Amazon Payment Services are built in and support mada. Moyasar, HyperPay, PayTabs and Tap need third-party apps or a custom module. Stripe does not open accounts for Saudi companies, so it is not an option there.
Can I use a Fawry or Tap module on Odoo Online?
+
No. Odoo Online does not accept custom or Apps Store modules, so any gateway Odoo does not ship needs Odoo.sh or on-premise hosting on the Custom plan. Plan hosting before you choose a gateway.
Does Odoo POS work with mada terminals?
+
Not through a stock integration. Odoo's terminal list has no Saudi acquirer, and Stripe Terminal is not sold in MENA. Options are a custom terminal connector for Geidea or a bank terminal, or a standalone terminal with manual entry and daily reconciliation.
How much does a custom Odoo payment gateway integration cost?
+
As an illustrative range, a redirect-flow online connector runs $2,000 to $6,000 over 2 to 4 weeks, a token-capable direct connector $5,000 to $10,000, and a POS terminal connector $5,000 to $15,000. Gateway fees are charged separately by the provider.
How do Odoo payment gateway payments get reconciled?
+
Each provider posts to a Bank journal and an outstanding account. When the gateway pays out, the bank statement line is matched against the outstanding balance, and a reconciliation model books fees to an expense account. Separate journals per provider keep this simple.
Is Odoo PCI compliant for card payments?
+
Odoo does not store card numbers or process payments; it holds a token reference from the provider. Odoo's documentation says merchants complete the provider's self-assessment questionnaire to obtain the attestation of compliance, without listing Odoo as a processor.
Does Stripe work with Odoo in the UAE?
+
Yes for online payments. Stripe supports UAE businesses, and Odoo's Stripe provider handles cards, tokens, Apple Pay and Google Pay inside Odoo. Stripe Terminal for POS is not available in the UAE, so in-store card payments need another route.
What changed for payment providers in Odoo 20?
+
Provider forms replace the state field with live and published toggles, add Pay on Invoice, and add pricelist and amount restrictions. PayPal gains cards and tokens, SOFORT is removed, and POS payment methods can hold several currencies.
Free integration feasibility review
Connecting your other systems to Odoo?
Tell us what needs to sync between your systems and Odoo. We recommend a connector, API or custom approach and plan how failures are handled.
Free, with no obligation. A senior consultant replies within 12 business hours.
Free Odoo tools
All tools- Odoo Health CheckVersion, modules, findings and upgrade cost
- Odoo App SelectorWhich apps you need, by industry
- Odoo Project EstimateIndicative cost and timeline in minutes
- Odoo Implementation Cost CalculatorImplementation cost and timeline, in minutes
- Odoo Migration Cost CalculatorVersion jump or legacy ERP, priced in minutes
Continue reading
Odoo Saudi Bank Integration: Statement Sync, Reconciliation, SADAD
Odoo Saudi bank integration explained: bank sync coverage, CAMT and Excel statement import, SAR auto-reconciliation, ISO 20022, WPS and SADAD in Odoo 19/20.
Odoo vs HubSpot Marketing: Odoo 20 Features, Cost and Attribution
Odoo vs HubSpot Marketing compared for Odoo 20: a sourced cost table, email marketing, automation, attribution, integration and when each tool fits.
Odoo Muqeem Integration: Iqama, Visas, GOSI and KSA Payroll Guide
Odoo Muqeem integration for Saudi HR: iqama renewal, exit re-entry visas, Odoo 20 GOSI API, WPS files for Mudad and KSA payroll setup, step by step.
