# ChariPay

> ChariPay est la plateforme de paiement (PSP) marocaine de l'écosystème Chari. Elle permet aux commerçants d'encaisser par carte (3-D Secure) ou en espèces en agence — via des liens de paiement, un checkout hébergé, une vitrine e-commerce ou des abonnements. Chaque paiement réussi crédite **instantanément** le compte de paiement du marchand — un compte de paiement tenu par Chari Money, établissement de paiement agréé par Bank Al-Maghrib, avec un RIB au nom du marchand : l'argent y est disponible tout de suite, sans attente de règlement, et sert à faire des virements bancaires, payer des factures, recharger des lignes télécom ; le versement vers le compte bancaire externe est une opération distincte — automatique chaque nuit dès qu'un compte de règlement est configuré, ou par virement à la demande. ChariPay est la seule passerelle de paiement au Maroc à encaisser aussi les espèces en agence. Une API REST et une sandbox self-serve sont proposées aux développeurs, et un espace distribution aux partenaires gérant des sous-marchands.

Langues du site : français (source), anglais, arabe. Préfixe d'URL par langue : /fr, /en, /ar.

## Produits

- [Liens de paiement](https://charipay.ma/fr/liens-de-paiement) : encaisser sans site web — lien, QR code, affiche PDF, envoi e-mail/WhatsApp, paiement carte ou espèces en agence.
- [Paiement en ligne](https://charipay.ma/fr/paiement-en-ligne) : sessions de paiement, checkout hébergé avec 3-D Secure, vitrine e-commerce hébergée, remboursements.
- [Abonnements](https://charipay.ma/fr/abonnements) : paiements récurrents avec consentement explicite, avis de pré-prélèvement et relances automatiques.
- [Wallet & versements](https://charipay.ma/fr/wallet-et-versements) : compte de paiement crédité à l'instant de chaque encaissement — virements bancaires (devis des frais, code à usage unique si activé, délai de sécurité de 24 h pour un nouveau bénéficiaire), paiement de factures, recharges télécom par l'API, RIB dédié avec attestation PDF, exports comptables, et versements vers la banque — automatiques chaque nuit dès qu'un compte de règlement est configuré, ou par virement à la demande.
- [Distribution](https://charipay.ma/fr/distribution) : gestion d'un parc de sous-marchands — KYC, plafonds, collecte automatique, reversements à double validation.

## Développeurs

- [API & documentation](https://charipay.ma/fr/developpeurs) : API REST avec idempotence, erreurs explicites, rate limiting annoncé sur les endpoints publics et webhooks signés HMAC ; sandbox **self-serve** — inscription en ligne, activation par e-mail, clé d'API créée par le marchand depuis le portail, sans e-mail au support.

## Entreprise

- [Tarification](https://charipay.ma/fr/tarification) : sandbox gratuite, mise en service 6 000 MAD TTC réglée une seule fois, commission par transaction réussie définie — comme la caution — après étude du dossier ; contact commercial pour une proposition chiffrée.
- [Sécurité & conformité](https://charipay.ma/fr/securite) : comptabilité en partie double, double validation (four-eyes), journal d'audit chaîné, authentification forte, KYB systématique, paiements idempotents, virements protégés par code à usage unique et délai de 24 heures pour tout nouveau bénéficiaire.
- [À propos](https://charipay.ma/fr/a-propos) : mission et ancrage marocain de ChariPay.
- [FAQ](https://charipay.ma/fr/faq) : questions fréquentes (méthodes de paiement, disponibilité de l'argent, sandbox, go-live, versements, sécurité).
- [Contact](https://charipay.ma/fr/contact) : formulaire, e-mail info@charipay.ma, téléphone +212 632 646 464, WhatsApp.
- [Mentions légales](https://charipay.ma/fr/mentions-legales) : édité par Chari Money, établissement de paiement agréé par Bank Al-Maghrib ; plateforme certifiée PCI DSS niveau 1.

## Documentation API (référence publique)

- [Sommaire](https://charipay.ma/fr/api-docs) : 12 modules, 62 endpoints, environnements sandbox et production, carte de test, guides d'intégration, ressources téléchargeables, table des erreurs, glossaire.
- Une page par module : [payment-links](https://charipay.ma/fr/api-docs/payment-links), [checkout-sessions](https://charipay.ma/fr/api-docs/checkout-sessions), [checkout-direct](https://charipay.ma/fr/api-docs/checkout-direct), [transactions](https://charipay.ma/fr/api-docs/transactions), [refunds](https://charipay.ma/fr/api-docs/refunds), [wallet](https://charipay.ma/fr/api-docs/wallet), [clients](https://charipay.ma/fr/api-docs/clients), [products](https://charipay.ma/fr/api-docs/products), [subscriptions](https://charipay.ma/fr/api-docs/subscriptions), [webhooks](https://charipay.ma/fr/api-docs/webhooks), [webhook-endpoints](https://charipay.ma/fr/api-docs/webhook-endpoints), [analytics](https://charipay.ma/fr/api-docs/analytics).

## Ressources téléchargeables

- [Collection Postman](https://charipay.ma/downloads/chari-pay-api.postman_collection.json) : les 62 endpoints prêts à exécuter, précédés des huit requêtes qui mènent de rien à une clé d'API sandbox.
- [Spécification OpenAPI](https://charipay.ma/downloads/charipay-openapi.json) : le contrat dont la référence du site est générée.
- [Pack LLM (.zip)](https://charipay.ma/downloads/charipay-llm-pack.zip) : un Markdown par module, les guides authentification / webhooks / erreurs, la carte de test, la spécification et ce fichier — de quoi intégrer l'API hors ligne.

## Repères techniques de l'API

- **Base d'URL unique** : `https://api-psp.charipay.ma` — sandbox et production partagent le même host. **C'est la clé qui décide de l'environnement** (`chari_sk_test_…` / `chari_sk_live_…`), pas l'URL. Tant que la production n'est pas activée sur le compte, une clé de production renvoie `403 PRODUCTION_ACCESS_NOT_ENABLED`.
- **Authentification** : en-tête `X-CHARI-PAY-API-KEY`. Les endpoints `/checkout/*` font exception : ils sont portés par la session et sa clé de vérification à usage unique.
- **Carte de test sandbox** : PAN `4918 9141 0719 5005`, CVV `123`, expiration à toute date future, code 3-D Secure `555`. C'est le **seul** PAN accepté — tout autre numéro est rejeté en amont avec un `502 BAAS_CHARI_ERROR` générique.
- **Montants** en MAD, unités majeures (`149.90` = 149,90 dirhams). Horodatages ISO-8601 UTC. Pagination `page` (à partir de zéro) + `size`.
- **Idempotence** : en-tête `Idempotency-Key` contre le retry réseau, champ `externalId` contre la ré-émission métier (un `externalId` existant renvoie la ressource en `200` au lieu d'un `201`). Les remboursements utilisent `refundReference`, déterministe.
- **Erreurs** : enveloppe `{ "error": { "code", "message" }, "correlationId" }`. Brancher sur `code`, montrer `message`, citer `correlationId` au support.
- **Webhooks** : `X-CHARI-SIGNATURE` = HMAC-SHA256 hexadécimal sur `horodatage + "." + corps brut`, horodatage epoch en millisecondes dans `X-CHARI-TIMESTAMP`, fenêtre anti-rejeu ±5 minutes, comparaison en temps constant, `X-CHARI-SIGNATURE-NEXT` pendant une rotation de secret. **Dédupliquer sur `Chari-Event-Id`** (et non `Chari-Webhook-Id`, qui change à chaque tentative). URL de réception en HTTPS public port 443 obligatoire.

## Blog

- [Blog](https://charipay.ma/fr/blog) : guides d'intégration et de gestion — webhooks, idempotence, 3-D Secure, rapprochement comptable, encaissement en espèces par référence, protection des clés d'API, passage en production, choix d'un PSP au Maroc, checklist comptable. Douze articles (dont encaisser sur Shopify et sur WooCommerce au Maroc), en français, anglais et arabe.
  - [Encaisser sur Shopify au Maroc](https://charipay.ma/fr/blog/encaisser-sur-shopify-au-maroc)
  - [Encaisser sur WooCommerce au Maroc](https://charipay.ma/fr/blog/encaisser-sur-woocommerce-au-maroc)
  - [Encaisser en ligne : la checklist comptable](https://charipay.ma/fr/blog/encaissement-checklist-comptable)
  - [Choisir son PSP au Maroc : les bonnes questions](https://charipay.ma/fr/blog/choisir-son-psp-au-maroc)
  - [Lien de paiement ou checkout : lequel choisir](https://charipay.ma/fr/blog/lien-de-paiement-ou-checkout)
  - [L'idempotence : ne facturez jamais deux fois](https://charipay.ma/fr/blog/idempotence-paiements)
  - [Réussir son intégration des webhooks](https://charipay.ma/fr/blog/reussir-integration-webhooks)
  - [Rapprocher ses encaissements avec sa comptabilité](https://charipay.ma/fr/blog/rapprocher-ses-encaissements)
  - [Encaisser en espèces : le paiement par référence](https://charipay.ma/fr/blog/encaisser-en-especes-sans-caisse)
  - [3-D Secure : ce qui fait échouer un paiement](https://charipay.ma/fr/blog/3d-secure-et-taux-de-reussite)
  - [Protéger ses clés d'API](https://charipay.ma/fr/blog/proteger-ses-cles-api)
  - [Sandbox → production : la liste avant de basculer](https://charipay.ma/fr/blog/de-la-sandbox-a-la-production)
