Catalogo
Crea il catalogo prodotti: moduli (versioni/rilasci), componenti aggiuntivi (funzionalità della piattaforma) e bundle (piani che i clienti acquistano).
Percorsi di amministrazione:
- Admin → Moduli
- Admin → Componenti aggiuntivi
- Admin → Pacchetti
Moduli (dal modulo al rilascio)
Un modulo è un’estensione di NexoPOS che la piattaforma può installare su installazioni autorizzate. Ogni modulo ha una o più versioni (rilasci).
Crea un modulo
- Admin → Moduli → Crea.
- Imposta nome, slug, descrizione.
- Opzionale: repository GitHub predefinito + visibilità per le versioni.
- Stato: disponibile / non disponibile; consenti aggiornamenti quando non disponibile determina se le installazioni esistenti possono ancora aggiornarsi.
Pubblica una versione (rilascio)
Apri il modulo → aggiungi versione:
| Source | Fields |
|---|---|
| GitHub | Repo owner/name, ref/tag (e.g. v1.2.0), visibility; platform token used if private |
| ZIP | Upload package (size limit enforced server-side, e.g. 50MB) |
Contrassegna la versione pubblicata in modo che possa essere selezionata per installazioni/aggiornamenti.
Flusso di lavoro:
Create module
→ Add version (GitHub ref or ZIP)
→ Publish version
→ Attach module to one or more bundles
→ Customer installs/updates from entitled bundle
Segnaposto screenshot: pagina di visualizzazione del modulo con elenco delle versioni e azione Pubblica
Consigli
- Preferisci tag semver come github_ref per la riproducibilità.
- I repository di moduli privati richiedono un PAT GitHub valido da Admin.
- Il canale Core NexoPOS (latest/pinned) è separato in Impostazioni → GitHub.
Componenti aggiuntivi
I componenti aggiuntivi sono diritti a pagamento opzionali su un’installazione (non a livello di organizzazione). Oggi sono collegate solo due chiavi di funzionalità della piattaforma:
| Feature (UI) | feature_key | Unlocks |
|---|---|---|
| Custom domain | custom_domain | Domain tab attach/verify when Domain mode is addon |
| Backups | backups | Backup tab + scheduled platform backups |
Crea un componente aggiuntivo
- Admin → Componenti aggiuntivi → Crea.
- Caratteristica — seleziona dal menu a discesa (non testo libero). Scegliere la chiave sbagliata significa che l’interfaccia non si sbloccherà mai.
- Nome, descrizione, prezzo (centesimi), valuta, intervallo di fatturazione (mensile / annuale / una tantum).
- Disponibilità — ad es. pubblicata (acquistabile), nascosta, ecc.
- Salva.
Interazione in modalità dominio
| Admin Domain custom_domain_mode | Customer experience |
|---|---|
| free | Custom domain without purchasing the add-on |
| addon | Must purchase Custom domain add-on (or already entitled) |
| disabled | Domain attach not offered |
Interazione dei backup
- Richiede l’add-on di backup pubblicato + un diritto attivo durante l’installazione.
- Archiviazione e pianificazione provengono da Impostazioni → S3 / Backup, non solo dal prezzo dell’add-on.
Pacchetti (piani)
Un pacchetto è ciò a cui i clienti si abbonano per ogni installazione. Include:
- Prezzi (prova / introduttivo / ricorrente)
- Limiti delle risorse (disco, etichetta/condivisione CPU)
- Moduli inclusi
- Funzionalità di marketing / badge
- Disponibilità (pubblicata, ecc.)
Campi di prezzo spiegati
| Field | Meaning |
|---|---|
| Trial days (trial_days) | Free trial length on first checkout of a new install. No paid “full price” invoice is invented while trialing. Renewals never re-grant trial. |
| Intro / entry price (intro_price_cents) | Preferential first charge amount (in cents) when intro is configured. |
| Intro period days (intro_period_days) | How long the intro pricing window is intended to last (product metadata used with intro pricing). |
| Recurring price (recurring_price_cents) | Ongoing price after intro / for renewal line items. |
| Billing interval | e.g. monthly |
| Currency | ISO code, e.g. USD |
Verifica crea le righe dell’ordine in base a queste regole all’interno di BillingService (indipendente dal gateway).
Come interagiscono le versioni di prova, introduttive e ricorrenti
Pensa a tre leve:
- Solo prova — il cliente inizia senza pagare l’intero importo ricorrente; l’abbonamento è in prova finché la prova non termina, dopodiché si applica la normale riscossione / periodo di tolleranza. Esempio (seed Professional): trial_days = 14, intro 0, ricorrente $49.
- Prezzo di ingresso senza prova — la prima tariffa usa i centesimi di ingresso; ricorrente è il prezzo di listino successivamente / nei rinnovi. Esempio (seed Starter): ingresso $1 (100 centesimi), ricorrente $19, prova 0.
- Né — la prima addebito utilizza immediatamente il prezzo ricorrente.
Importante:
- La prova è per il checkout di una nuova installazione, non un posto gratuito a tempo indeterminato.
- Gli acquisti aggiuntivi a metà ciclo di vita sono voci separate / elementi del gateway.
- I coupon (se configurati) si applicano al momento del checkout quando sono validi.
Esempi svolti
Stile da principiante
| Value | |
|---|---|
| Intro | $1.00 for first period |
| Recurring | $19.00 / month |
| Trial | 0 days |
Il cliente paga l’importo di introduzione al primo checkout riuscito (secondo le regole del gateway), quindi in modo ricorrente successivamente.
Stile professionale
| Value | |
|---|---|
| Trial | 14 days |
| Recurring | $49.00 / month |
| Intro | $0 |
Il cliente può iniziare senza una fattura completa pagata durante la prova; dopo la prova si applicano le regole di riscossione del pagamento e di tolleranza/sospensione.
Allega moduli
Nel modulo di bundle, seleziona quali moduli sono inclusi. Solo i moduli per i quali hai i diritti di accesso vengono visualizzati per l’installazione/aggiornamento sulle installazioni del cliente.
Pubblica il bundle
Imposta disponibilità su pubblicato e ordine di visualizzazione / badge in evidenza per la pagina Prezzi marketing.
Ordine consigliato di configurazione del catalogo
- Configura le impostazioni di GitHub.
- Crea moduli + pubblica almeno una versione ciascuno.
- Crea componenti aggiuntivi (custom_domain, backup) se li vendi.
- Crea bundle, collega moduli, imposta prova/introduzione/ricorrente.
- Pubblica bundle e apri il pricing come cliente.
- Configura la modalità Domain e S3 affinché i componenti aggiuntivi funzionino davvero end-to-end.