Stiamo preparando per il rilascio di una grande applicazione web che è stata in sviluppo per l'anno scorso. Stiamo per avviare il processo di integrazione di ActiveMerchant per gestire le tariffe di abbonamento ricorrenti per il servizio.Fatturazione ricorrente con Rails e ActiveMerchant: best practice, insidie, trucchi?
Sto cercando qualsiasi consiglio in merito alle migliori pratiche in considerazione dei nostri requisiti (elencati di seguito) e di eventuali ulteriori segnalazioni per insidie comuni o problemi specifici che dovrei prestare particolare attenzione. Il gateway di pagamento che utilizzeremo è PaymentExpress in quanto è uno dei pochi gateway supportati con fatturazione ricorrente e non ha condizioni speciali per le società che operano al di fuori degli Stati Uniti. L'attività dietro questa applicazione è basata fuori dal Regno Unito.
Gli utenti dell'applicazione creano un account con un sottodominio in cui possono accedere e personalizzare l'applicazione e i relativi dati. Qui di seguito sono alcuni dei requisiti/caratteristiche che potrebbero avere un effetto su come funziona la fatturazione:
- Tutti gli utenti ottengono una prova di 30 giorni
- Ci sono diversi piani, tra cui uno gratuito
- piani a prezzi più elevati hanno maggiori limiti sulla quantità di dati (ad es. utenti, progetti, ecc) che possono avere nel proprio account
- Il periodo di fatturazione sarà mensile, a partire dal periodo di prova
- Ci saranno sconti/codici promozionali per ottenere una percentuale di sconto rispetto al normale prezzo per un anno su piani, ecc.
- piano tariffario cambierà come caratteristiche sono aggiunte
ostacoli speciali Io posso prevedere saranno le cose tra cui le seguenti:
- Come gestire il downgrade quando violano i limiti del piano per i piani di livello inferiore.
- Comportamento quando le carte di credito scadono oi pagamenti non vengono eseguiti (è possibile applicare una modalità di sola lettura, forse)
- Quando i prezzi del piano cambiano, vogliamo onorare i prezzi precedenti per gli utenti esistenti per un periodo di tempo (ad esempio 6 mesi), quindi iniziare a caricare tariffe più elevate. Se il prezzo del piano diminuisce, avrà effetto immediato.
Altri consigli che potrebbero essere utili sarebbero qualsiasi cosa riguardante il flusso dell'applicazione. Come devono essere presentati i moduli di fatturazione all'utente? Quando devono essere richiesti i dati della carta di credito? Come devono essere spedite, archiviate e accessibili le fatture?
Devo rivelare che intendiamo basare molto sulla base di codice SaaSy. SaaSy è progettato per essere usato come app Rails separata che gestisce tutto il lato registrazione e gestione degli account. Tuttavia, questo non funziona per noi dal momento che non abbiamo mai pianificato questo dall'inizio e sarebbe un processo noioso per adattare la nostra applicazione al lavoro in questo modo. Di conseguenza, estraiamo codice e idee da SaaSy e li uniamo alla nostra app, un compito decisamente meno noioso.
Sì, ho seguito gli screencast di Ryan e ho anche visto RailsKit.Il problema è che RailsKit è progettato come punto di partenza per un'app, non un'aggiunta a una esistente. La mia domanda è meno tecnica di quella dell'architettura/progettazione migliore. Grazie comunque! –
BTW, molte persone usano il SaaS Rails Kit con la loro app già esistente ... si limitano a copiare i modelli, i controller, ecc. Quindi, non è necessario ricominciare da zero per usarlo. –