Aller au contenu principal
Tous les articles
Guide22 min de lecture

Paiement en ligne au Maroc en 2026 : comment encaisser (méthodes, frais, démarches)

Carte 3-D Secure, espèces en agence, liens, abonnements : ce que coûte un encaissement en ligne au Maroc, et les démarches de la sandbox à la production.

Vous vendez à des clients marocains et vous voulez être payé en ligne, en dirhams, sur un compte au nom de votre entreprise — sans attendre un règlement qui traîne, sans courir après les espèces du livreur. Ce guide fait le tour de la question du point de vue du marchand : quelles méthodes d'encaissement existent réellement au Maroc, ce qu'elles coûtent, quelles démarches vous séparent d'une première transaction, et comment les intégrer selon que vous ayez un développeur ou non. Il est long à dessein : c'est la page à lire une fois, avant de choisir.

L'état des lieux en 2026

Le paiement en ligne au Maroc ne ressemble pas à celui que décrivent les guides écrits ailleurs. La carte y fonctionne, avec 3-D Secure comme standard d'authentification. Mais une partie des acheteurs n'a pas de carte activée pour Internet, ou pas assez de confiance envers un site inconnu pour y saisir un numéro : le paiement à la livraison reste un réflexe courant de l'e-commerce marocain, avec ses colis refusés et ses espèces qui voyagent. Nous ne citons pas de part de marché ici ; les chiffres qui circulent sont rarement sourçables, et votre propre taux de refus en dira plus long qu'une moyenne nationale.

Autre trait local : la vente se conclut souvent hors du site, sur WhatsApp ou Instagram, et le paiement suit la conversation plutôt qu'un panier. Enfin, les passerelles internationales que connaissent les développeurs ne sont pas toutes ouvertes aux entreprises marocaines — nous y revenons dans les questions fréquentes. Encaisser en ligne au Maroc en 2026, c'est composer avec ces trois réalités : la carte, les espèces, et la conversation.

Les méthodes d'encaissement, comparées

Une passerelle de paiement se choisit d'abord par ce qu'elle vous permet d'encaisser, et comment. Le tableau ci-dessous compare les cinq façons d'encaisser un client marocain en ligne : deux méthodes de paiement — la carte, les espèces — et trois outils pour les mettre en œuvre — le lien, le checkout hébergé, l'abonnement. Chez ChariPay, toutes créditent le même compte de paiement, et toutes le créditent à l'instant.

MéthodePour quiFonds disponiblesCe qu'il faut techniquementPoints d'attention
Carte bancaire en ligne (3-D Secure)Toute vente à un client qui possède une carte activée pour InternetÀ l'instant sur le compte de paiement, dès que la banque de l'acheteur confirmeUne page de paiement hébergée, par lien ou par session ; aucune donnée de carte ne transite par vousLe paiement est asynchrone : le résultat fait foi par webhook, pas sur la page de retour
Espèces en agence par référenceClients sans carte, paniers élevés, commandes que vous ne voulez pas livrer contre remboursementÀ l'instant sur le compte de paiement, dès que le réseau confirme le dépôtLa même page hébergée : le client choisit les espèces, reçoit une référence et dépose dans une agence du réseau ChariLe délai entre la commande et le dépôt dépend du client : prévoyez une expiration et un rappel
Lien de paiementBoutiques sans développeur, ventes WhatsApp et Instagram, devis, événementsÀ l'instant, comme ci-dessusLe portail — ou POST /v1/payment-links ; usage unique ou multiple, envoi par e-mail, QR, afficheUn lien à usage multiple ne dit pas qui a payé si vous ne lisez pas la notification : renseignez metadata ou externalId
Checkout hébergé (sessions)Sites et applications avec développeur, panier, back-officeÀ l'instant, comme ci-dessusPOST /v1/payment-sessions avec le montant en MAD, redirection vers checkoutUrl, webhook signéIdempotence à la création, traitement des webhooks, orderId et externalId distincts
AbonnementSalles de sport, écoles, logiciels, box, loyers — tout ce qui se paie à échéanceÀ l'instant, à chaque échéance encaisséeUn client (POST /v1/clients) puis un abonnement (POST /v1/subscriptions) ; premier paiement en 3-D Secure, puis prélèvements automatiquesConsentement du client, avis avant prélèvement, relances J+1, J+3 et J+7 : testez le cycle complet en sandbox

La carte bancaire, avec 3-D Secure

C'est la méthode que tout le monde attend, et c'est la plus simple à mettre en place : votre client saisit sa carte sur une page hébergée par ChariPay, sa banque lui demande une authentification 3-D Secure, il revient — et le résultat vous parvient par webhook. Vous ne touchez jamais un numéro de carte, ni sur votre serveur ni dans votre navigateur : la certification PCI DSS niveau 1 est la nôtre, pas la vôtre, et votre périmètre reste celui d'un marchand qui ne voit jamais de données de carte.

Le point qui surprend les intégrateurs : un paiement par carte n'aboutit pas au moment où vous l'appelez. Il y a la banque, l'authentification, le retour. La page de confirmation que voit l'acheteur n'est qu'une redirection ; la notification signée que reçoit votre serveur est la seule source de vérité. C'est la première des erreurs classiques, plus bas. Sur ce qui fait échouer une authentification, 3-D Secure : ce qui fait échouer un paiement entre dans le détail.

Les espèces en agence, par référence

ChariPay est la seule passerelle de paiement au Maroc à encaisser aussi les espèces en agence. Le principe tient en une phrase : sur la même page de paiement, votre client choisit les espèces, reçoit une référence, et dépose le montant dans une agence du réseau Chari ; vous êtes notifié à la seconde où le réseau confirme le dépôt, et le montant est disponible sur votre compte de paiement à cet instant.

Ce que cela change, c'est l'ordre des opérations. Une commande payée à la livraison part d'abord et se paie ensuite — ou ne se paie pas. Avec le dépôt en agence, la commande est payée avant de partir, l'argent n'a jamais transité par un livreur, et l'encaissement apparaît dans le même relevé que vos paiements par carte. Le seul délai est celui que met le client à se rendre en agence ; d'où l'intérêt d'une date d'expiration raisonnable sur la référence et d'un rappel si le dépôt tarde. Nous avons détaillé le montage dans Encaisser en espèces sans caisse.

Le lien de paiement

Le lien de paiement est l'outil de la vente conversationnelle et de la boutique sans développeur. Vous le créez depuis le portail — montant, description, usage unique ou multiple, date d'expiration — ou par l'API avec POST /v1/payment-links, et vous l'envoyez comme vous voulez : collé dans WhatsApp, expédié par e-mail depuis ChariPay, imprimé en QR code sur une affiche pour un stand ou un comptoir. Le client ouvre la page, choisit la carte ou les espèces, paie.

Un lien à usage unique est consommé par le premier paiement réussi ; un lien à usage multiple reste ouvert et encaisse autant de fois qu'on l'utilise — pratique pour un tarif fixe, une cotisation ou un événement. Dans ce second cas, c'est la notification de paiement qui vous dit qui a payé et quand : lisez-la, ou rapprochez depuis le portail. Pour trancher entre un lien et un vrai checkout, Lien de paiement ou checkout pose les bonnes questions.

Le checkout hébergé, par sessions de paiement

Dès que vous avez un panier et un back-office, la session de paiement remplace le lien. Votre serveur appelle POST /v1/payment-sessions avec le montant en MAD, votre référence de commande et les coordonnées de l'acheteur ; l'API vous rend une checkoutUrl vers laquelle vous redirigez le client. La page hébergée gère la carte, l'authentification 3-D Secure et le choix des espèces ; votre serveur, lui, attend le webhook.

Une session est à usage unique par défaut et expire d'elle-même — soixante-douze heures après sa création si vous n'indiquez rien, ou à la date que vous fixez. Vous pouvez y attacher des metadata, renvoyées telles quelles dans la notification, et votre propre externalId, dont la section technique plus bas explique l'effet.

L'abonnement

L'abonnement répond aux activités qui encaissent à échéance : salle de sport, école, logiciel, loyer, box mensuelle. Vous créez d'abord un client, puis un abonnement avec son montant, sa fréquence et sa date de début. Le premier paiement passe par le checkout hébergé avec 3-D Secure — c'est là que le client donne son consentement — et les échéances suivantes sont prélevées automatiquement, avec un avis envoyé au client avant chaque prélèvement.

Quand un prélèvement échoue, ChariPay relance à J+1, J+3 et J+7 et envoie au client un lien de paiement de secours ; vous êtes prévenu par webhook et vous gardez la main pour suspendre ou annuler. Tant qu'une échéance reste impayée, aucune nouvelle période ne s'ouvre. La sandbox dispose d'un endpoint qui force la prochaine échéance : c'est ce qui vous permet de dérouler une année d'abonnement en une minute, avant de toucher un vrai client. Le détail du produit est sur la page Abonnements.

Ce que coûte un encaissement en ligne au Maroc

Les tarifs se comparent en dernier — nous l'avons écrit dans Choisir son PSP au Maroc, et nous le maintenons. Mais ils se comparent, et pour cela il faut savoir de quoi un devis est fait. Au Maroc comme ailleurs, le coût d'un encaissement en ligne se décompose en cinq postes, dont deux seulement sont écrits en gros sur les plaquettes.

Les cinq postes d'un devis

  • La mise en service. Une somme réglée une fois, qui couvre l'étude du dossier, l'activation et l'accompagnement du passage en production. Demandez si elle se paie avant ou après l'activation.
  • La commission. Un pourcentage prélevé sur chaque transaction, parfois complété d'une part fixe. Elle dépend en général de votre activité, des méthodes de paiement et des volumes. Deux questions à poser : est-elle prélevée sur les transactions réussies seulement, et le pourcentage est-il le même pour toutes les méthodes ?
  • La caution. Un dépôt de garantie immobilisé pendant la relation, destiné à couvrir les contestations et les impayés. Son montant dépend du risque perçu de votre activité ; demandez comment et quand elle vous est restituée.
  • Les remboursements. Rembourser un client est un acte normal du commerce, pas un incident. Certains prestataires conservent la commission de la transaction d'origine ou facturent l'opération : vérifiez ce qu'un remboursement total, puis partiel, vous coûte réellement.
  • Les versements. Le poste le plus sous-estimé. Quand l'argent encaissé arrive-t-il sur un compte que vous contrôlez ? Un règlement différé de plusieurs jours est un coût de trésorerie que vous ne verrez sur aucune facture, et un virement facturé à chaque versement s'additionne vite.

Restent les coûts qui ne figurent sur aucun devis : le temps de développement, le rapprochement à la main quand les exports ne parlent pas à votre comptabilité, et l'espèce que vous continuez de gérer à côté parce que la passerelle ne l'encaisse pas.

Nos chiffres

Les tarifs de ChariPay tiennent en quelques lignes, et la page de tarification ne dit rien de plus.

  • La sandbox est gratuite, sans limite de durée et sans engagement. Vous pouvez construire et tester toute votre intégration avant de signer quoi que ce soit.
  • La mise en service coûte 6 000 MAD TTC, réglée une fois, au passage en production. Rien avant.
  • La commission est un pourcentage par transaction réussie. Elle est définie après étude de votre dossier — vos produits, vos méthodes de paiement, vos volumes — et la caution avec elle. La proposition arrive chiffrée, avant tout engagement ; nous ne publions pas de pourcentage générique parce qu'il serait faux pour la moitié des lecteurs.
  • Rembourser un client est gratuit, en totalité ou en partie.
  • Les fonds sont disponibles à l'instant sur votre compte de paiement, un compte avec un RIB au nom de votre entreprise. Le versement vers votre banque se fait par virement à la demande, ou automatiquement chaque nuit dès qu'un compte de règlement est configuré. Depuis ce compte, vous pouvez aussi émettre des virements, régler des factures et effectuer des recharges télécom par l'API — ce que vous venez d'encaisser est déjà utilisable.

Les démarches : de la sandbox à la production

Il y a deux démarches, et elles ne se ressemblent pas. La première ne demande rien à personne : c'est la sandbox, que vous ouvrez vous-même. La seconde est administrative : l'activation de la production, qui suppose une entreprise vérifiée.

La sandbox, en huit étapes

La sandbox est gratuite, sans limite de durée, et self-serve : ni rendez-vous commercial, ni e-mail au support, ni carte bancaire. Huit étapes séparent une page blanche d'un premier appel authentifié, et le guide « Démarrer » de la documentation de l'API les déroule requête par requête.

  1. 1Inscrivez-vous sur portal-psp.charipay.ma/register avec votre e-mail professionnel.
  2. 2Activez votre compte depuis le lien reçu par e-mail, et choisissez votre mot de passe. Le jeton d'activation n'existe que dans cet e-mail.
  3. 3Connectez-vous au portail. Selon les permissions de votre compte, il peut vous demander d'enrôler une application d'authentification à deux facteurs — conservez vos codes de récupération.
  4. 4Choisissez votre entreprise. C'est cette étape, et non la connexion, qui ouvre votre session de travail.
  5. 5Passez la ré-authentification. Créer une clé d'API est une action sensible : le portail émet un jeton de confirmation à courte durée de vie, exigé à l'étape 7.
  6. 6Regardez les permissions disponibles, et n'accordez à votre clé que ce que votre intégration appelle réellement.
  7. 7Créez votre clé. Elle commence par chari_sk_test_ et ne s'affiche qu'une fois, à cet instant : mettez-la immédiatement dans un coffre ou une variable d'environnement, jamais dans le code d'une page (Protéger ses clés d'API).
  8. 8Vérifiez que tout tient avec un GET /v1/wallet : si le solde vous répond, vous êtes authentifié.

Une seule carte de test existe en sandbox : 4918914107195005, CVV 123, code 3-D Secure 555. Elle suffit à dérouler un paiement complet, avec son authentification, et à recevoir votre premier webhook. La base d'URL est la même qu'en production — https://api-psp.charipay.ma — parce que c'est la clé qui choisit l'environnement, pas l'adresse.

L'activation de la production

La production s'active sur votre compte après vérification de votre entreprise. Concrètement, vous transmettez votre dossier d'entreprise ; l'équipe l'étudie, fixe la commission et la caution, et vous adresse une proposition chiffrée. Vous réglez alors la mise en service — 6 000 MAD TTC, une fois — et la production est ouverte.

Tant qu'elle ne l'est pas, une clé chari_sk_live_ reçoit un 403 explicite avec le code PRODUCTION_ACCESS_NOT_ENABLED. Ce n'est pas un bug d'intégration, c'est une étape administrative qui n'est pas terminée. Votre développeur peut donc préparer la configuration de production sans risque : elle deviendra active le jour où le dossier l'est.

Le jour de la bascule, vous ne changez qu'une chose : la clé. Les URL, les payloads et les codes d'erreur sont identiques. Le seul piège connu est le secret de signature des webhooks, distinct entre sandbox et production ; l'intégration qui bascule la clé et garde l'ancien secret rejette en silence toutes les notifications de production. La liste complète de ce qu'il faut vérifier avant de basculer est dans Sandbox → production : la liste avant de basculer.

L'intégration selon votre situation

Il n'y a pas une bonne intégration, il y en a quatre, et la vôtre dépend de deux questions : avez-vous un développeur, et encaissez-vous une fois ou à échéance ?

Boutique sans développeur : les liens de paiement

Votre boutique tourne sur Shopify, sur WooCommerce ou sur Instagram, et personne dans l'équipe n'écrit de code. Le circuit tient en trois gestes : la commande arrive, vous créez un lien de paiement au montant de la commande depuis le portail, vous l'envoyez au client — WhatsApp, e-mail, ou QR sur le bon de livraison. Le client paie par carte ou en espèces en agence ; le portail vous le montre, et vous marquez la commande payée dans votre boutique.

Le portail est conçu pour une équipe, pas pour une seule personne : il distingue les rôles propriétaire, gestionnaire, caissier et comptable, accepte plusieurs utilisateurs, et exporte vos encaissements en CSV. Les deux guides plateforme — Encaisser sur Shopify au Maroc et Encaisser sur WooCommerce au Maroc — déroulent ce circuit pas à pas, puis montrent quand et comment passer à l'API.

Site avec développeur : sessions et webhooks

Avec un développeur, l'intégration se résume à deux pièces : créer une session de paiement à chaque commande, et traiter la notification qui en revient. La création ressemble à ceci :

bash
curl -X POST https://api-psp.charipay.ma/v1/payment-sessions \
  -H "X-CHARI-PAY-API-KEY: chari_sk_test_…" \
  -H "Idempotency-Key: order-2026-0001" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 250.00,
    "orderId": "ORD-2026-0001",
    "externalId": "order-2026-0001",
    "config": {
      "customer": {
        "firstName": "Amine", "lastName": "Bennani",
        "email": "amine@example.com", "phone": "+212600000000"
      },
      "urls": {
        "accept": "https://votre-site.ma/merci",
        "decline": "https://votre-site.ma/echec",
        "notification": "https://votre-site.ma/webhooks/charipay"
      }
    }
  }'

Le montant est en dirhams, sans champ de devise : l'API ne travaille qu'en MAD. La réponse porte la checkoutUrl vers laquelle vous redirigez l'acheteur. L'en-tête Idempotency-Key, dérivé de votre référence de commande, rend l'appel rejouable sans risque ; l'externalId, unique par environnement, fait qu'un second appel pour la même commande vous rend la session existante avec un 200 au lieu d'en créer une nouvelle.

La seconde pièce est votre endpoint de webhook. Chaque livraison porte X-CHARI-SIGNATURE, un HMAC-SHA256 en hexadécimal calculé sur la chaîne horodatage + "." + corps brut, et X-CHARI-TIMESTAMP, l'horodatage en millisecondes. La vérification tient en quelques lignes :

javascript
import { createHmac, timingSafeEqual } from 'node:crypto';

export function verifyChariSignature(rawBody, headers, secret) {
  const timestamp = headers['x-chari-timestamp'];
  const signature = headers['x-chari-signature'];
  if (!timestamp || !signature) return false;

  // Tolérance ±5 minutes, comme côté ChariPay
  if (Math.abs(Date.now() - Number(timestamp)) > 5 * 60 * 1000) return false;

  const expected = createHmac('sha256', secret)
    .update(`${timestamp}.${rawBody}`)
    .digest('hex');
  return expected.length === signature.length
    && timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}

Quatre règles suffisent ensuite. Vérifiez sur le corps brut, avant tout parsing. Dédupliquez sur Chari-Event-Id : un même événement peut être livré plusieurs fois, c'est une garantie, pas un défaut. Répondez 200 dès que l'événement est écrit quelque part, et faites le reste en tâche de fond. Et si votre serveur ne répond pas, ne vous inquiétez pas : nous relançons à 1 min, 5 min, 30 min, 1 h, puis toutes les 6 h, jusqu'à 16 tentatives sur environ 72 heures — et le journal du portail vous laisse rejouer n'importe quelle livraison en un clic. Réussir son intégration des webhooks détaille les cinq erreurs que nous voyons le plus souvent.

Pour le reste — clients, produits et commandes, remboursements, transactions, exports — la documentation de l'API couvre 12 modules et 62 endpoints, avec des exemples en quatre langages, une collection Postman, le contrat OpenAPI et un pack prêt à donner à votre assistant de code.

Abonnements

L'intégration d'un abonnement ajoute une étape avant la session : le client. Vous le créez avec POST /v1/clients, puis vous ouvrez l'abonnement avec POST /v1/subscriptions — montant, fréquence, date de début, canal de notification, et votre propre externalId. Le premier encaissement passe par le checkout hébergé avec 3-D Secure et enregistre le moyen de paiement ; les suivants sont automatiques, annoncés au client par e-mail avant le prélèvement.

Votre serveur reçoit un webhook à chaque échéance, réussie ou non, avec votre externalId et vos metadata : c'est ce qui vous permet de tenir votre propre facturation à jour sans stocker nos références. Testez le cycle complet en sandbox avec l'endpoint qui force la prochaine échéance — création, trois échéances, un échec, une annulation — avant d'ouvrir la production. C'est le seul moyen de découvrir un bug de facturation récurrente avant qu'il ne touche un vrai client.

Place de marché et distribution

Si vous encaissez au nom d'un réseau — une place de marché, des franchisés, des points de vente — chaque entité peut être déclarée comme sous-marchand, avec son propre wallet et sa propre vérification d'identité. Une session de paiement désigne alors, dans config.settlement, le wallet à créditer : l'encaissement est rattaché à son point de vente dès la transaction, au lieu d'être démêlé après coup. Les reversements, eux, ne partent pas tout seuls : ils suivent une double validation, où le demandeur n'est jamais l'approbateur. Le montage se prépare avec l'équipe d'intégration ; la page Distribution en donne les grandes lignes.

Les erreurs classiques

Nous voyons passer beaucoup d'intégrations. Les mêmes erreurs reviennent, et aucune n'est technique au sens strict : ce sont des raccourcis pris le premier jour et payés le troisième mois.

  • Livrer sur la page de retour. Un acheteur qui ferme son onglet après avoir payé ne verra jamais votre page de confirmation. Si votre commande n'est validée que là, elle ne le sera jamais — alors que l'argent, lui, est bien arrivé sur votre compte de paiement. La règle est simple : la page de retour remercie, le webhook livre.
  • Oublier l'idempotence. Un réseau qui coupe entre votre appel et notre réponse, un utilisateur qui double-clique, un rejeu de tâche : sans Idempotency-Key sur vos créations et sans externalId unique, vous finirez par créer deux sessions pour une commande, ou par expédier deux fois. L'idempotence des paiements explique comment dériver ces clés de vos propres références plutôt que de les tirer au hasard.
  • Ignorer les espèces. Le marchand qui n'accepte que la carte en ligne continue de gérer des espèces à la livraison, hors de tout système, et ne le compte pas comme un coût. Offrir le dépôt en agence sur la même page de paiement ramène cet argent dans le relevé, avant l'expédition.
  • Rapprocher à la main. Comparer un export bancaire à une feuille de commandes, chaque fin de mois, est le symptôme d'une intégration qui n'a pas utilisé externalId et metadata. Ces champs vous reviennent sur chaque notification et dans les exports CSV : le rapprochement devient une jointure, pas une lecture. Rapprocher ses encaissements montre la méthode.
  • Basculer la clé sans basculer le secret. Le jour du passage en production, la clé d'API change et le secret de signature des webhooks aussi. Oublier le second donne l'incident le plus déroutant qui soit : les paiements passent, les commandes ne partent pas.

Questions fréquentes

Peut-on utiliser Stripe au Maroc ?

À ce jour, la liste officielle des pays pris en charge par Stripe ne comprend pas le Maroc, et aucun calendrier n'a été annoncé publiquement. C'est un fait de disponibilité, rien d'autre. Les contournements qui circulent — créer une société à l'étranger, ou passer par le compte d'un tiers — ont des conséquences qu'il faut regarder en face : les fonds sont encaissés hors du Maroc sur une entité étrangère, avec les obligations fiscales du pays d'incorporation ; les obligations marocaines de change (Office des Changes) et de TVA s'appliquent quand vos clients sont marocains ; il existe un risque de clôture de compte, et passer par le compte d'un tiers est contraire aux conditions d'utilisation du service ; enfin, les cartes marocaines ne sont pas toujours acceptées. Tout cela est à valider avec votre conseil avant d'engager quoi que ce soit. Pour une entreprise marocaine qui vend à des clients marocains, la question utile est plutôt : quelle passerelle agréée au Maroc encaisse en dirhams, sur un compte au nom de mon entreprise ? Stripe au Maroc traite la question en entier.

Faut-il un développeur pour encaisser en ligne ?

Non. Les liens de paiement se créent et s'envoient depuis le portail, sans une ligne de code, et suffisent à une boutique qui traite quelques dizaines de commandes par jour. Le développeur devient utile quand le volume impose d'automatiser — création de session à chaque commande, mise à jour de la commande par webhook — ou quand vous encaissez à échéance.

Combien coûte l'ouverture d'un compte ?

La sandbox est gratuite et sans limite de durée. Le passage en production coûte 6 000 MAD TTC de mise en service, réglés une fois. La commission par transaction réussie et la caution sont définies après étude de votre dossier, et vous les connaissez avant de vous engager. Rembourser un client est gratuit.

Quand l'argent est-il disponible ?

À l'instant où le paiement réussit — par carte, dès que la banque de l'acheteur confirme ; en espèces, dès que le réseau confirme le dépôt. Le montant est disponible sur votre compte de paiement, un compte avec un RIB au nom de votre entreprise. Vers votre banque, vous versez par virement à la demande, ou automatiquement chaque nuit une fois un compte de règlement configuré.

Que se passe-t-il si mon serveur est indisponible quand le paiement aboutit ?

Rien n'est perdu. La livraison du webhook est retentée à 1 min, 5 min, 30 min, 1 h, puis toutes les 6 h, jusqu'à 16 tentatives sur environ 72 heures. Le journal des livraisons du portail montre chaque tentative et la réponse de votre serveur, et vous laisse rejouer une livraison en un clic. Comme chaque événement porte le même Chari-Event-Id à chaque tentative, un traitement qui déduplique reste correct quel que soit le nombre de rejeux.

Comment rembourser un client ?

Par POST /v1/refunds, en désignant le paiement par son operationId ou par votre externalId, avec votre propre refundReference et un motif. Le remboursement peut être total ou partiel — refundAmount pour un partiel — et l'appel répond 202 pendant que l'opération s'exécute ; rejouer la même refundReference vous rend le remboursement existant, avec un 200, sans débiter deux fois. C'est gratuit.

Les données de carte passent-elles par mon site ?

Non. La saisie se fait sur la page de paiement hébergée par ChariPay, l'authentification 3-D Secure chez la banque de l'acheteur, et votre serveur ne reçoit qu'une notification signée. ChariPay est certifié PCI DSS niveau 1, et les données sont traitées dans le cadre de la loi 09-08. Votre périmètre de conformité reste celui d'un marchand qui ne voit jamais de numéro de carte ; le questionnaire d'auto-évaluation qui vous concerne se confirme avec votre conseil ou votre acquéreur.

Puis-je encaisser dans une autre devise que le dirham ?

Non. L'API prend des montants en MAD et n'a pas de champ de devise ; ChariPay est fait pour une entreprise marocaine qui encaisse des clients au Maroc, sur un compte de paiement marocain.

Prochaine étape

Si vous avez lu jusqu'ici, vous savez ce que vous voulez encaisser et comment. La suite tient en trois gestes.

  1. 1Ouvrez la sandbox sur portal-psp.charipay.ma/register — huit étapes, aucun rendez-vous, aucun engagement — et faites un premier paiement avec la carte de test.
  2. 2Choisissez votre intégration : un lien depuis le portail si vous n'avez pas de développeur, une session et un webhook si vous en avez un, un abonnement si vous encaissez à échéance.
  3. 3Demandez votre proposition quand l'intégration tient en sandbox : le dossier est étudié, la commission et la caution vous sont communiquées, et la production s'ouvre après la mise en service.

Si vous hésitez encore entre plusieurs prestataires, la page PSP au Maroc explique ce qu'est une passerelle de paiement agréée et comment lire un devis, et Choisir son PSP au Maroc liste les huit questions à poser — à nous comme à n'importe qui.

Écrit par Équipe ChariPay.

À lire ensuite

Guide3 min de lecture

Encaisser sur Shopify au Maroc

Boutique Shopify, clients marocains — comment accepter la carte et les espèces en dirhams, avec l'argent disponible à l'instant sur un compte de paiement.

Guide3 min de lecture

Encaisser sur WooCommerce au Maroc

Votre boutique WordPress mérite mieux que le paiement à la livraison — carte et espèces en dirhams, webhooks signés, argent disponible à l'instant.

Une question sur votre intégration ?

Notre équipe répond aux commerçants comme aux développeurs, du premier test jusqu'à la mise en production.