Opening an online store in Morocco looks simple: put the products online, share the link, and wait for orders. Then the first real order arrives, and the questions start. Can the customer pay by card? Who delivers the parcel? What happens if they refuse it? How long until the cash reaches your account?
Payments, delivery and cash on delivery are not back-office details. They decide whether the store makes money or just looks busy. This guide walks through the choices a Moroccan business actually has to make, in the order that matters.
Start with how Morocco buys
Cash on delivery is still the default for many first-time online buyers in Morocco. Card payments are growing, but trust is the bottleneck. The customer is not only asking “Do I want this?” They are asking “Will it arrive? Will it be what I saw? Can I trust this shop with my money?”
That is why a store that only offers card payment can lose a large share of the market before the customer reaches checkout. And a store that only offers cash on delivery can drown in refusals and delayed cash.
The practical answer is usually both: cash on delivery as the default, card payment as the upgrade.
In Morocco, the sale is not finished when the customer clicks. It is finished when the parcel is delivered and the cash is in your account.
Payment options, without the jargon
Cash on delivery
Cash on delivery means the customer pays the courier when the parcel arrives. It is familiar, it does not require a card, and it removes the fear of paying a stranger online. For many products, it is the difference between a first order and no order at all.
The trade-off is operational. You need a courier that collects cash, a remittance schedule, a way to reconcile every parcel, and a process for refusals and returns. A refused parcel costs you twice: the outbound trip and the return trip.
Reduce refusals before they happen. Confirm the order by phone or WhatsApp, repeat the product, the price and the delivery date, and make the delivery window clear. A short confirmation step is cheaper than a returned parcel.

Card payments
Card payment is the second pillar. In Morocco, card transactions go through the interbank card system and 3-D Secure: the customer confirms the payment with an SMS code or their banking app. Expect that step; it is part of the normal flow, not a bug.
For a merchant, the practical route is a merchant contract with a bank or a licensed acquirer, often with CMI as the technical platform. The market has changed: CMI is no longer the only door, and several licensed acquirers now compete for merchants. The right question is not only “Who integrates?” but “Who approves my account, who settles the money, and who handles disputes?”
The CMI-only era is over
Since 2026, Morocco's card-acquiring market has opened to licensed acquirers, with CMI repositioning as a technical platform. In practice, your bank or acquirer still has to approve your merchant account. Compare the percentage fee, the fixed fee, settlement time, refund rules and chargeback process before you sign. The cheapest headline rate is not always the cheapest gateway.
The documents are usually the slow part. Most providers ask for a registered business (RC, ICE and IF, or auto-entrepreneur status with some providers), a professional bank account and RIB, the manager's ID, and a live website with HTTPS, terms, privacy, delivery and refund pages. They may also ask for a business description, product photos, and a minimum volume. Requirements vary, so ask for the exact list before you build the checkout.
Do not leave payment onboarding to launch week
Approval can take days or weeks, and it depends on documents you may not have ready. Start the application while the store is being built. Test a real transaction in sandbox mode, then test again in production with a small amount before you announce the launch.
Bank transfer, payment links and mobile wallets
Bank transfer works well for high-ticket products, B2B orders and deposits. It is slower because you have to confirm the transfer manually, but the fees are low and some customers prefer it.
Payment links and WhatsApp are useful for Instagram sellers and custom orders. They are not a substitute for a real checkout at scale: stock, orders and reminders remain manual, and it is easy to lose track of who paid.
Mobile wallets can be a good local option if your customers already use them. Add a method because your customer uses it, not because the logo looks modern.
| Method | Best for | What to watch |
|---|---|---|
| Cash on delivery | First-time buyers and wide reach | Refusals, cash reconciliation, returns |
| Card payment | Customers ready to pay now and repeat buyers | Onboarding, 3-D Secure, fees, disputes |
| Bank transfer | High-ticket, B2B and deposits | Manual confirmation and slower checkout |
| Payment link / WhatsApp | Instagram sellers and custom orders | Manual follow-up and no automatic stock sync |
Delivery is part of the product
A delivery promise is a promise. If you say 24 to 48 hours, the courier has to deliver in 24 to 48 hours. If you say “2 to 5 days”, say it before the customer pays, not after.
You have four broad options: your own delivery for a small radius, a local courier for one city, a national courier for coverage, or a pickup point for lower cost. Most stores mix them: own delivery in Casablanca, a national courier elsewhere, and pickup for customers who prefer it.
Ask every courier the same questions:
- Coverage: which cities and rural areas do you actually reach?
- Cash on delivery: do you collect cash, when do you remit it, and how do I reconcile it?
- Failed delivery: what do you charge for a refusal or an unreachable phone number?
- Returns: how does the parcel come back, who pays, and how long does it take?
- Tracking: do I get a tracking number and an API, or only a spreadsheet?
- Cut-off: what time do I need to hand over parcels for same-day dispatch?

For cash on delivery, the courier is holding your money. Reconcile every week, not every quarter. Match the courier statement to your orders, flag missing parcels, and keep a reserve for returns. If you cannot explain where the cash is, you do not control the business yet.
Packaging is part of trust. Protect the product, include a receipt and a return instructions card, and make the unboxing feel like the brand. A damaged box undoes a good product page.
The checkout decides the sale
Long forms, forced account creation, hidden delivery costs and tiny buttons lose customers. The customer has already decided to buy; do not make them work for it.
Keep the checkout short: name, phone, city, address and a delivery note. Select cash on delivery by default and offer card as an option. Show the total including delivery before the final button. Show the delivery estimate. Send a confirmation by SMS, WhatsApp or email with the order number and what happens next.
Do not ask for a password unless the customer needs an account to manage orders. Guest checkout is not a luxury; it is a conversion feature. Use Arabic and French, design for a phone first, and test on a mid-range Android, not only on an iPhone.

Do not surprise the customer at the end
Delivery cost, delivery time, return policy and payment method should be visible before the customer enters personal details. Surprises at checkout are one of the fastest ways to lose a sale — and one of the easiest to fix.
The real cost of a refused order
A 300 MAD order is not 300 MAD of profit. Subtract the product, packaging, outbound delivery, return delivery, cash handling, ads and your time. A refused order can turn a good margin into a loss.
| Line | Delivered | Refused |
|---|---|---|
| Revenue | 300 MAD | 0 MAD |
| Product cost | -120 MAD | 0 MAD (if resellable) |
| Packaging | -10 MAD | -10 MAD |
| Outbound delivery | -30 MAD | -30 MAD |
| Return delivery | 0 MAD | -30 MAD |
| COD handling | -10 MAD | 0 MAD |
| Ads | -30 MAD | -30 MAD |
| Contribution | +100 MAD | -100 MAD |
At a 20% refusal rate, the average contribution is 0.8 × 100 + 0.2 × (-100) = 60 MAD per order before fixed costs. At 30%, it is 40 MAD. The exact numbers depend on your product and courier; the formula is what matters.
This is why “cash on delivery is expensive” is only half the story. Bad qualification is expensive. A confirmation call, a clear product page and a realistic delivery promise are not overhead; they protect the margin.
A launch checklist for a Moroccan online store
- Legal: RC, ICE and IF, or auto-entrepreneur status where accepted; a professional bank account; invoices.
- Payments: merchant contract, 3-D Secure, sandbox test, production test, refund and dispute process.
- Delivery: courier contract, COD collection and remittance, failed-delivery fees, returns, packaging.
- Store: real photos, clear prices in MAD, stock status, delivery time, policies and contact details.
- Checkout: guest checkout, COD default, card optional, total shown before payment, confirmation message.
- Operations: order status, stock sync, response time, weekly cash reconciliation.
- Marketing: Google Business Profile, Instagram, SEO basics, analytics and a plan for the first 100 orders.
Do not launch with a test product and a hope. Run one real order through the whole chain: order, confirmation, dispatch, delivery, cash and receipt. Fix what breaks before you spend money on ads.
Final word
Selling online in Morocco is not one decision. It is a chain: trust, payment, delivery, cash and support. The store that wins is not the one with the most payment logos. It is the one that makes the chain feel simple.
If you are still choosing what to build, read Website vs. Mobile App vs. Custom Software. If you want the budget, see our 2027 price guide. If your current site is leaking customers, read 5 Website Mistakes That Cost Moroccan Businesses Customers.
Planning an online store? Tell us what you sell, who delivers, and how you want to get paid. We will map the payment and delivery flow before we quote the build. Contact us.
