Aslan logoAslan
Aslan Payment / Online payment gateway in Morocco

Get paid online, your way.

An agnostic payment API: one integration for every way you get paid online — hosted payment page, links, QR codes, cash to web.

↓See the channels
In short

Aslan Payment is an online payment gateway for businesses in Morocco. One API lets you get paid through a hosted checkout page, payment links, QR codes and cash-to-web, in dirhams. Card details are entered on hosted pages and never touch your servers. Aslan is Principal Agent of a payment institution licensed by Bank Al-Maghrib.

The channels / 01

Four channels. One integration.

01

Hosted payment page

A compliant checkout in your brand, hosted by Aslan — card data never touches your servers.

02

Payment link

Create a link, share it over WhatsApp, email or an invoice — get paid without a website.

03

QR code

Display, scan, paid — at the counter or on screen.

04

Cash to web

Your customers pay their online orders in cash, through a network of payment points.

Over-the-shoulder view of hands completing an online card payment on a laptop at night

A card payment completed online — one API behind it

Under the hood / 02

What runs underneath.

Aslan Payment runs on licensed rails — Aslan is Principal Agent of a payment institution licensed by Bank Al-Maghrib.

01

White-label

Payment pages, receipts and emails in your colors — your customers only ever see your brand.

02

Agnostic API

A single integration, independent of the underlying rails — your flows don't change when the infrastructure evolves.

03

Webhooks & statuses

Every payment notifies your backend in real time — created, paid, failed, refunded.

04

SAQ-A security

Hosted pages and fields: card compliance stays with us, not in your code.

05

Dashboard

Transaction tracking, refunds, exports — for your teams, not just your developers.

How it works / 03

From API key to first payment.

  1. 01

    Get your keys

    Test keys create sandbox transactions where no real money moves; live keys process real payments. Secret keys stay on your server.

  2. 02

    Create a session or a link

    Your server sends an amount in centimes and your return URLs. Aslan answers with a hosted payment URL — or a shareable link with its QR code.

  3. 03

    Your customer pays

    On a hosted page in your colours, by card or cash-to-web. With cash, the customer gets a reference and pays at a cash agent counter.

  4. 04

    Your backend is notified

    A signed webhook confirms the outcome: payment.succeeded, payment.failed or payment.expired, and payment.pending_cash while a cash payment is awaited.

  5. 05

    Your teams take over

    Transactions, full or partial refunds and exports live in the dashboard — no developer needed for day-to-day operations.

Key facts / 04

What you can count on.

Channels
Hosted payment page, payment links with QR code, cash-to-web.
Official SDKs
Node.js (TypeScript), PHP with a Laravel package, Python, Go, Ruby and React Native, on top of a REST API.
Card security
PCI DSS SAQ A scope: card data is captured on hosted pages and never reaches your infrastructure.
Amounts
Integers in centimes of Moroccan dirham: 5000 means 50.00 MAD.
Webhooks
payment.succeeded, payment.failed, payment.expired, payment.pending_cash, refund.created, refund.updated — signed with HMAC-SHA256.
Refunds
Full or partial, several partial refunds allowed up to the original amount.
Test mode
Separate test and live keys; test transactions move no real money.
Documentation
Public API reference at doc.aslan.ma.
Comparison / 05

Payment link or hosted page?

Both run on the same API and the same security model. The difference is where the payment starts.

Payment linkHosted payment page
Website neededNo — share the link by WhatsApp, email, SMS or on an invoiceYes — your site or app redirects the customer
Set up fromThe dashboard or one API callYour backend, through the API or an SDK
AmountFixed when the link is createdSet per order by your server
ReuseSingle or multiple payments, optional expiry dateOne session per order
Best forInvoices, social selling, deposits, servicesE-commerce checkouts and mobile apps
Card dataEntered on an Aslan-hosted pageEntered on an Aslan-hosted page
FAQ / 06

Questions businesses ask.

How do I accept card payments online in Morocco without a website?

Create a payment link from the Aslan dashboard or the API, then share it by WhatsApp, email, SMS or on an invoice. Your customer opens it and pays on a secure hosted page; you can also print the link's QR code. You get the same notifications and reporting as with a full website integration.

What is a payment gateway?

A payment gateway is the layer between your business and the payment networks. It shows the customer a secure payment form, sends the transaction for authorisation and returns the result to your system. Aslan Payment adds hosted pages, payment links, cash-to-web and webhooks behind a single API.

Which programming languages does Aslan Payment support?

Any language that can call a REST API. Official SDKs exist for Node.js (TypeScript), PHP — with a dedicated Laravel package — Python, Go, Ruby and React Native. The React Native SDK opens the hosted checkout in a WebView, so it needs no native setup.

Do I need PCI DSS certification to accept cards with Aslan?

Card details are typed on Aslan-hosted pages, so they never pass through your servers. That keeps your scope at SAQ A, the lightest PCI DSS self-assessment questionnaire, instead of a full audit of your infrastructure. You remain responsible for securing your own site and API keys.

What is cash-to-web?

Cash-to-web lets customers who do not want to pay by card settle an online order in cash. The checkout page gives them a reference code; they pay at a cash agent counter, and your backend receives payment.pending_cash when the code is issued, then payment.succeeded once the cash is confirmed.

Can I test Aslan Payment before going live?

Yes. Test keys create sandbox transactions where no real money moves, with the same API, hosted pages and webhooks as production. Once your integration is validated, you switch to live keys without changing your code.

Can I refund a customer?

Yes. Refunds can be full or partial, from the dashboard or the API, and several partial refunds can be issued until the original amount is reached. Each refund triggers refund.created and refund.updated webhooks so your system stays in sync.

Aslan Payment / your integration

Your customers are ready to pay.

One integration, every channel — let's talk about yours.

See the docs / SDK ↗

Talk to Aslan

Leave your email and we'll get back to you within a day.

Or write to hello@aslan.ma