> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lekalao.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mode service en ligne

> Ouvrir les inscriptions, vendre des formules et héberger plusieurs clients.

Par défaut, seule la première personne peut créer un compte ; les autres sont invitées. Pour proposer Lekalao en ligne à des clients, ouvrez les inscriptions et activez la facturation.

## Avant d'ouvrir

<Steps>
  <Step title="Interdire d'écrire au nom des autres">
    ```dotenv .env theme={null}
    LEKALAO_REQUIRE_VERIFIED_DOMAIN=true
    ```

    Voir [Sécurité](/fr/self-hosting/security#qui-peut-ecrire-au-nom-de-qui).
  </Step>

  <Step title="Créer les formules">
    ```bash theme={null}
    php artisan db:seed --class=PlanSeeder
    ```

    | Formule       | Clé       | Prix par mois | Abonnés  | E-mails par mois |
    | ------------- | --------- | ------------- | -------- | ---------------- |
    | Découverte    | `free`    | 0             | 500      | 2 000            |
    | Essentiel     | `starter` | 15 000 FCFA   | 5 000    | 50 000           |
    | Professionnel | `pro`     | 45 000 FCFA   | 25 000   | 300 000          |
    | Grand volume  | `scale`   | 150 000 FCFA  | illimité | 2 000 000        |

    Modifiez-les ensuite dans la table `plans` selon votre offre.
  </Step>

  <Step title="Brancher les paiements">
    Voir ci-dessous.
  </Step>

  <Step title="Ouvrir les inscriptions">
    ```dotenv .env theme={null}
    LEKALAO_SIGNUP_ENABLED=true
    LEKALAO_SIGNUP_PLAN=starter
    LEKALAO_SIGNUP_TRIAL_DAYS=0
    ```

    Chaque inscription crée sa propre équipe sur la formule `LEKALAO_SIGNUP_PLAN`. `LEKALAO_SIGNUP_TRIAL_DAYS` impose une durée d'essai ; `0` laisse celle de la formule. Les inscriptions sont limitées à 5 par heure par adresse IP.
  </Step>
</Steps>

## Facturation

```dotenv .env theme={null}
LEKALAO_BILLING_ENABLED=true
LEKALAO_BILLING_CURRENCY=XAF
LEKALAO_BILLING_GRACE_DAYS=7
LEKALAO_BILLING_GATEWAY=wajub
```

Avec la facturation active, les limites de chaque formule s'appliquent (abonnés, e-mails par mois), et l'envoi s'arrête `LEKALAO_BILLING_GRACE_DAYS` jours après la fin d'une période impayée. Les équipes voient tout dans **Paramètres → Facturation** ([Facturation](/fr/account/billing)).

### Wajub

```dotenv .env theme={null}
WAJUB_SECRET_KEY=sk_live_…
WAJUB_WEBHOOK_SECRET=whsec_…
```

Chez Wajub, déclarez l'adresse de notification :

```
https://lekalao.example.com/webhooks/billing
```

Un paiement réussi prolonge la période à partir de la fin de la précédente : payer en avance ne fait perdre aucun jour.

### Manuel

`LEKALAO_BILLING_GATEWAY=manual` n'encaisse rien en ligne : les paiements restent **En attente de paiement**. Après un virement, marquez le paiement payé :

```bash theme={null}
php artisan tinker --execute="app(App\Domain\Billing\Actions\ApplyPaymentAction::class)->execute(App\Domain\Billing\Models\Payment::acrossTeams()->whereKey('…')->sole(), App\Domain\Billing\Enums\PaymentStatus::Paid);"
```

Pour une autre passerelle, voir [Étendre Lekalao](/fr/self-hosting/extending#une-passerelle-de-paiement).

## Isolement

Les équipes ne partagent rien : listes, abonnés, campagnes, modèles, médias, fournisseurs, domaines, jetons, webhooks et réglages sont propres à chacune. Un fournisseur d'envoi créé sans équipe, par la plateforme, est partagé par toutes.
