# Proxy ClicToPay — déploiement sur OVH Web Cloud

Ce dossier contient un proxy PHP qui permet au site Next.js (sur VPS) d'utiliser
ClicToPay sans avoir l'IP du VPS dans la whitelist Monétique Tunisie.

L'ancien serveur OVH Web Cloud (188.165.5.107) a son IP whitelisted depuis 4 ans,
donc on relaye les appels via ce proxy.

## Installation

1. **Upload via FTP** : copie ce dossier entier vers `agora2026/clictopay-proxy/`
   sur le serveur OVH Web Cloud (188.165.5.107).

2. **Permissions** :
   ```
   chmod 755 clictopay-proxy/
   chmod 644 clictopay-proxy/*.php
   chmod 600 clictopay-proxy/config.php
   ```

3. **Configure `config.php`** :
   - Récupère `CLICTOPAY_USERNAME` et `CLICTOPAY_PASSWORD` depuis l'admin WordPress
     du site actuel (WooCommerce → Réglages → Paiements → Carte de crédit ClicToPay).
   - Génère `CLICTOPAY_PROXY_TOKEN` :
     ```bash
     php -r "echo bin2hex(random_bytes(32));"
     ```
     → copie la chaîne dans `config.php` ET dans `.env.local` du VPS Next.js
     sous le nom `CLICTOPAY_PROXY_TOKEN`.
   - Si tu veux tester d'abord en sandbox, mets `CLICTOPAY_MODE = 'test'`.

4. **Crée le dossier logs/** (le PHP le créera automatiquement à la 1ère
   transaction, mais tu peux le faire à la main pour éviter les pb de perm) :
   ```
   mkdir clictopay-proxy/logs
   chmod 755 clictopay-proxy/logs
   ```

5. **Test rapide** depuis ton terminal :
   ```bash
   # Doit renvoyer 401 Unauthorized (pas de token)
   curl https://lagoradjerba.tn/clictopay-proxy/status.php?orderId=test

   # Doit renvoyer une réponse ClicToPay (avec le bon token)
   curl -H "X-Auth-Token: TON_TOKEN" \
        https://lagoradjerba.tn/clictopay-proxy/status.php?orderId=xxx
   ```

## Endpoints

| Méthode | URL | Description |
|---|---|---|
| POST | `/clictopay-proxy/init.php` | Initie un paiement → renvoie `formUrl` |
| GET  | `/clictopay-proxy/status.php?orderId=X` | Vérifie le statut d'une transaction |
| GET  | `/clictopay-proxy/return.php?orderId=X&reservation_id=Y` | Reçoit le redirect ClicToPay, forward au Next.js |

## Sécurité

- Tous les endpoints exigent le header `X-Auth-Token` (sauf `return.php` qui est appelé par le browser après paiement)
- `config.php` n'est jamais accessible publiquement (`.htaccess`)
- Les logs sont dans `logs/YYYY-MM-DD.log` (protégés du browsing)
- HTTPS forcé via `.htaccess`

## Maintenance

- Les logs s'accumulent → faire un nettoyage manuel périodique (`logs/*.log` > 30 jours)
- Si Monétique change l'API ClicToPay, modifier `lib/ClicToPay.php`
