You are opening a Shopify store in Morocco and want to accept bank cards. Many guides still tell you to "contact CMI". That advice has been out of date since late 2024. Here is what changed, and how to move forward without losing time.
In short
Shopify Payments is not available in Morocco, and CMI no longer signs new contracts with merchants. To accept cards you need a contract with a payment institution, then a Shopify-approved payment app that works with it. Check that compatibility before you sign. Cash on delivery works without a card contract.
What changed for CMI
The Centre Monétique Interbancaire was long the contact for merchants who wanted card payments. On October 31, 2024, Morocco's Competition Council made the commitments of CMI and its shareholder banks binding. CMI can no longer approach new merchants or sign new contracts, including for its online payment gateway.
CMI has not disappeared. It becomes a technical platform that processes payments on behalf of payment institutions. They are the ones who now sign with you.
In an interview published by CMI in December 2025, its CEO names seven institutions active since May 1, 2025: Al Filahi Cash, Attijari Payment, CDM Pay, Damane Cash, Lanacash, M2T and Saham Paiements. Others may have joined since, so check current offers before choosing.
Already had a CMI contract? The announced deadline for transferring it to a payment institution was January 31, 2026. According to CMI, taking payments does not change, but your commercial contact does. Find your notification letter to see who your new acquirer is.
Why Shopify does not connect directly to CMI
Morocco is not on the list of Shopify Payments countries. Shopify then asks you to use a third-party payment provider.
A developer cannot simply add CMI to your checkout either. According to Shopify's documentation, only approved partners can build these payment extensions, and a custom extension is limited to eligible Shopify Plus merchants.
So accepting cards on Shopify raises two separate questions: who authorises you to take payments, and how that service appears in your checkout. Many projects stall because the contract gets signed before the second question has an answer.
Your options on Shopify
| How it works | Good to know | |
|---|---|---|
| Approved payment app | The customer chooses card in your checkout and the order updates by itself | The best experience, if a compatible app exists for your acquirer and store |
| Payment link | You send a link after the order, then mark it as paid by hand | A stopgap for small volumes, if your contract includes it |
| Cash on delivery | The customer pays on receipt and you mark the order as paid | No card contract, but plan a confirmation step to limit fake orders |
If no app fits, look at the platform itself too. WooCommerce and custom stores leave more technical freedom to connect a payment service. Our e-commerce page compares these choices.
The steps, in the right order
- Start inside Shopify. In your admin, open Settings then Payments, and note the providers offered for your store. That is your reference: these lists change and depend on your country.
- Ask several acquirers. Ask for the exact name of the compatible Shopify app, the cards and currencies accepted, all fees, the payout delay, how refunds work and access to a test environment.
- Prepare your store and documents. Your contact details, terms of sale and refund policy should be online. Get the document list in writing, because each acquirer sets its own.
- Test before you open. Use the list below in test mode.
- Go live. Make one real low-value purchase, refund it, then watch for declined payments during the first weeks.
What to test
- A payment with a Moroccan card, and with a foreign card if your contract allows it.
- 3D Secure validation, and a clear message when a payment is declined.
- The customer's way back to the store if they abandon the payment page.
- The order marked as paid automatically, with no duplicate and the right amount.
- A full refund and a partial refund, and which tool handles them.
- The whole journey on a phone, where most of your customers will buy.
Should you keep cash on delivery?
Usually, yes. Cards and cash on delivery can sit side by side on the same store, and offering both leaves the choice to your customers. On Shopify it is a manual payment method: the order stays unpaid until you mark it as paid. Add a confirmation by phone or WhatsApp before shipping. It is also a good way to start selling while your card application moves forward.
Common questions
Does Shopify accept CMI in Morocco?
Not directly. You need a contract with a payment institution, then a Shopify-approved payment app that works with that contract.
Can you still sign an online payment contract with CMI?
No, not as a new merchant. Since the October 2024 decision, payment institutions sign the contracts and CMI handles the technical processing for them.
How much do card payments on Shopify cost?
It depends on your contract. Ask the acquirer for a written breakdown of all its fees, then check in your Shopify plan whether transaction fees apply with a third-party provider, along with any cost for the app.
Do you need a company to accept cards?
Each acquirer sets its own conditions and documents. Ask in your first conversation, with your exact legal status, before building your launch around card payments.
Our view
Do not let card payments delay your launch. Check compatibility, open with cash on delivery if needed, then add cards once everything is tested. And never sign a contract without knowing the name of the app that will connect it to your store.
Planning a store? See how we build e-commerce sites, or ask us your question.
Sources
Checked on November 5, 2026. These rules change: always confirm conditions with your acquirer and in your Shopify admin.
- Competition Council: press release of November 4, 2024
- CMI: interview with its CEO, December 2025 (in French)
- Shopify: countries where Shopify Payments is available
- Shopify: payment extensions
- Shopify: manual payment methods
Planning an online store?
Talk about your project


