Accueil
NexoPOS

Plateforme et paramètres

Toute la configuration des produits se trouve sous Admin → Paramètres (stockée dans platform_settings).

Modifier les clés ici ne nécessite pas de recréer des conteneurs Docker. Chemin : /dashboard/admin/settings (requête de groupe, par ex. ?group=payments).

settings

Espace réservé de capture d’écran : Admin → Paramètres shell avec des groupes à gauche/verticaux

Les éléments uniquement d’infrastructure (DB, Redis, APP_URL, agent hôte) restent dans .env — voir 01.

SMTP

Nécessaire pour une plateforme de type production : vérification, réinitialisation du mot de passe, facturation, résultats de déploiement, notifications de remboursement.

Field Purpose
Host / Port e.g. smtp.mailgun.org / 587
Username / Password Provider credentials (password encrypted)
Encryption tls, ssl, or empty
From address / name Outbound identity
Admin alert emails Comma-separated ops alert recipients

Si le serveur SMTP est vide, l’application peut se rabattre sur le gestionnaire .env (souvent dans Docker — les messages vont aux journaux, pas aux boîtes de réception).

Comment tester : configurer SMTP → ouvrir un utilisateur non vérifié → renvoyer la vérification → confirmer la boîte de réception.

smtp-configuration

GitHub

Permettait de récupérer les versions principales de NexoPOS et les sources des modules depuis GitHub.

Field Purpose
Personal access token Required for private repos (and higher rate limits)
NexoPOS repository owner/name (default open-source NexoPOS)
Visibility public or private
Install channel latest or pinned
Pinned version / ref Used when channel is pinned
Release cache hours Scheduler refresh interval (min 1h); manual refresh still allowed

NexoPOS public : le jeton est facultatif pour les limites de débit publiques, mais reste recommandé. Forks privés / modules privés : créez un PAT finement granulaire ou classique avec repo (ou lecture du contenu) et enregistrez-le ici.

Les versions des modules peuvent également être téléchargées sous forme de fichier ZIP sans GitHub.

github-configuration

Facturation (Paiements)

Un seul passerelle est active pour les frais de paiement et ceux de la phase intermédiaire.

Provider Status Notes
Stripe Implemented Cards + Checkout; best default
Paddle Implemented Merchant of Record / Billing API
Mollie Implemented EU methods; first payment + recurring
Airwallex Credentials only Not selectable until a driver ships
Fake Tests only Never production; launch-check rejects

Configurer Stripe (exemple)

  1. Passerelle de paiement active → Stripe.
  2. Clé publiable, clé secrète, secret de webhook.
  3. Point de terminaison du webhook de production : https://{APP_HOST}/webhooks/stripeEvents : checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.deleted (et tout autre événement supplémentaire que votre pilote attend).
  4. Test local : Stripe CLI → voir 

Paddle et Mollie suivent le même schéma (clé API + secret de webhook ; Paddle dispose également d’un environnement sandbox/production).

Espace réservé de capture d’écran : Admin → Paramètres → Paiements — pilote actif + Stripe

billing-settings

Les installations héritées en mode uniquement environnement peuvent importer une fois :

php artisan platform:import-env-settings

Supprimez ensuite les secrets du produit de .env.

Image de marque

Field Purpose
App name Sidebar, titles, marketing
Logo (light / dark) Theme-aware logos
Favicon Browser tab
branding

Date et heure

Contrôle la façon dont les dates apparaissent dans l’interface utilisateur du plan de contrôle et dans les e-mails (pas l’ISO brut dans Vue).

Field Examples
Timezone IANA, e.g. UTC, Africa/Douala, Europe/Paris
Date format Y-m-d, d/m/Y, m/d/Y, d M Y
Time format 24h or 12h

Stocké dans les préférences de la plateforme et partagé via les props de plateforme d’Inertia.

date-and-settings

Page générale et suspension

Général

Field Purpose
Support email Public contact; used on suspension page when enabled
Support phone / hours Optional contact details
Two factor available Allow customers to enable 2FA
general-contact

Déploiements (limites + page hors ligne)

Field Purpose
Default max installations Applied to new personal orgs
Default max seats Applied to new personal orgs
Show suspension reason Offline/suspended tenant page
Show support email / phone / hours Same offline page

Lorsqu’une installation est suspendue (échec du paiement, CGU, parcours de remboursement, etc.), les visiteurs voient la page « plateforme suspendue ». Ces bascules contrôlent les informations de contact et le texte de la raison qui s’affichent.

Espace réservé de capture d’écran : Admin → Paramètres → Déploiements / bascules de suspension

suspension-page

S3 et sauvegardes

Les sauvegardes sont uniquement un stockage compatible S3 appartenant à l’entreprise (sans Drive/OneDrive client dans le MVP).

Groupe S3

Field Purpose
Key / Secret Access credentials (encrypted)
Region / Bucket Destination
Endpoint Empty for AWS; set for MinIO, R2, etc.
Path-style Provider-specific

L’Admin S3 incomplet ne revient pas silencieusement au disque local pour les écritures de sauvegarde réelles. Utilisez l’action de stockage de test Admin lorsqu’elle est disponible.

backup

Groupe de sauvegardes

Field Purpose / default
Platform automatic backups Progressive wave for installs with the Backups add-on
Schedule cron (UTC) e.g. 0 3 * * *
Concurrency 1–5 installs at a time
Keep last N Retention of succeeded backups per install (default 3)

Les clients ne peuvent pas définir leur propre calendrier de sauvegarde ; ils bénéficient de sauvegardes manuelles + de sauvegardes automatiques de la plateforme lorsqu’ils y ont droit.

Catalogue : publiez une extension avec des sauvegardes de clé de fonctionnalité.

backup-schedule

Domaine

Field Purpose
Platform base domain Suffix for free install hostnames
Custom domain mode free / addon / disabled
Public IPv4 / IPv6 Shown on customer Domain tab for DNS
Max verified domain changes / day Per install; LE rate protection

Lorsque le mode est « addon », les clients doivent disposer d’une option « Domaine personnalisé » active (feature_key = custom_domain) avant de rattacher un nom d’hôte.

Rétention de facturation

Field Default Meaning
Grace period (days) 3 After trial/period end: install stays online with renewal banner, then suspend
Soft-delete retention (days) 30 After soft-delete (cancel path, etc.) before hard purge
Refund hard-delete (days) 7 After approved refund soft-delete before hard purge

Le cycle de vie est piloté par la facturation planifiée : billing:process-lifecycle (service de planification Compose).

Notifications

Field Purpose
Email footer Appended to outbound mail
Support URL Link in emails / help surfaces

Ordre des paramètres pour une nouvelle plateforme

  1. Domaine — domaine de base + adresse IP publique
  2. SMTP — vrai courrier
  3. Paiements — Stripe (ou Paddle/Mollie) + webhooks
  4. GitHub — accès aux modules principaux
  5. S3 + sauvegardes — si vous vendez un module de sauvegarde
  6. Image de marque + date et heure — polonais
  7. Déploiements / général — limites + page de suspension
  8. Conservation de la facturation — fenêtres de grâce et de suppression

Ensuite, exécutez `php artisan platform:launch-check`.