# Tessera — vendre un accès en ligne depuis votre site (PEREL) · v0.1.0

Un bouton « Acheter » sur votre site → une page d'achat → le paiement → une commande et une facture payée dans Dolibarr → l'accès livré par e-mail. Sans boutique en ligne à installer.

## Le parcours de l'acheteur

1. Il clique sur « Acheter » sur votre site et arrive sur la **page d'achat** de l'offre : quantité, nom, e-mail, « Pour qui ? » (si l'offre le demande), CGV, accord pour l'accès immédiat.
2. Tessera retrouve son tiers par l'e-mail (ou le crée comme particulier) et crée une **commande validée**.
3. Il paie :
   - **Paiement en ligne Dolibarr** (réglage par défaut) : la page de paiement de Dolibarr (module Stripe ou PayPal). Dolibarr crée la facture, la valide et enregistre le règlement.
   - **Stripe direct** : la page Stripe Checkout (codes promo possibles). Tessera crée la facture, le règlement et l'écriture bancaire au retour ou par webhook.
4. Il arrive sur sa **page d'achat** (codes, liens, téléchargements, facture) et reçoit l'**e-mail de livraison** : l'accès, la confirmation de commande (vendeur, prix, accord pour l'exécution immédiate), la facture en pièce jointe. Le lien de l'e-mail ramène à sa page à tout moment.

## Ce qu'on peut vendre (livraisons)

- **Lien web** : formation, vidéo, espace membre… `{email}`, `{ref}` et `{token}` sont remplacés dans l'adresse.
- **Fichier à télécharger** : joint à l'e-mail jusqu'à 8 Mo, toujours téléchargeable depuis la page de l'acheteur.
- **Enquête Ludus** (si le module Ludus est activé) : un code de jeu par exemplaire, avec sa convocation PDF.

Un autre module peut ajouter sa livraison : fichier `/<module>/class/TesseraProvider<Module>.class.php`, classe qui étend `TesseraProvider`. Elle n'apparaît que si ce module est activé.

## Installation

1. Configuration → Modules → **Déployer/installer un module externe** → envoyer `module_tessera-0.1.0.zip`.
2. Activer **Tessera** (active aussi Tiers, Commandes, Factures et Services s'ils ne le sont pas).
3. Pour le paiement en ligne Dolibarr : activer et configurer le module **Stripe** de Dolibarr (clés, compte bancaire des règlements).
4. Tessera → Configuration : lien des CGV, mentions légales, couleur, expéditeur des e-mails.
5. Créer un **produit ou service** Dolibarr (prix TTC, TVA), puis Tessera → Offres → **Nouvelle offre** : le produit + ce que reçoit l'acheteur.
6. Sur la fiche de l'offre, copier l'adresse de la page d'achat (ou le bouton HTML) dans votre site.

## Tester

- Stripe en mode test, carte `4242 4242 4242 4242`, date future, n'importe quel CVC.
- Vérifier : commande « Facturée », facture « Payée », règlement en banque, e-mail reçu avec la facture, codes ou fichier sur la page de l'acheteur.

## Suivi (Tessera → Ventes en ligne)

- Indicateurs : ventes payées, chiffre d'affaires, ventes en attente, e-mails non partis.
- Actions : renvoyer l'e-mail, livrer une vente payée autrement (virement…), annuler une vente en attente (la commande est annulée).
- Un règlement saisi à la main sur la facture d'une vente déclenche aussi la livraison.

## Points techniques

- Pages publiques : `public/buy.php?o=<réf>`, `public/thanks.php?t=<jeton>`, `public/stripe_webhook.php` (mode Stripe direct). Multisociété : `&entity=N`.
- Déclencheurs : `PAYMENTONLINE_PAYMENT_OK` (commande payée en ligne → livraison, puis renvoi de l'acheteur vers sa page) et `BILL_PAYED` (facture soldée → livraison).
- Chaque étape passe par un changement de statut atomique : retour de l'acheteur, webhook et déclencheurs peuvent arriver dans n'importe quel ordre sans double facture ni double livraison.
- Limitation des tentatives sur la page d'achat (15 par heure et par adresse IP) et champ piège anti-robot.
