Reçus, factures et vérification
Chaque paiement réussi donne au client un reçu détaillé et une facture PDF. Les deux portent un QR code d'authentification : scanné avec n'importe quel téléphone, il ouvre une page publique de CashChap, sur cashchap.com/verifier/…, qui confirme ou non que le paiement a bien eu lieu. Vous, votre caissier ou un tiers pouvez ainsi contrôler un reçu présenté par un client, sans compte ni application.
Le reçu
Le reçu est construit par CashChap à partir de la transaction, une seule fois, et repris partout à l'identique : écran final du widget, d'un CashChap Link et d'un QR code, image téléchargée ou partagée par le client, reçu imprimable de la caisse, page de vérification, facture PDF et objet receipt de l'API v2.
| Rubrique | Contenu |
|---|---|
| Marchand | Logo et nom public de votre entreprise, nom du service, adresse, téléphone et e-mail professionnels (Compte › Entreprise). Sans logo, l'initiale du nom le remplace. |
| Paiement | Produit ou motif, montant demandé, frais, total payé (frais et arrondi au 5 F compris), moyen et opérateur (« MTN Mobile Money »). Les montants sont dans la devise de votre service au moment du paiement (« 25,00 EUR », « 0,68 EUR », « 25,68 EUR » pour un service en euros) : le payeur ne voit jamais le XOF prélevé par l'opérateur. Prix + frais = total, au centime près. |
| Payeur | Numéro complet, au format international sans « + », lu par groupes (« 229 01 66 00 00 00 »), nom et prénom (« Koffi Mensah ») et adresse e-mail du payeur quand il l'a donnée. Une donnée absente n'a pas de ligne. Sur la page publique de vérification seulement, numéro et nom sont masqués et l'e-mail n'apparaît pas. |
| Canal | Lien de paiement, QR code de la boutique, caisse (QR code) avec le nom de la caisse, caisse, terminal, site ou application du marchand. |
| Date | En toutes lettres, à l'heure de Porto-Novo, quel que soit le réglage du téléphone du client (« 12 octobre 2026 à 03 h 07 (heure de Porto-Novo) »). |
| Références | N° de reçu (12 caractères), référence CashChap (identifiant de la transaction), référence opérateur, et votre référence de commande si vous en avez donné une. |
| Mode | En Sandbox, la mention « Mode test : aucun argent réel n'a été débité » est toujours visible. |
| Authentification | Le QR code « Vérifier ce reçu », qui mène à la page de vérification. |
Le reçu complet n'est remis qu'au payeur (écran final de la page qui vient de payer, image téléchargée ou partagée, reçu imprimé de la caisse) et au marchand (portail, clé secrète, caisse). Pour une vente de caisse, l'e-mail du client n'est pas enregistré : le reçu n'a pas de ligne E-mail.
La référence opérateur est l'identifiant rendu par l'opérateur quand il en donne un ; sinon, c'est la référence que CashChap lui a transmise pour ce paiement. Les deux permettent au support de l'opérateur de retrouver l'opération.
La page de vérification
Le QR code d'authentification contient une adresse https://cashchap.com/verifier/<code>. Le code est signé par CashChap : il ne se devine pas, et un seul caractère modifié le rend invalide. La page affiche l'un de ces états, en français, sans connexion :
| Titre affiché | Message | Cas |
|---|---|---|
| Paiement authentique | Ce reçu correspond à un paiement réel enregistré par CashChap. Comparez les informations ci-dessous avec celles du reçu que l'on vous présente. | Paiement Live réussi. |
| Paiement de test | Ce reçu correspond à un paiement fait en mode test (Sandbox) : aucun argent réel n'a été débité ni versé au marchand. Il ne prouve aucun paiement. | Paiement Sandbox réussi. |
| Reçu introuvable | Aucun paiement CashChap ne correspond à ce QR code. Le reçu a peut-être été modifié ou falsifié : ne le considérez pas comme une preuve de paiement. | Code modifié, inventé ou d'un autre mode ; paiement échoué, en attente ou annulé. La page ne dit pas lequel. |
| Trop de vérifications | Vous avez fait trop de vérifications en peu de temps. Patientez une minute puis réessayez. | Plus de 20 vérifications par minute, ou de 200 par heure, depuis la même adresse. |
| Vérification momentanément indisponible | La vérification ne peut pas être faite pour le moment. Réessayez dans quelques instants. | Incident passager chez CashChap. |
Pour un paiement authentique ou de test, la page reprend le détail du reçu : marchand et coordonnées, produit, montant, frais, total payé (dans la devise du service au moment du paiement, comme le reçu), moyen de paiement, numéro et nom du payeur masqués, canal, date de Porto-Novo, n° de reçu, références et mode (« Live (paiement réel) » ou « Sandbox (test, sans argent réel) »). Un paiement remboursé l'indique : « Ce paiement a été remboursé au payeur. »
Contrôler un reçu présenté par un client
- Scannez le QR code du reçu (image, capture d'écran, reçu imprimé ou facture) avec l'appareil photo d'un téléphone.
- Vérifiez que la page ouverte est bien sur cashchap.com (barre d'adresse) : un faux reçu peut porter un QR code menant à une fausse page.
- Lisez le titre : seul Paiement authentique prouve un paiement réel. « Paiement de test » ne vaut rien ; « Reçu introuvable » signale un reçu modifié ou inventé.
- Comparez le marchand, le montant, le total payé, la date et le n° de reçu avec le reçu présenté et avec votre commande.
Pour votre propre comptabilité, le paiement fait foi dans le portail (Paiements) ou par webhook ; la page de vérification sert à contrôler un reçu sans accès à votre compte.
Confidentialité et protections
- Le code ne contient aucune donnée lisible : il désigne la transaction et son mode, et sa signature est contrôlée par CashChap. Un code Sandbox ne donne jamais un paiement Live, et inversement.
- La page n'affiche ni l'adresse e-mail du payeur, ni son numéro complet, ni son nom complet. Elle n'est pas indexée par les moteurs de recherche et n'est pas mise en cache.
- Limitation de débit : 20 vérifications par minute et 200 par heure par adresse, pour empêcher l'essai de codes en masse.
- Chaque vérification est inscrite dans un journal tenu par CashChap 180 jours (résultat, début du code, transaction), avec une empreinte de l'adresse IP, jamais l'adresse elle-même.
- Le QR code reste valable sans limite de durée : un reçu doit pouvoir être contrôlé longtemps après le paiement.
La facture PDF
Tout paiement réussi a sa facture PDF, d'une page A4 : numéro de facture (CS suivi de dix chiffres en Live, TS en mode test) et n° de reçu, date et heure de Porto-Novo, logo et coordonnées du marchand, payeur (nom et prénom, numéro complet sans « + », e-mail s'il existe), désignation (produit ou motif), frais de paiement, total payé, moyen de paiement, canal (et caissier pour une vente de caisse), références, statut (« Paiement réussi », ou « Paiement réussi, puis remboursé ») et le QR code d'authentification. En mode test, un bandeau « MODE TEST (Sandbox) : aucun argent réel n'a été débité. Ce document ne prouve aucun paiement. » est en tête. Les montants s'affichent avec leurs séparateurs, dans la devise du service au moment du paiement (« 15 255 XOF » ; « 25,68 EUR » pour un service en euros) : la facture du client ne montre jamais le XOF prélevé par l'opérateur.
- Pour le client : bouton Télécharger la facture de l'écran final (widget, CashChap Link, QR codes) et QR code de la facture, à scanner pour la télécharger sur son téléphone quand il a payé depuis un ordinateur ; lien de facture de l'e-mail de reçu.
- Pour vous : bouton de facture du détail d'un paiement, dans le portail (mode affiché, Live ou Sandbox).
- L'adresse de la facture est signée (
https://cashchap.com/facture/<code>, champinvoice_urldu reçu complet de l'API) et distincte de celle de la vérification : un code de vérification n'ouvre pas la facture. Elle est limitée à 20 téléchargements par minute et par adresse. - Pas de facture pour un paiement échoué, en attente, expiré ou annulé : l'adresse répond « page introuvable ».
- La facture porte les coordonnées complètes du payeur : elle n'est donnée qu'au payeur (écran de succès de la page qui a payé, lien de l'e-mail) et au marchand (portail, clé secrète). Ni la page de vérification ni le reçu public d'un lien ne donnent son adresse, et son QR code n'est pas dessiné sur l'image du reçu que le client partage.
Dans l'API v2
GET /v2/transactions/{id}/receipt rend le reçu (JSON, ou texte de 32 ou 48 colonnes pour une imprimante de caisse, terminé par l'adresse de vérification). Ses champs verify_url et invoice_url donnent les deux adresses signées : imprimez verify_url en QR code sur vos propres tickets. Avec votre clé secrète, le reçu est complet ; avec la clé publique, il ne l'est qu'avec le jeton du payeur (receipt_token, rendu à la création du paiement). Détail dans API v2 › Reçu complet ou masqué.