Se faire payer une facture en ligne : le lien de paiement sur facture, du QR à la relance
Lien de paiement sur facture : un lien à usage unique par facture, le QR imprimé, l'envoi par e-mail, le suivi des statuts et des relances sans double paiement.
Se faire payer une facture en ligne, c'est mettre un lien de paiement sur facture : chaque facture que vous émettez reçoit son lien à usage unique, à son montant. Votre client ouvre le lien ou scanne son QR imprimé, arrive sur la page de ce lien et paie par carte avec 3-D Secure — ou en espèces en agence, sur un lien sans expiration — ; le lien passe alors « Payé » dans votre portail. Il ne s'agit pas ici de payer vos propres factures, mais d'être payé pour celles que vous adressez à vos clients, professionnels ou particuliers. Ce guide couvre la création du lien, le QR, l'envoi, le suivi, la relance et le rapprochement.
Se faire payer une facture en ligne, pas payer les siennes
Commençons par lever l'ambiguïté : cet article parle des factures que vous émettez, celles que vos clients doivent vous régler. Pour régler vos propres factures — eau, électricité, téléphone — depuis votre solde, lisez plutôt comment payer ses factures depuis son compte de paiement.
Deuxième précision : ChariPay ne génère ni vos factures ni leur PDF. Vous continuez à les produire dans votre outil habituel — logiciel de facturation, ERP, tableur —, avec votre numérotation et vos mentions. ChariPay ajoute ce qui manque à une facture papier ou PDF : un moyen de la payer tout de suite, en ligne. ChariPay est une plateforme de paiement marocaine, un PSP opéré par Chari Money, établissement de paiement agréé par Bank Al-Maghrib. Le lien de paiement qui accompagne la facture est décrit sur la page des liens de paiement.
Si vous demandez une partie du prix avant la prestation, la logique est différente : un lien part avec le devis, un autre à la livraison. C'est l'objet de notre guide pour encaisser un acompte. Ici, la prestation est livrée, la facture est émise : il reste à être payé.
Un lien de paiement sur facture : un lien à usage unique par facture
La règle tient en une phrase : une facture, un lien à usage unique, au montant à payer qui figure sur la facture. Le lien est consommé après un paiement réussi, ce qui exclut qu'une même facture soit réglée deux fois par ce lien. Quatre réglages en font un bon lien de facture :
- La description reprend le numéro de facture : « Facture FAC-2026-0457 ». Le client sait ce qu'il règle ; vous retrouvez la facture dans le portail.
- L'expiration suit l'échéance : 24 heures, 7 jours, 30 jours ou une date précise. Une facture payable à trente jours appelle un lien qui expire à la date d'échéance. Cette expiration vaut pour un lien à régler par carte : pour un client qui paie en espèces, créez le lien avec « Paiement en agence », sans expiration.
- Le client est enregistré : ses coordonnées servent à l'envoi par e-mail et à vos factures suivantes.
- Par l'API, l'`externalId` est le numéro de facture : une création rejouée avec le même
externalIdrenvoie le lien existant en200au lieu d'en créer un second. Votre outil de facturation peut donc relancer l'appel sans risque de doublon.
curl -X POST 'https://api-psp.charipay.ma/v1/payment-links' \
-H 'X-CHARI-PAY-API-KEY: chari_sk_test_...' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: invoice-fac-2026-0457' \
-d '{
"amount": 1800.00,
"description": "Facture FAC-2026-0457",
"singleUse": true,
"expiresAt": "2026-11-01T23:59:59Z",
"externalId": "FAC-2026-0457",
"customerEmail": "amine.bennani@example.com",
"metadata": { "invoiceNumber": "FAC-2026-0457" }
}'La réponse porte la reference du lien (pl_…) et son payUrl : conservez la première à côté de la facture dans votre outil, et imprimez le second, ou son QR code, sur la facture. Ce que la facture doit mentionner par ailleurs — taxes, mentions, conditions de règlement — relève de votre outil et de votre conseil.
Pour voir ce que votre client recevra, faites l'essai sur une facture fictive. Le mode test s'ouvre dès l'activation de votre compte, sans validation à attendre : 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 après une ré-authentification ; la clé complète ne s'affiche qu'une seule fois. Créez le lien de la facture, ouvrez-le et payez avec la carte de test 4918 9141 0719 5005, CVV 123, n'importe quelle date d'expiration future, code 3-D Secure 555 : seule cette carte est acceptée, et aucun argent réel ne circule. La vérification de votre entreprise (KYB) se fait en parallèle et ne conditionne que le passage en production.
Imprimer le QR code sur la facture
Une facture se lit souvent sur papier, ou dans un PDF ouvert sur un autre appareil que le téléphone. Le QR code fait le pont : GET /v1/payment-links/{reference}/qr renvoie une image PNG qui encode l'adresse de la page de paiement du lien. Insérez-la dans le modèle de votre outil de facturation, à côté du montant et du numéro de facture, avec une phrase courte : « Scannez pour régler cette facture en ligne. »
Le client scanne, arrive sur la page du lien de cette facture — avec votre nom, votre logo, le montant et la description — et paie. Pour une facture PDF lue à l'écran, ajoutez aussi le payUrl en clair, sous forme de lien cliquable : le client n'a alors même pas besoin de son téléphone.
Côté automatisation, l'enchaînement tient en trois gestes : créer le lien, récupérer son QR, l'insérer dans le PDF de la facture. Le QR est celui d'un lien à usage unique, propre à cette facture : il ne se réutilise pas d'une facture à l'autre. Les autres usages du QR — affiche de comptoir, stand — sont traités dans notre guide du paiement par QR code.
Envoyer la facture et son lien : par e-mail ou par votre canal
Deux façons d'acheminer le lien jusqu'au client, qui peuvent se combiner.
Par votre propre canal : vous envoyez la facture comme d'habitude — e-mail de votre outil, WhatsApp, courrier — avec le lien ou le QR dedans. Ce partage est votre geste : ChariPay n'envoie votre lien de paiement ni par SMS ni par WhatsApp.
Par l'e-mail de ChariPay : POST /v1/payment-links/{reference}/send envoie le lien par e-mail et répond 202. Sans corps, l'e-mail part à l'adresse du client enregistrée sur le lien ; avec un champ email, à l'adresse indiquée — par exemple le service comptable de votre client professionnel.
curl -X POST 'https://api-psp.charipay.ma/v1/payment-links/pl_3ND8xk/send' \
-H 'X-CHARI-PAY-API-KEY: chari_sk_test_...' \
-H 'Content-Type: application/json' \
-d '{ "email": "amine.bennani@example.com" }'Cet e-mail porte le lien de paiement, pas votre facture : la facture elle-même part par votre outil. Le même envoi existe depuis le portail. Les paramètres de chaque appel sont dans le module « Liens de paiement » de la documentation.
Suivre le statut de chaque facture
Le statut du lien vous dit où en est la facture. Il en existe quatre : actif, payé, annulé, expiré.
| Statut du lien | Ce qu'il dit de la facture | Votre action |
|---|---|---|
| Actif | Émise, pas encore réglée | Attendre l'échéance, relancer si besoin |
| Payé | Réglée en ligne | La marquer payée dans votre outil |
| Annulé | Le lien a été désactivé : facture annulée ou réglée autrement | Rien, sinon vérifier le motif de l'annulation |
| Expiré | Échéance du lien passée sans paiement | Relancer avec un nouveau lien |
À l'encaissement, vous êtes notifié dans le portail. Côté serveur, GET /v1/payment-links/{reference} renvoie l'état du lien : en code, testez status contre "ACTIVE" pour savoir si le lien est encore payable, et lisez useCount pour savoir s'il a été payé. Votre outil de facturation peut ainsi mettre à jour chaque facture sans ressaisie.
Relancer une facture impayée sans risque de double paiement
Aucune relance ne part toute seule d'un lien : c'est vous qui relancez, au rythme que fixent vos conditions. Trois situations se présentent.
- 1Le lien est encore actif : renvoyez-le, par
POST /v1/payment-links/{reference}/sendou par votre canal, avec un message qui rappelle le numéro, le montant et l'échéance. C'est le même lien : aucun risque de double paiement. - 2Le lien a expiré : créez un nouveau lien, avec un nouvel
externalId— par exempleFAC-2026-0457-R1— et le mêmemetadatade facture. Rejouer l'ancienexternalIdvous renverrait le lien existant, expiré, en200. - 3Vous voulez remplacer un lien encore actif (montant corrigé, nouvelle échéance) : annulez d'abord l'ancien — un lien annulé ne peut plus être payé —, puis envoyez le nouveau.
Un modèle de relance qui fonctionne, court et factuel :
Bonjour, la facture FAC-2026-0457 est arrivée à échéance. Vous pouvez la régler en ligne, par carte, avec ce lien.
Tenez dans votre outil la liste des factures dont le lien est expiré : c'est votre liste de relance. Les échéances d'un abonnement, elles, ont leur propre circuit de relances : voir impayés d'abonnement et relances.
Les clients qui paient en espèces ou par virement
Tous vos clients ne paieront pas par carte, et c'est très bien : le même lien de facture et votre compte couvrent les deux autres cas.
En espèces. Sur la page d'un lien de paiement à usage unique, votre client choisit les espèces, 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. Le paiement en espèces en agence s'appuie toujours sur un lien à usage unique — une référence par dépôt. 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. Dès que le réseau confirme le dépôt, le lien passe « Payé » et vous êtes notifié dans le portail ; côté serveur, l'état du lien se lit par GET /v1/payment-links/{reference}. ChariPay est la seule passerelle de paiement au Maroc à encaisser aussi les espèces en agence.
Par virement. Beaucoup de clients professionnels règlent par virement. Votre compte ChariPay est un vrai compte de paiement, tenu par Chari Money, établissement de paiement agréé par Bank Al-Maghrib, ouvert au nom de votre entreprise, avec un RIB à ce nom et une attestation PDF à télécharger depuis le portail ou par l'API. Il reçoit vos encaissements et des virements. 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. Vous pouvez donc indiquer ce RIB sur vos factures ; le cadre du compte est expliqué sur la page compte de paiement au Maroc, et les documents qui l'accompagnent dans notre article sur l'attestation de RIB du compte de paiement.
Quand un client a réglé par virement, annulez le lien de la facture : il ne pourra plus être payé, et vous évitez un second règlement par carte.
Rapprocher chaque paiement de sa facture
Le rapprochement se prépare dès la création du lien, en choisissant ce qui reviendra vers vous.
- Votre `metadata` — ici
invoiceNumber— est renvoyé tel quel dans l'événement de paiement par carte et à chaque lecture du lien : c'est la clé la plus sûre pour retrouver la facture. - La `reference` du lien (
pl_…), conservée dans votre outil à côté de la facture, vous permet de relire le lien à tout moment. - L'`externalId` se lit sur le lien, par
GET /v1/payment-links/{reference}; ne comptez pas sur lui dans l'événement de paiement, retrouvez la facture par votremetadata.
Côté comptabilité, chaque mouvement du compte porte la référence de la vente, du remboursement ou du versement qui l'explique ; le portail distingue montant payé, frais et net, et l'export CSV reprend ces références — depuis le portail ou par GET /v1/transactions/export.csv (jusqu'à 10 000 lignes ; au-delà, découpez par période avec from/to). Les horodatages sont en UTC ; le Maroc est en UTC+1 : votre outil de rapprochement doit convertir. La méthode quotidienne, des écarts classiques aux exports, est détaillée dans rapprocher ses encaissements.
Questions fréquentes
Comment ajouter un lien de paiement sur une facture ?
Créez dans le portail ChariPay, ou par l'API, un lien de paiement à usage unique au montant de la facture, avec son numéro en description et une expiration à la date d'échéance. Ajoutez ensuite le lien, ou son QR code obtenu par GET /v1/payment-links/{reference}/qr, dans le modèle de votre outil de facturation, à côté du montant. Le client paie en ligne et le lien passe « Payé ».
ChariPay peut-il générer mes factures ?
Non. ChariPay ne génère ni factures ni PDF de facture : vous les produisez dans votre outil habituel, avec votre numérotation et vos mentions. ChariPay fournit le moyen de paiement qui accompagne la facture : un lien à usage unique, son QR code, l'envoi du lien par e-mail et le suivi de son statut. Les règles propres à la facture elle-même relèvent de votre outil et de votre conseil.
Comment relancer un client qui n'a pas payé sa facture ?
Si le lien est encore actif, renvoyez-le, par e-mail avec POST /v1/payment-links/{reference}/send ou par votre propre canal, avec un message rappelant le numéro, le montant et l'échéance. Aucune relance ne part automatiquement : c'est vous qui fixez le rythme. Si le lien a expiré, créez-en un nouveau avec un nouvel externalId et le même metadata de facture.
Que faire quand le lien d'une facture a expiré ?
Créez un nouveau lien à usage unique au même montant, avec un nouvel externalId, par exemple le numéro de facture suivi d'un suffixe de relance, et le même metadata. Rejouer l'ancien externalId renverrait le lien expiré, en 200, au lieu d'en créer un neuf. Envoyez ensuite le nouveau lien au client et choisissez une nouvelle expiration réaliste.
Comment éviter qu'une facture soit payée deux fois ?
Utilisez un lien à usage unique par facture : il est consommé après un paiement réussi. Par l'API, prenez le numéro de facture comme externalId, pour qu'une création rejouée renvoie le lien existant. Avant d'envoyer un lien de remplacement, annulez l'ancien, et annulez aussi le lien si le client a réglé par virement : un lien annulé ne peut plus être payé.
Un client peut-il régler une facture en espèces ?
Oui, sur un lien à usage unique créé avec « Paiement en agence », 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. Dès que le réseau confirme le dépôt, le lien passe « Payé » et vous êtes notifié dans le portail. Le montant est alors disponible sur votre compte de paiement, et la facture est réglée.
Mon client peut-il payer la facture par virement ?
Oui. Votre compte de paiement, tenu par Chari Money et ouvert au nom de votre entreprise, a un RIB à ce nom et reçoit des virements : vous pouvez l'indiquer sur vos factures. Il complète votre banque, il ne la remplace pas. Quand le virement arrive, rapprochez-le de la facture et annulez le lien correspondant, pour qu'il ne puisse plus être payé par carte.
Comment savoir quelle facture un paiement a réglée ?
Par votre metadata, par exemple invoiceNumber, renvoyé tel quel dans l'événement de paiement par carte et à chaque lecture du lien. Conservez aussi la reference du lien à côté de la facture dans votre outil. L'externalId se lit sur le lien, pas dans l'événement. L'export CSV reprend ensuite chaque paiement avec sa référence, son montant, ses frais et son net.
Prochaine étape
En mode test, ajoutez le lien ou son QR code au modèle de facture de votre outil, réglez une facture fictive avec la carte de test, puis vérifiez le rapprochement dans l'export : Commencer en mode test. Pour la phase qui précède la facture, voyez comment encaisser un acompte, et gardez la page des liens de paiement pour l'offre complète.
Écrit par Équipe ChariPay.