Sto creando un'estensione di Chrome che vorrei offrire gratuitamente per un determinato periodo di prova e poi gli utenti acquistano una chiave di registrazione sul nostro sito Web per una versione definitiva.
Ho già sviluppato software, ma non ho mai realizzato qualcosa a pagamento.
Utilizzando le mie conoscenze di base di crittografia e siti web di appartenenza, ho pensato a quanto segue:
-
Quando l'utente installa l'estensione per la prima volta crea una variabile per la chiave di registrazione con un valore vuoto, il che significa che l'utente non ha ancora acquistato il prodotto e si trova in un periodo di prova.
-
Una volta che l'utente apre l'estensione, controllerà se il periodo di prova è terminato eseguendo calcoli sulla data.
-
Se la versione di prova è terminata, l'utente avrà un modulo per la sua email e il codice di registrazione.
-
L'utente acquista il codice di registrazione sul nostro sito web. Elaboriamo i pagamenti tramite stripe e, come callback, il server crea una chiave hash basata sulla loro posta elettronica. Inoltre, compila una stringa basata sull'ID del browser che stanno utilizzando per assicurarsi che la versione a pagamento funzioni solo su una piattaforma. Dopodiché salverà tutte le chiavi hash in un DB via e-mail.
-
Il codice di registrazione viene inviato all'utente tramite email
-
Ora l'utente può riaprire l'estensione e inserire il suo indirizzo email + il codice di registrazione. L'estensione invia una richiesta Ajax al server con la chiave e la posta immesse.
-
il server controlla i dati inviati con i dati memorizzati nel DB.
-
l'estensione agisce sullo stato della risposta.
Non so se questo è l'approccio giusto per risolvere questo problema. Esiste un approccio migliore e più sicuro? Quanto velocemente sono quei metodi da costruire? Ci sono API già pronte che si occupano di situazioni come questa?
Il software è un'estensione cromata costruita in JS e offerta gratuitamente nello store di Chrome, quindi un utente medio può accedere al suo codice. Un hacker medio sarebbe in grado di decodificarlo e crackarlo, creando torrent di una versione crackata e così via.
Ho intenzione di costruire il back-end tramite Python e il pallone.