Aller au contenu principal
Tous les articles
Guide13 min de lecture

Paiement en ligne pour restaurant au Maroc : faire payer les commandes avant de les préparer

Paiement en ligne pour restaurant au Maroc : lien au montant exact par téléphone, session pour le menu en ligne, affiche au comptoir, rôle caissier et clôture.

Le paiement en ligne pour restaurant au Maroc sert d'abord à une chose : faire payer une commande avant de la préparer. Pour une commande prise au téléphone ou sur WhatsApp, vous envoyez un lien de paiement à usage unique au montant exact ; pour une commande passée sur votre site ou votre menu en ligne, une session de paiement redirige le client vers une page hébergée ; au comptoir, une affiche avec QR code — sur un lien réutilisable créé par l'API — encaisse la formule à prix fixe par carte. Ce guide détaille ces trois flux, l'organisation de l'équipe avec le rôle caissier, les commandes annulées et la clôture de fin de journée.

Trois flux de commande, trois façons d'encaisser

ChariPay est une plateforme de paiement marocaine, un PSP opéré par Chari Money, établissement de paiement agréé par Bank Al-Maghrib. Pour un restaurant, un snack, une cuisine de livraison ou un traiteur, la question n'est pas « faut-il accepter le paiement en ligne ? », mais « par quel canal arrive la commande ? ». Chaque canal a son outil.

Canal de commandeOutilMoyens acceptésQuand préparer
Téléphone, WhatsApp, InstagramLien de paiement à usage unique, au montant exactCarte avec 3-D Secure, ou espèces en agenceQuand le lien passe « Payé »
Site ou menu en ligneSession de paiement, vers le checkout hébergéCarte avec 3-D SecureÀ réception du webhook de paiement
ComptoirQR d'un lien à usage unique au montant de la vente ; pour un prix fixe, affiche d'un lien réutilisable créé par l'APILien à usage unique : carte, ou espèces en agence ; affiche : carte seuleQuand la notification de paiement arrive

Deux cas voisins ont leur guide. La réservation d'une table, payée d'avance pour bloquer la place, est traitée dans faire payer une réservation en ligne. Le traiteur qui travaille sur devis — un mariage, un séminaire — demande plutôt un acompte, puis le solde : voyez encaisser un acompte. Ici, on parle des commandes du quotidien, à emporter ou livrées par vos soins.

Commande à emporter payée d'avance : le lien au montant exact

Le client appelle ou écrit : deux tajines, une salade, deux jus, à récupérer à 13 h. Vous calculez le total, et au lieu d'attendre qu'il passe régler — ou qu'il ne passe pas —, vous lui envoyez un lien. Un lien de paiement, c'est un montant et une description ; le client paie sur une page hébergée par ChariPay. Il se partage par lien, QR code, affiche PDF à imprimer, e-mail ou WhatsApp.

Les réglages qui conviennent à une commande à emporter :

  • Usage unique, pour que le lien ne serve qu'à cette commande.
  • Le montant exact de la commande, livraison comprise si vous livrez vous-même.
  • Une description utile : le numéro de commande et le prénom, « Commande 58 — Salma — retrait 13 h ».
  • Une expiration courte, 24 heures, pour un lien réglé par carte : une commande non payée ne doit pas traîner.
  • Le partage par WhatsApp dans la conversation où la commande est arrivée, ou par e-mail.

Ensuite, une seule règle en cuisine : on ne prépare que lorsque le lien passe « Payé ». Vous êtes notifié dans le portail à l'encaissement ; pas de notification, pas de préparation. Sur un lien à usage unique, le client peut aussi choisir les espèces : il reçoit une référence, la règle dans une agence du réseau Chari, et vous êtes notifié dès que le réseau confirme le dépôt. Pour une commande à préparer dans l'heure, la carte reste le chemin le plus direct ; pour un plateau commandé la veille, les espèces en agence gardent le client qui paie en liquide.

Un réglage compte alors. Dans le portail, activer « Paiement en agence » sur un lien désactive son expiration : le lien reste payable sans limite de temps. Un lien qui porte une date d'expiration se présente donc comme un lien à régler par carte ; pour un client qui paie en espèces, créez un lien avec « Paiement en agence », sans expiration.

Si vous avez un outil de prise de commande, il peut créer ces liens tout seul. Un appel suffit : POST /v1/payment-links renvoie le payUrl à partager. Les réglages des liens sont présentés sur la page des liens de paiement, et la méthode de vente en messagerie — confirmer, envoyer, relancer — dans vendre sur Instagram et WhatsApp.

Faites l'essai avec votre propre commande avant d'en parler à vos clients : Commencer en mode test. Trois champs (nom, e-mail professionnel, entreprise), un lien d'activation reçu par e-mail pour choisir votre mot de passe, puis le portail, où vous créez vous-même votre clé de test. Créez un lien au montant d'une commande, payez-le avec la carte de test comme le ferait un client, et regardez-le passer « Payé » : aucun argent réel ne circule.

Commande sur le site ou le menu en ligne : la session de paiement

Si vos clients commandent sur votre site ou sur un menu en ligne développé pour vous, le paiement s'intègre au panier. Une commande devient une session : vous créez la session côté serveur, vous redirigez l'acheteur vers le checkout hébergé — carte avec 3-D Secure —, et vous recevez le résultat par webhook signé.

Pour une cuisine, deux points comptent plus que tout :

  1. 1Lancez la préparation sur le webhook, jamais sur la redirection. Confirmez la commande sur réception du webhook, jamais sur la seule redirection : la redirection dit que l'acheteur est revenu, pas que le paiement est acquis. Le ticket ne doit sortir en cuisine qu'à l'arrivée de l'événement payment.succeeded.
  2. 2Mettez le numéro de commande dans `metadata`. Il vous revient tel quel dans l'événement de paiement, avec votre orderId : c'est ce qui permet à votre système d'imprimer le bon ticket, sans recherche manuelle.

La session vit 72 heures par défaut ; pour une commande de repas, raccourcissez-la avec expiresAt — personne ne paie un déjeuner trois jours plus tard. Une session n'est consommée qu'une seule fois, et elle n'encaisse que la carte : pour un client qui veut payer en liquide, envoyez-lui plutôt un lien à usage unique. L'offre complète est sur la page du checkout hébergé.

Au comptoir : une affiche avec QR, payée par carte

Pas de terminal ? Au comptoir, la carte s'encaisse par QR code. Sans développeur, créez un lien à usage unique au montant de la vente et affichez son QR code depuis la liste des liens : le client scanne, paie par carte avec 3-D Secure sur son téléphone, et vous êtes notifié à l'encaissement. Pour une formule à prix fixe affichée en permanence, il faut un lien réutilisable : il se crée par l'API, avec singleUse: false, puis apparaît dans le portail comme les autres. L'affiche PDF à imprimer — elle porte le QR code et le montant — s'obtient depuis la fiche du lien dans le portail, ou par l'API avec GET /v1/payment-links/{reference}/poster ; le QR seul, au format PNG, par GET /v1/payment-links/{reference}/qr.

Deux limites à connaître avant d'imprimer :

  • Un lien porte un montant fixe. L'affiche convient donc à un prix fixe : la formule du midi, le couscous du vendredi, le petit-déjeuner complet. Pour un montant variable — une addition à la carte —, restez sur le lien à usage unique au montant exact.
  • L'affiche encaisse par carte seule. Une affiche ou un QR posé à demeure au comptoir, c'est un lien réutilisable : les espèces en agence passent par un lien à usage unique, une référence par dépôt. Le liquide payé à votre propre caisse, lui, reste hors de ChariPay.

Avant de remettre la commande, attendez la notification de paiement dans le portail, plutôt que de vous fier à l'écran du téléphone du client. La mécanique du QR — génération, emplacement, renouvellement quand le prix change — est détaillée dans paiement par QR code.

Organiser l'équipe : le rôle caissier

Dans un restaurant, plusieurs personnes encaissent, et toutes n'ont pas à voir l'argent du compte. Les rôles du portail séparent la consultation de l'action : propriétaire, gestionnaire, caissier, comptable. Le comptable lit tout sans rien déclencher, le caissier encaisse sans voir le solde ni les virements, le propriétaire ou un gestionnaire habilité déclenche les opérations sortantes.

En pratique :

  • Le caissier encaisse les commandes du service, sans voir le solde ni les virements, et ne rembourse pas.
  • Le gérant de salle, avec un rôle de gestionnaire habilité, déclenche les remboursements.
  • Le comptable, interne ou externe, lit tout sans rien déclencher.
  • Le propriétaire garde la main sur les opérations sortantes.

Cette séparation n'est pas de la méfiance : c'est ce qui permet de confier l'encaissement à un extra un soir de week-end sans lui confier le compte. Le détail des droits de chaque rôle est dans rôles et accès du portail.

Commande annulée ou plat manquant : annuler ou rembourser

Un client annule, un plat n'est plus disponible, une commande arrive incomplète : le bon geste dépend d'une question, l'argent a-t-il déjà bougé ?

  • Avant le paiement, annulez le lien : un lien annulé ne peut plus être payé. Pour une session, l'annulation passe par POST /v1/payment-sessions/{sessionId}/cancel.
  • Après un paiement par carte, remboursez en totalité si la commande est annulée, partiellement s'il manque un plat. Le remboursement est gratuit ; son montant est déduit de votre solde disponible, et si le solde ne suffit pas, l'opération est bloquée plutôt que de créer un découvert. Un remboursement n'est pas instantané côté banque : dites-le au client, sans promettre de date.

C'est le propriétaire ou un gestionnaire habilité qui rembourse, pas le caissier : une demande faite au comptoir remonte au responsable. Le mode d'emploi complet — portail, API, message au client — est dans rembourser un client.

Fin de journée : clôturer et rapprocher

Le service terminé, ce que ChariPay a encaissé se clôture sur le portail, pas dans une boîte à billets. Dès qu'un paiement réussit — carte authentifiée par 3-D Secure ou référence réglée en espèces en agence —, le montant est disponible sur votre compte de paiement ChariPay, utilisable tout de suite : virements, factures, recharges. ChariPay n'est pas une banque : votre compte de paiement est tenu par Chari Money. Il complète votre banque, il ne la remplace pas.

Le versement vers votre banque est une opération distincte : automatique chaque nuit dès qu'un compte de règlement est configuré dans le portail, ou par virement à la demande, au montant et au moment que vous choisissez. Chaque versement porte une référence qui figure sur votre relevé bancaire.

Pour la clôture elle-même, trois réflexes :

  1. 1Comptez les commandes payées dans le portail, qui distingue montant payé, frais et net.
  2. 2Exportez la journée en CSV, depuis le portail : chaque mouvement porte la référence de la vente, du remboursement ou du versement qui l'explique.
  3. 3Convertissez les heures : les horodatages sont en UTC, et le Maroc est en UTC+1. Un dîner payé juste après minuit apparaît, dans l'export, à la date de la veille.

La méthode complète, avec les écarts classiques entre encaissé et versé, est dans rapprocher ses encaissements.

Questions fréquentes

Comment faire payer une commande à emporter avant de la préparer ?

Envoyez au client un lien de paiement à usage unique, au montant exact de la commande, avec le numéro de commande en description et, pour un paiement par carte, une expiration courte, par WhatsApp ou par e-mail. Le client paie sur une page hébergée par ChariPay ; vous êtes notifié dans le portail à l'encaissement. La règle en cuisine : on ne prépare que lorsque le lien passe « Payé ».

Peut-on encaisser la carte au comptoir sans terminal ?

Oui. Créez un lien à usage unique au montant de la vente et affichez son QR code depuis la liste des liens : le client scanne, paie par carte avec 3-D Secure sur son téléphone, et vous êtes notifié à l'encaissement. Pour une formule à prix fixe affichée en permanence, l'affiche PDF repose sur un lien réutilisable, qui se crée par l'API ; elle encaisse par carte seule.

Un client peut-il régler sa commande en espèces ?

Oui, de deux façons. À votre caisse, comme d'habitude, hors de ChariPay. Ou avec un lien de paiement à usage unique, créé dans le portail avec « Paiement en agence », donc sans expiration : sur sa page, le client choisit les espèces, reçoit une référence et la règle dans une agence du réseau Chari ; vous êtes notifié dès que le réseau confirme le dépôt. L'affiche de comptoir et la session de paiement, elles, n'encaissent que la carte.

Quand lancer la préparation d'une commande payée en ligne ?

À la preuve du paiement, jamais avant. Pour une session, à réception du webhook payment.succeeded, jamais sur la seule redirection du client. Pour un lien, quand il passe « Payé » et que la notification arrive dans le portail. Au comptoir, attendez cette notification plutôt que de vous fier à l'écran du téléphone que le client vous montre.

Le caissier peut-il voir le solde ou rembourser une commande ?

Non. Le caissier encaisse sans voir le solde ni les virements, et il ne rembourse pas. Les opérations sortantes, remboursements compris, sont déclenchées par le propriétaire ou un gestionnaire habilité ; le comptable lit tout sans rien déclencher. Vous pouvez donc confier l'encaissement à un extra sans lui ouvrir le compte de paiement du restaurant.

Comment rembourser une commande annulée ?

Si elle n'est pas encore payée, annulez simplement le lien : un lien annulé ne peut plus être payé. Si elle a été payée par carte, le propriétaire ou un gestionnaire habilité la rembourse, en totalité ou partiellement, depuis le portail ou par l'API. Le remboursement est gratuit, déduit de votre solde disponible, et il n'est pas instantané côté banque.

Comment retrouver les commandes payées en fin de journée ?

Dans le portail, qui liste les paiements et distingue montant payé, frais et net, et dans l'export CSV de la journée, où chaque mouvement porte sa référence. Pensez au fuseau : les horodatages sont en UTC, le Maroc en UTC+1. Avec une intégration, le numéro de commande placé dans metadata vous revient tel quel dans l'événement de paiement.

Prochaine étape

Préparez, d'abord en mode test, un message type avec un lien de paiement et le QR d'un lien à usage unique pour le comptoir : Commencer en mode test. L'affiche de votre formule à prix fixe suivra, sur un lien réutilisable créé par l'API ; puis donnez à votre caissier le rôle qui lui revient. Pour aller plus loin, lisez paiement par QR code pour le comptoir et vendre sur Instagram et WhatsApp pour les commandes en messagerie.

Écrit par Équipe ChariPay.

À lire ensuite

Prêt à essayer par vous-même ?

Créez votre compte et encaissez en mode test dès aujourd'hui : c'est gratuit, sans validation à attendre. Une question ? Notre équipe répond aux commerçants comme aux développeurs.

  • Gratuit, sans engagement
  • Mode test dès l'inscription
  • Aucune validation à attendre