# Intégration ElykiasPay — Malewa ERP (PHP pur)

Kit à copier dans Malewa ERP pour encaisser par Mobile Money via la passerelle.

## Fichiers
- **ElykiasPayClient.php** — la classe cliente (signature HMAC + appels API). Rien à modifier.
- **exemple-paiement.php** — comment initier un paiement et lire son statut.
- **webhook-elykiaspay.php** — reçoit la notification quand un paiement est finalisé.

## Mise en place (3 étapes)

1. **Copier** ces fichiers dans Malewa. Renseigner l'**API Key** et l'**API Secret**
   de l'app « Malewa ERP » (obtenus lors de la création des apps) — idéalement dans
   la config de Malewa, pas en dur dans le code.

2. **Encaisser** : appeler `createPayment()` (voir `exemple-paiement.php`) au moment
   où le client paie une facture. Stocker l'`id` renvoyé dans la facture.

3. **Être notifié** : déposer `webhook-elykiaspay.php` à une URL publique HTTPS
   (ex. `https://malewa.exemple/webhook-elykiaspay.php`) et la déclarer comme
   `webhook_url` de l'app Malewa. Dès qu'un paiement aboutit, la passerelle
   appelle ce fichier → Malewa marque la facture payée automatiquement.

## Deux façons de connaître le résultat
- **Webhook** (recommandé) : notification instantanée → `webhook-elykiaspay.php`.
- **Polling** : appeler `getPayment($id)` de temps en temps (filet de secours).

## Bon à savoir
- Statuts possibles : `pending` (en attente du code PIN client) · `success` · `failed`.
- La passerelle tourne actuellement en **mode simulé** (driver `fake`) : vous pouvez
  **tester de bout en bout dès maintenant**. Astuce test : mettre le mot « fail » dans
  la description force un échec. Quand MTN sera branché, **aucun changement** ici.
- Toujours passer une **clé d'idempotence** (ex. la référence de facture) à
  `createPayment()` pour éviter les doubles débits en cas de coupure réseau.
