Przygotowujemy się do wydania dużej aplikacji internetowej, która była rozwijana przez ostatni rok. Niedługo rozpoczniemy proces integracji ActiveMerchant, aby obsłużyć powtarzające się opłaty za subskrypcję usługi.Powtarzające się płatności za pomocą Railsów i ActiveMerchant: najlepsze praktyki, pułapki, gotchas?
Szukam wszelkich porad dotyczących najlepszych praktyk, biorąc pod uwagę nasze wymagania (wymienione poniżej) i wszelkie dodatkowe uwagi dotyczące typowych pułapek lub konkretnych problemów, które powinienem poświęcić szczególną uwagę. Brama płatności, której będziemy używać, to PaymentExpress, ponieważ jest to jedna z niewielu obsługiwanych bram, które mają powtarzające się fakturowanie i nie ma żadnych specjalnych warunków dla firm działających poza USA. Firma za tą aplikacją jest oparta na Wielkiej Brytanii.
Użytkownicy aplikacji tworzą konto z subdomeną, do której mają dostęp i dostosowują aplikację oraz ich dane. Poniżej znajdują się niektóre z wymagań/funkcji, które mogłyby mieć wpływ na sposób działania rozliczeniowe:
- Wszystkie użytkownicy otrzymują 30 dniowy okres próbny
- Istnieją różne plany, w tym bezpłatne jeden
- droższych plany Większe limity ilości danych (np. użytkownicy, projekty itp.) mogą mieć na koncie:
- Okres rozliczeniowy będzie wynosił co miesiąc, począwszy od okresu próbnego
- Będą rabaty/kody kuponów, aby uzyskać procent od wartości normalnej cena za rok na plany, itp. cenowa
- Plan zmieni jak funkcje są dodawane
szczególne przeszkody mogą Przewiduję będzie rzeczy w tym następujące:
- Jak obsługiwać obniżamy gdy naruszają granice planu dla niższych planów szczebla.
- Zachowanie w przypadku wygaśnięcia ważności kart kredytowych lub płatności nie są realizowane (może być wymuszony tryb tylko do odczytu)
- W przypadku zmiany cen planu, chcemy uhonorować poprzednie ceny dla obecnych użytkowników przez określony czas (np. 6 miesięcy), a następnie zacznij naliczać wyższe stawki. Jeśli cena planu spadnie, zacznie obowiązywać natychmiast.
Innymi poradami, które byłyby pomocne, byłyby wszystko, co dotyczy przepływu wniosku. W jaki sposób należy przedstawiać formularz rozliczeniowy użytkownikowi? Kiedy należy podać dane karty kredytowej? W jaki sposób faktury powinny być wysyłane, przechowywane i dostępne?
Chciałbym ujawnić, że planujemy oprzeć dużo kodu kodu off SaaSy. SaaSy został zaprojektowany jako osobna aplikacja Railsowa, która obsługuje całą stronę rejestracji i zarządzania kontem. Nie działa to jednak dla nas, ponieważ nigdy nie planowaliśmy tego od samego początku i byłby to żmudny proces dostosowania naszej aplikacji do pracy w ten sposób. W związku z tym będziemy czerpać kod i pomysły z SaaSy i łączyć je w naszą aplikację, znacznie mniej żmudne zadanie.
Tak, śledziłem screeny od Ryana i widziałem także RailsKit.Problem polega na tym, że RailsKit został zaprojektowany jako punkt wyjścia dla aplikacji, a nie jako dodatek do istniejącego. Moje pytanie jest mniej techniczne niż najlepsze wzornictwo w architekturze/wzornictwie. W każdym razie dzięki! –
BTW, wiele osób korzysta z zestawu SaaS Rails Kit z już istniejącą aplikacją ... po prostu kopiują modele, kontrolery itp. Nie trzeba więc zaczynać od zera, aby z niego korzystać. –