Stripe vs PayTabs vs Paymob vs Moyasar: Choosing a Payment Gateway for Middle East E-commerce (2026)
Marwan Ayman
Full-Stack Developer & Automation Engineer

Short answer: the payment gateway for a Middle East store is decided first by where your company is registered, not by fees. Stripe onboards UAE-registered businesses (2.9% + AED 1 per card charge) but not Egyptian or Saudi ones; Egyptian businesses use Paymob (2.75% + EGP 3 for local cards) or PayTabs; Saudi businesses use Moyasar, Tap, HyperPay or PayTabs, where mada debit cards cost roughly 1% to 2% instead of the 2.2% to 2.9% charged for Visa and Mastercard. Whichever you choose, integrate through hosted checkout or tokenised fields, verify webhook signatures, and make every handler idempotent.
I have integrated PayTabs into the UK ETA application portal (AED payments with callback verification), Stripe into the BookAFly booking platform and the QMS marketing platform, and Shopify Payments with Afterpay and Klarna into The Tee Spot store in the US. The fee figures below are the providers' published list prices as of September 2026; they change, and enterprise rates are negotiated, so confirm before you budget.
Which gateways can you actually open an account with?
Short answer: availability is by country of registration. The table shows who serves which market for a locally registered business.
| Gateway | Egypt | Saudi Arabia | UAE | Notes |
|---|---|---|---|---|
| Stripe | No | No | Yes | Requires a business registered in a Stripe-supported country; the UAE is supported, Egypt and Saudi Arabia are not |
| PayTabs | Yes | Yes | Yes | Regional, multi-country, mada support in KSA |
| Paymob | Yes | Yes | Yes | Egypt's largest, expanded to KSA and UAE; wallets, kiosks, instalments, COD |
| Moyasar | No | Yes | No | Saudi-focused, developer-friendly API, strong mada rates |
| Tap Payments | No | Yes | Yes | Gulf-wide; KNET, mada, Apple Pay |
| Fawry | Yes | No | No | Egypt's cash-at-kiosk network; usually reached through Paymob or directly |
| Shopify Payments | No | No | Yes (limited) | For Shopify stores; elsewhere in the region Shopify uses third-party gateways such as PayTabs or Paymob |
What does each gateway charge per transaction?
Short answer: local debit schemes (mada in Saudi Arabia, Meeza in Egypt) are the cheapest, international cards cost 2.75% to 3.2% plus a fixed fee, and monthly or setup fees exist only on the plans that lower the percentage.
| Gateway and market | Local cards | International cards | Fixed or setup fees | Settlement |
|---|---|---|---|---|
| Stripe, UAE | 2.9% + AED 1 | +1% for international cards, +1% for currency conversion | None | Rolling, to a UAE bank account |
| PayTabs, UAE (Flexi plan) | 2.9% + AED 1 | Higher; published around 3.2% + AED 0.80 on some plans | None on Flexi; Standard plan about $50 / month + $250 setup for 2.85% + AED 1 | 2 – 3 business days |
| PayTabs, Saudi Arabia | mada about 1% + SAR 1; credit cards about 2.25% + SAR 1 | Quoted | Same plan structure as UAE | 2 – 3 business days |
| Paymob, Egypt (SMEs) | 2.75% + EGP 3 | On request | No monthly fee | Typically a few business days |
| Moyasar, Saudi Arabia | mada 1.5% – 1.95% + SAR 1 (sources differ); credit 2.2% + SAR 1 | Quoted | None published | Business days |
| Tap Payments, Saudi Arabia | mada about 2.5% + SAR 1 | 2.9% – 3.94% + SAR 1 – 2 | Varies by plan | Business days |
Worked example for a Saudi store doing SAR 200,000 a month, 70% on mada and 30% on Visa or Mastercard: at PayTabs' listed rates the mada share costs about SAR 1,400 plus SAR 1 per transaction and the card share about SAR 1,350 plus SAR 1 per transaction. Routing everything through an international-card rate of 2.9% would cost roughly SAR 5,800. The mada discount is the whole game in Saudi Arabia, which is why Stripe through a foreign entity is rarely the right answer there even when it is possible.
Which local payment methods matter in each market?
- Egypt: cards (Visa, Mastercard, Meeza), mobile wallets (Vodafone Cash, Orange Cash, Etisalat Cash), Fawry cash at kiosks, instalments through bank programmes, and cash on delivery, which still carries a large share of e-commerce orders. A gateway that only takes cards leaves money on the table.
- Saudi Arabia: mada debit dominates consumer spending; Apple Pay is common; STC Pay and Tamara or Tabby "buy now, pay later" raise conversion in fashion and electronics.
- UAE: cards and Apple Pay dominate; Tabby and Tamara for BNPL; cash on delivery persists for lower-value goods.
How should you integrate a gateway so it does not break?
Short answer: use the hosted checkout or tokenised fields, treat the webhook as the source of truth, verify its signature, make handlers idempotent, and model the order as a state machine. Every gateway I have integrated failed in the same five places when these were skipped.
- Never touch card numbers. Hosted pages (PayTabs, Paymob, Moyasar, Stripe Checkout) or tokenised elements keep you out of full PCI scope. The UK ETA portal uses PayTabs' hosted page with a server-side callback check for exactly this reason.
- The redirect is not the payment. A customer returning to
/successproves nothing. Mark the order paid only from the server-to-server webhook or a server-side status query. - Verify signatures. Stripe signs webhooks with a secret; PayTabs and Paymob provide HMAC-style verification. Reject anything that fails.
- Be idempotent. Gateways retry. Store the gateway's transaction ID with a unique constraint and ignore repeats.
- Model the order states.
pending → authorised → paid → fulfilled, plusfailed,refunded,partially_refunded,disputed. Every transition writes an audit row. - Reconcile. A nightly job compares the gateway's settlement report with your orders. Differences appear within a week of launch, usually from refunds and currency conversion.
- Handle 3-D Secure and OTP. Regional issuers challenge often. Test the challenge flow on a real phone, in Arabic, on a slow connection.
- Log the raw payload. Store every webhook body before processing it. It is the only evidence you will have in a dispute.
// Route Handler: webhook with signature check and idempotency (Stripe shown; the pattern is the same elsewhere)
export async function POST(req: Request) {
const sig = req.headers.get('stripe-signature')!;
const raw = await req.text();
const event = stripe.webhooks.constructEvent(raw, sig, process.env.STRIPE_WEBHOOK_SECRET!);
// Unique constraint on gatewayEventId makes retries harmless
const seen = await prisma.paymentEvent.findUnique({ where: { gatewayEventId: event.id } });
if (seen) return new Response('ok');
await prisma.$transaction(async (tx) => {
await tx.paymentEvent.create({ data: { gatewayEventId: event.id, type: event.type, payload: raw } });
if (event.type === 'checkout.session.completed') {
const s = event.data.object;
await tx.order.update({ where: { id: s.metadata!.orderId }, data: { status: 'PAID', gatewayRef: s.payment_intent as string } });
}
});
return new Response('ok');
}How do you choose in each country?
| Your situation | Start with | Why |
|---|---|---|
| Egyptian company selling in Egypt | Paymob (or PayTabs) | Local cards, wallets, Fawry and instalments in one integration; no monthly fee at SME tier |
| Saudi company selling in Saudi Arabia | Moyasar or PayTabs; Tap if you need Kuwait and Bahrain too | mada rates far below international-card rates; Apple Pay; BNPL add-ons |
| UAE company, mostly UAE and international customers | Stripe | Best developer experience, subscriptions and invoicing built in; add Tabby or Tamara for BNPL |
| UAE company selling into Saudi Arabia | PayTabs or Tap alongside Stripe | To get mada, which Stripe does not offer |
| Egyptian or Saudi founder with a US or UAE entity selling globally | Stripe on the foreign entity | Global reach and SaaS billing; keep a local gateway for domestic customers |
| Shopify store in the region | PayTabs or Paymob through Shopify's gateway list | Shopify Payments is limited or unavailable in most of the region |
Frequently asked questions
Can I use Stripe for a business in Egypt or Saudi Arabia?
Not directly. Stripe onboards businesses registered in its supported countries, which include the UAE but not Egypt or Saudi Arabia as of 2026. Companies there either use a local gateway such as Paymob, PayTabs, Moyasar or Tap, or open a legal entity in a supported country like the UAE or the US and accept the tax and banking consequences.
What does Stripe cost in the UAE?
Stripe's standard UAE pricing is 2.9% plus AED 1 per successful card charge, with an additional 1% for international cards and another 1% when currency conversion is needed. Payouts go to a UAE bank account.
Which gateway is cheapest for Saudi customers?
For mada debit cards, local gateways are much cheaper than international card rates: PayTabs lists mada at about 1% plus SAR 1 and Moyasar between 1.5% and 1.95% plus SAR 1, against 2.2% to 2.9% plus SAR 1 for Visa and Mastercard. Check current rate cards; they change.
What does Paymob charge in Egypt?
Paymob's published rate for local card payments by small and medium businesses is 2.75% plus EGP 3 per transaction with no monthly fee. Wallet, kiosk, instalment and international pricing is quoted on request.
Do I need PCI compliance to accept cards on my site?
If you use the gateway's hosted checkout or tokenised fields, card numbers never touch your server and you fall under the lightest self-assessment. Building your own card form that posts numbers to your backend puts you in full PCI scope and is almost never worth it.
Related: hiring a developer for an online store with Stripe and PayPal and the backend and API development service, where payment webhooks are part of every build.




