Payment gateway in Morocco: CMI vs Stripe vs PayPal - which one should you actually integrate?
Picking a payment gateway for your Moroccan store? CMI vs Stripe vs PayPal compared on cost, setup, and what actually works in 2026.
You are building an e-commerce store in Morocco and you need to decide how to accept payments. CMI, Stripe, PayPal - each has its advocates, its hidden fees, and its constraints that nobody mentions before you sign. This guide gives you the real numbers and real constraints, without the sales pitch.
The context: why online payment in Morocco is different
The Moroccan market has a structural particularity: the vast majority of e-commerce transactions still happen in cash on delivery (COD). This does not mean online payment does not work - it means your integration needs to be frictionless enough that the customers who want to pay online can do so without obstacles.
Bank Al-Maghrib and the Office des Changes impose specific rules on international financial flows. A Moroccan merchant wanting to receive payments in foreign currencies must comply with the applicable regulatory framework - which immediately eliminates certain options or complicates them significantly.
CMI - Centre Monétique Interbancaire
CMI is the only 100% Moroccan payment gateway connected directly to the local banking network. If you sell in MAD to Moroccan customers using Moroccan cards, CMI is the natural path. Funds land directly in your Moroccan bank account, without conversion, without international intermediary.
Real fees in 2026: Setup costs between 2,500 and 4,000 MAD depending on your partner bank (CIH, Attijariwafa, BMCE, etc.). Commission per transaction runs between 1.5% and 2.5% depending on your volume and negotiated contract. There are no fixed monthly fees, though some banks charge an annual maintenance subscription.
What CMI does well:Native MAD support, integrated 3D Secure, PCI-DSS compliance, and acceptance of all Moroccan cards (CMI, CIB, Visa, Mastercard issued in Morocco). The CMI API exists and allows custom integration - WordPress, WooCommerce, Next.js, Laravel - but the documentation is less modern than Stripe's. WooCommerce plugins exist and are maintained by the community.
The real constraints: The affiliation process takes between 2 and 6 weeks. You need an ICE number, RC registration, and a professional bank account. CMI does not always accept auto-entrepreneurs without formal legal structure. Technical support can be slow. And if you want to accept payments in EUR or USD from abroad, CMI alone is not sufficient.
Stripe
Stripe is the global reference for payment infrastructure. The API is excellent, the documentation is flawless, and webhooks work exactly as documented. The problem for Morocco: Stripe does not natively support MAD and is not available as a local gateway for Moroccan merchants.
What is possible: Stripe Atlas allows Moroccan entrepreneurs to create a US company and access Stripe US. This is a real option, but it involves a legal structure in the United States, tax complexity, and additional costs. For a SaaS or a product sold internationally, it can make sense. For a store selling in MAD to Moroccan customers, it is disproportionate.
Real fees: 2.9% + €0.30 per transaction (standard European rate). No setup fees. But payouts come in EUR or USD, which creates regulatory questions related to the Office des Changes for Morocco-based merchants.
Stripe verdict: Ideal if you sell a SaaS, a digital product, or services to an international clientele. Unsuitable as the primary solution for a MAD-local e-commerce without an international structure.
PayPal
PayPal works in Morocco, but with significant restrictions that generic guides do not mention. Moroccan PayPal accounts are classified as limited-capability accounts: you can receive payments, but withdrawals to a Moroccan bank account are constrained and receiving limits are capped.
The real problem: PayPal is not a primary e-commerce payment solution for the local Moroccan market. It is a tool for receiving payments from international clients - particularly for freelancers or sellers working with foreign clients. For a store selling in MAD to Moroccans, PayPal is not the right choice.
Real fees: 3.4% + fixed fees per currency. Currency conversion charged separately (an additional 1.5–3%). Transfer delays can reach 3–5 business days.
Moroccan alternatives: Naps and YouCan Pay
Naps (naps.ma) is a local CMI alternative. The affiliation process is often described as faster (1–3 weeks) and setup fees are slightly lower (around 2,000 MAD). Commission per transaction is similar to CMI (~2%). Naps natively supports MAD and Moroccan cards. A serious option if CMI creates administrative friction for you.
YouCan Payis a Moroccan solution built by the YouCan Shop team. It is native for YouCan stores but also has an API. Fees are competitive and support is in French/Arabic. If you use YouCan Shop as your platform, it is the obvious choice. For other platforms, the plugin ecosystem is less rich than CMI's.
The comparison table
Real 2026 figures, without rounding in the marketing direction:
| Gateway | Setup cost | Commission | MAD support | Best for |
|---|---|---|---|---|
| CMI | 2,500–4,000 MAD | 1.5–2.5% | ✅ Native | Local MAD market |
| Stripe | Free | 2.9% + €0.30 | ❌ EUR/USD | SaaS / international export |
| PayPal | Free | 3.4% + fee | ❌ Limited | International clients only |
| Naps | ~2,000 MAD | ~2% | ✅ Native | Local market (CMI alternative) |
| YouCan Pay | Low | ~2% | ✅ Native | SMBs / dropshipping |
How to technically integrate CMI
CMI provides a REST API and a hosted payment page module. The standard flow is: your server creates a payment session, redirects the customer to the secure CMI page, CMI processes the 3D Secure payment, then notifies your server via webhook with the result.
On WooCommerce: CMI plugins exist and are regularly maintained. Setup involves entering your merchant keys into the plugin. Make sure to enable SSL (HTTPS is mandatory) and configure the return webhooks correctly.
On Next.js / Node.js: Integration goes through API routes. You create an endpoint that generates the signed CMI payment form (HMAC hash), redirects to CMI, and handles the return callback. The official CMI documentation (cmi.co.ma) provides the technical specifications. For a clean Next.js implementation with webhook validation and payment state management, budget 2–3 days of development.
On Shopify: CMI has no native Shopify Payments integration. Third-party apps exist in the Shopify App Store, but their reliability and maintenance varies. This is one of the reasons Shopify is a suboptimal option for the Moroccan market - see the Shopify vs WooCommerce vs custom comparison for Morocco.
Which choice for which project
You sell in MAD to Moroccan customers: CMI or Naps. No serious alternative. CMI is the market standard; Naps if you want to move faster administratively.
You sell a SaaS or services to an international clientele: Stripe via an international structure (Stripe Atlas or European entity). PayPal as a complement for clients who prefer it.
You are launching an e-commerce store with COD as the primary option: CMI as the secondary option for customers who want to pay online. The logic is not to lose the minority who want to pay by card. For a complete analysis of how to structure a Moroccan checkout, read how to design a COD checkout that converts in Morocco.
For a complete guide to launching an online store in Morocco - legal structure, platform, logistics, and marketing included - see the complete guide to launching a profitable e-commerce in Morocco in 2026.
If you need a properly built CMI integration on a Next.js site, WooCommerce, or a custom platform, the contact form is below. Our e-commerce work with CMI integration shows what it looks like in production.
Ready to build something that works?
We integrate CMI on Next.js, WooCommerce, and custom platforms.
Need CMI integrated on your site? →
