Skip to main content
iVentureTeam
Middle East

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.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
November 5, 202613 min read1 view
Odoo Payment Gateway Integration in MENA: Fawry, Tap, Moyasar, POS cover

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 payment gateway integration: Built in or custom module?

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.

ProviderPayment form runsTokensCapture and refunds from OdooMENA relevance
PaymobProvider's websiteNoNoEgypt, Oman, Saudi Arabia, UAE
Amazon Payment ServicesProvider's websiteNoNoUAE based; mada, KNET, Benefit, Meeza, NAPS, OmanNet
StripeInside OdooYesFull capture, full and partial refundsUAE online only; no Saudi or Egypt accounts
AdyenInside OdooYesFull and partial for bothUAE, enterprise volumes
Wire Transfer, Pay on Invoice, Cash on DeliveryOdoo itselfn/an/aB2B 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 acquirerHome marketLocal methods it unlocksOdoo status
Fawry (FawryPay)EgyptCards, Meeza, kiosk reference codes, walletsCustom module or third-party app
Tap PaymentsKuwait and GCCKNET, mada, Benefit, OmanNet, NAPS, Apple Pay, TabbyThird-party apps on the Odoo Apps Store
MoyasarSaudi Arabiamada, Visa, Mastercard, Amex, Apple Pay, STC PayThird-party apps on the Odoo Apps Store
PayTabsUAE, KSA, EgyptCards, mada, local walletsThird-party apps on the Odoo Apps Store
TelrUAECards, Apple PayCustom module
HyperPayKSA, Jordanmada, cards, STC PayThird-party apps on the Odoo Apps Store
Network InternationalUAE acquirerN-Genius online and terminalsCustom module for online and POS
GeideaSaudi terminalsmada terminalsThird-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.

  1. Provider record: each gateway is a `payment.provider` record with credentials, payment methods, a payment journal and country, currency, pricelist and amount restrictions.
  2. Transaction: when a customer pays an order, invoice or subscription, Odoo creates a `payment.transaction` with a unique reference.
  3. 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.
  4. 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.
  5. 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.

  1. Extend `payment.provider`: add the gateway code, credential fields, and the supported features (tokens, manual capture, refunds) through the feature-support compute method.
  2. 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.
  3. 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.
  4. 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.
  5. Handle refunds: if the gateway offers refunds through its API, implement them so finance can refund from Odoo with an audit trail.
  6. 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 optionMENA availabilityWhat it means for your store
Stripe TerminalNot sold in any MENA countryNot an option for UAE, KSA or Egypt tills
Adyen terminalsUAE only in the Middle EastWorks in the UAE for high-volume merchants
Other stock providersNot present in MENAEurope, Americas, India, Asia only
Geidea, Network International, Fawry POS, bank mada terminalsNative to the regionCustom Odoo terminal connector, or standalone terminal
Standalone terminal, no integrationEverywhereCashier 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.

ScopeTypical effort (illustrative)Budget range (illustrative)What drives it
Built-in provider setup (Paymob, APS, Stripe UAE)2 to 5 daysInside implementation or a short support taskCredentials, journals, test payments, publishing
Custom online connector, redirect flow (Fawry, Tap, Moyasar)2 to 4 weeks$2,000 to $6,000Webhook signing, pending states, refunds
Custom online connector, direct flow with tokens4 to 6 weeks$5,000 to $10,000Card form, token storage, subscriptions
POS terminal connector (Geidea, N-Genius, Fawry POS)4 to 8 weeks$5,000 to $15,000Device 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.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
Retail and eCommercemada, KNET and Meeza shoppers abandon card-only checkoutsPaymob or APS online, custom terminal connector in storeConnector build plus checkout and reconciliation setup
Restaurants and deliveryCash on delivery and wallet payments dominateCOD provider, wallet methods through Paymob, POS terminalsMenu, POS and payment flow in one project
Education and trainingInstallments and kiosk payments for feesPaymob installments, Fawry reference codes, Pay on InvoicePortal payments tied to enrollment records
B2B distributionCredit terms and bank transfersWire Transfer, Pay on Invoice, batch matchingJournals, outstanding accounts and fee models
Subscriptions and SaaSRecurring charges need tokensStripe in the UAE, custom direct-flow connector elsewhereToken-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

Pricing a gateway connector? Estimate the project first

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?

Request a payment review

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.