Monyon: 멀티테넌시 보일러플레이트에서 SaaS 구독 서비스로의 진화

New B2B SaaS boilerplate just dropped!

작성자
SupeRails
발행일
2025년 03월 24일

핵심 요약

  • 1 Ruby on Rails 기반 Monyon 보일러플레이트에 Pay Gem을 활용한 SaaS 구독 기능이 성공적으로 통합되었습니다.
  • 2 Stripe 연동을 통해 구독 플랜 설정, 결제 처리, 청구 포털 관리 등 조직 단위의 구독 서비스 구현이 가능합니다.
  • 3 구독 상태에 따라 동적으로 변화하는 UI 및 응답형 레이아웃 개선으로 사용자 경험이 향상되었습니다.

도입

본 영상은 기존 멀티테넌시(multi-tenancy) 보일러플레이트인 Monyon이 SaaS(Software as a Service) 구독 기능을 통합하여 확장된 소식을 다룹니다. 개발자는 `Pay` Gem을 활용하여 Ruby on Rails 애플리케이션에 Stripe 기반의 구독 기능을 손쉽게 구현할 수 있게 되었으며, 이는 조직(organization) 수준의 구독 관리를 가능하게 합니다. 이 업데이트를 통해 Monyon은 B2B SaaS 제품 개발을 위한 강력한 기반을 제공하게 되었습니다.

Monyon 보일러플레이트는 기존의 멀티테넌시 구조에 더해, Pay Gem을 통합하여 구독 기반 SaaS 애플리케이션으로 진화했습니다. 이는 특히 조직 단위의 구독 관리에 중점을 둡니다.

Stripe 연동 및 설정

  • API 키 설정: Rails credentials를 통해 Stripe API 키(공개 키, 비공개 키, 웹훅 시크릿)를 안전하게 설정합니다.

  • 구독 플랜 정의: config/settings.yml 파일에서 구독 플랜(예: 월간, 연간)의 가격 ID, 단위 금액, 통화, 결제 간격 등을 정의합니다.

  • Stripe 대시보드 설정: Stripe 대시보드에서 정의된 플랜에 해당하는 상품과 가격을 생성하고, 월간 플랜에서 연간 플랜으로의 업셀(upsell) 기능을 구성합니다.

구독 흐름 시연

  • 조직 생성 및 결제 제한: 새로운 조직 생성 후, 구독이 필요한 결제 페이지에 접근하면 구독 필요 메시지가 표시됩니다.

  • 결제 및 구독 활성화: 월간 또는 연간 플랜을 선택하고 Stripe Checkout 페이지에서 결제를 완료하면, 웹훅을 통해 조직의 구독 상태가 ‘active’로 업데이트됩니다.

  • 청구 포털 관리: 활성화된 구독은 Stripe Billing Portal을 통해 고객이 직접 취소하거나 플랜을 변경할 수 있도록 합니다. 구독 취소 시, 즉시 접근이 차단되는 것이 아니라 현재 결제 기간 만료 시점에 구독이 종료됩니다.

조직 기반 구독 모델

  • Organization 모델의 Pay::Customer: 구독의 주체는 개별 사용자(User)가 아닌 조직(Organization)입니다. Organization 모델에 Pay::Customer를 포함하여 Stripe 고객 ID 및 관련 정보를 관리합니다.

  • SubscriptionsController: SubscriptionsController는 구독 상태에 따른 페이지 렌더링, Stripe Checkout 세션 생성, Billing Portal로의 리디렉션 등 구독 관련 핵심 로직을 처리합니다.

동적 UI 및 조건부 기능

  • Stripe 자격 증명 유무에 따른 UI: Stripe API 키가 설정되지 않은 경우, 애플리케이션 내의 결제 관련 UI 및 기능이 자동으로 비활성화되어 표시되지 않습니다.

  • 다양한 구독 상태: ‘미구독’, ‘활성 구독’, ‘취소 예정인 활성 구독’ 등 조직의 다양한 구독 상태에 따라 UI가 동적으로 변경되어 사용자에게 명확한 정보를 제공합니다.

레이아웃 개선

  • 응답형(responsive) 디자인이 적용되어 다양한 화면 크기에서 최적화된 사용자 경험을 제공합니다.

  • 두 가지 사이드바 레이아웃 옵션이 추가되어 사용자가 선호하는 UI를 선택할 수 있습니다.

결론

Monyon 보일러플레이트는 `Pay` Gem과의 통합을 통해 멀티테넌시 애플리케이션에 강력한 SaaS 구독 기능을 추가하며 큰 발전을 이루었습니다. 이는 개발자들이 복잡한 구독 관리 로직에 대한 부담 없이 조직 수준의 B2B SaaS 제품을 효율적으로 구축할 수 있는 환경을 제공합니다. Stripe와의 긴밀한 연동은 결제 및 청구 과정을 간소화하며, 개선된 응답형 레이아웃은 최종 사용자에게 향상된 경험을 선사할 것입니다. Monyon은 이제 SaaS 개발을 위한 견고하고 유연한 기반으로 자리매김했습니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!