빌링 서비스 및 오픈소스 도구 분석 분석서 - SeungpilPark/uEngine-bill GitHub Wiki

KillBill

Kill Bill은 2010 년에 시작된 오픈 소스 프로젝트입니다. 청구 및 지불을위한 견고하고 유연한 플랫폼을 제공하는 목적으로 제작되었으며, groupon 에서 이 오픈소스를 사용중입니다. groupon 이외에 몇개의 중소기업에서 사용중임을 명시하고 있지만, 레퍼런스는 많지 않습니다.

그러나 kill-bill 은 composite plan 생성에서 invoice,payment,payment gateway integration 까지의 실제 결제에 필요한 full cycle 을 제공하는 빌링 플랫폼 중 거의 유일한 오픈소스입니다.

따라서 kill-bill 을 오퍼레이팅 하는 과정중에 실제 소스코드의 디버깅을 통해 빌링 플랫폼의 모델구조와 동작원리를 알 수 있는 귀중한 리소스라고 할 수 있습니다.

KillBill 주요 기능

서브스크립션 플랫폼

  • 인보이스 및 일할 청구
  • 카달로그 다중 단계 계획 및 계획 변경 규칙
  • 카달로그 애드온 및 계획 계층 구조
  • 카달로그 가격 목록 정책 지원
  • Event Based Billing
  • Internationalization
  • 플러그인 기반 Customized Business Logic
  • 지불 기한 초과 집행 (독촉)
  • Reporting and Analytics
  • API 지원

페이먼트 플랫폼

  • Payment Flows
  • Payment Routing
  • Real-Time Push Notifications
  • 플러그인 기반 Payment Provider Support

Zoho Subscription

Zoho Subscriptions는 Killbill 과 마찬가지로 결제에 관련한 full cycle 을 제공하는 Sass 서비스입니다. 오픈소스는 아니지만, Killbill 과 달리 UI 를 제공하기 때문에 오퍼레이팅 과정중에 실제 사용자와 어떻게 대화하여야 하는지 시각적으로 살펴볼 수 있습니다. 또한 무료계정으로도 기능의 제한 없이 서비스 운영 중 일어날 수 있는 다양한 상황에 시뮬레이팅을 해 볼 수 있기 때문에 빌링 플랫폼을 개발하는 데 있어서 중요한 참조 모델이 될 수 있습니다.

Forcs market-place billing

아래와 같은 글로벌 마켓플레이스 플랫폼의 요구사항 있다고 가정합니다.

그외,

  • 멀티 통화정책이 가능해야 한다.
  • Tax 적용이 가능해야 한다.
  • 구매자의 지정 청구일에 구독건들에 대한 일할 청구가 가능해야 한다.
  • 환불이 발생할 경우 구독자의 가상화폐(Credit) 가 먼저 생성되고, 관리자 승인이 있을 경우 PG 를 통한 환불이 진행된다.
  • 각 상품은 서비스 프로바이더가 존재하며, 최종 수익금 대비 서비스 프로바이더와의 수익 분배를 정할 수 있어야 한다.
  • IAM 을 통한 통합인증 토큰을 통해 통신이 가능해야 한다.

위의 포시에스 플랜 요구사항과, 통합시스템 연동의 관점, 그리고 기본적인 빌링 플랫폼이 제공해야 할 기능들을 고려해 볼 때, 최종적으로 아래와 같은 기능 리스트가 필요합니다.

  • 통합 인증 토큰 기반 Authorize
  • 멀티 테넌시
  • 플랜 관리
  • 일회성 구매
  • 월 구독, 년 구독 설정
  • 구매자 관리
  • 구독 관리
  • 개별 구독건마다 청구일
  • 구매자 일할 청구일 지정
  • 가상화폐를 통한 환불 처리
  • 사용량 기반(Usage) 과금
  • 사용량 Log Bulk loading
  • 기간제 쿠폰 적용
  • 온라인,오프라인 과금 청구 구분
  • 과금 기한 초과 대응 정책 및 독촉
  • 인보이스 템플릿
  • 독촉 템플릿
  • 국가별 통화
  • 국가별 환율 지정
  • Tax
  • PG 인티그레이션
  • 국가법령에 따른 Payment flow 제한
  • 서비스 프로바이더 관리
  • 서비스 프로바이더 수익배분률
  • Analytics
  • API 클라이언트
  • UI 제공

다음은 이 기능들이 killbill 과 zoho subscriptions 에서 제공하는지에 대한 비교표입니다.

Feature killbill Zoho subscription uEngine billing 설명
- 통합 인증 토큰 기반 Authorize X O O IAM 을 통하여 토큰 발급 및 밸리데이션을 수행한다.
- 멀티 테넌시 O O O 빌링 서비스의 Organization 당 하나의 독립된 영역을 보장한다.Organization 에 접속 가능한 사용자 리스트는 IAM 의 통합인증 유저이다.통합인증 유저가 ADMIN,MEMBER 인지에 따라 ROLE 수행
- 플랜 관리 xml database database 플랜 관리 UI 를 제공하고, database 에 정형화 한다.
- 일회성 구매 트랜잭션 기록 X one-time-payment plan 을 통해 구매 one-time-payment 플랜을 통해 구매할 수 있도록 한다.
- 월 구독, 년 구독 설정 O O O 플랜에 billing period 를 지정할 수 있도록 한다.
- 구매자 관리 O O O 구매자 관리 API 를 제공한다.
- 구독 관리 O O O Subscription 관리 API 를 제공한다.
- 개별 구독건마다 청구일 O O O Subscription 마다 billing cycle day 를 지정할 수 있도록 한다.
- 구매자 일할 청구일 지정 O X O 구매자 마다 billing cylce day 를 지정하고, 구매자들의 subscription 들이 합산 처리될 수 있도록 한다.
- 가상화폐를 통한 환불 처리 X O O Subscription 취소 또는 변경으로 인해 환불 금액이 발생하였을 떄, Credit 를 구매자에게 부여하도록 한다.관리자는 생성된 Credit 에 대해 환불을 완료시킬 수 있다.
- 사용량 기반(Usage) 과금 O O O Tier,Volume,Unit 타입의 Usage 기반 과금을 설정할 수 있다.Usage 과금은 현재 구독건에 합산 처리된다.
- 사용량 Log Bulk loading X X O 지정된 형식의 Log Event 파일을 읽어들여 Usage 과금을 처리할 수 있다.
- 기간제 쿠폰 적용(discount,promotion) X O O 지정된 날짜동안 적용되는 discount 쿠폰을 생성하고, 현존하는 Subscription 에 적용시킬 수 있다.
- 온라인,오프라인 과금 청구 구분 X O O 온라인: 구매자와 PG 를 통해 청약을 맺고, 매 결제 텀시 구매자의 의사결정 없이 청약토큰으로 PG 사에 결제요청을 한다. 오프라인: 매 결제 텀시 구매자에게 결제를 요청하고, 구매자는 원하는 결제방식으로 결제를 진행한다.
- 과금 기한 초과 대응 정책 및 독촉 O O O 미결제 횟수에 따라 Subscription 의 정지, 또는 삭제 규칙을 정할 수 있다. 미결제에 대한 연제율을 발생시킬 수 있다. 미결제 건에 대한 독촉 메일을 발송한다.
- 인보이스 템플릿 O O O 인보이스 템플릿을 등록할 수 있따.
- 독촉 템플릿 X O O 톡촉 템플릿을 등록할 수 있다.
- 국가별 통화 O O O 국가별 통화 코드, 통화 심볼을 등록하고, Organization 의 기본 통화를 등록시킬 수 있다. 또한 구매자에게 기본 통화로 등록시킬 수 있다.
- 국가별 환율 지정 X O O Organization 의 기본 통화를 기준으로 한 국가별 환율을 지정할 수 있다. 구매자의 기본 통화와 제품의 통화가 틀릴경우, 지정해 놓은 환율대로 과금을 집행한다.
- Tax Plugin O O Tax 관리 API 를 제공한다. Subscription 마다 Tax 를 적용시킬 수 있다.
- PG 인티그레이션 Plugin O O Hosted base pament flow 와 Api base payment flow 두가지 타입에 대비해 개발하도록 한다.
- 국가법령에 따른 Payment flow 제한 X 테넌트 옵션을 통해 지정 테넌트 옵션을 통해 지정 카드 정보 수집 금지, 오프라인 결제만 허용 등의 옵션을 제공하여, 국가법령에 따른 Payment flow 를 제한할 수 있도록 한다.
- 서비스 프로바이더 관리 X X O 프로덕트 별로 서비스 프로바이더를 지정할 수 있다.
- 서비스 프로바이더 수익배분률 X X O 프로덕트에 과금이 발생할 경우 서비스 프로바이더와의 수익분배율을 설정 할 수 있다.
- Analytics Plugin O O 프로덕트별, 플랜별, 서비스 프로바이더 별 판매현황 API 를 제공한다.
- API 클라이언트 X O O Java,Javascript Api Client 를 제공한다.
- UI 제공 X O O UI 제공

참고표 (기타 빌링 서비스 비교)

Subscription Billing service
Zoho Paymentwall Zuora Chargify KillBill ChedderGetter Moonclerk
가격 정책 $49/month 커뮤니케이션 안됨 Set up fee 별도 $50,000 정도, $1,500~2,000/month 기본가격$65 small business: $129/month 고객 수 500, 추가 시 $0.99 small business plus: $169/month growing business: $459/month 고객 2000, 추가 시 인당 $0.69 no fee. Open source. $79/month + $0.2. 수익금에따라 자동으로 가격 매겨지며 매 월 변동함. $50 (월 매출$4,000~7,500)
가격&plan 변동이나 취소 가능
연동하는 PG사 (한국지원가능만) 2checkout, paypal express checkout 자체 PG 제공. Adyen, bluesnap, paypal express co, paypal standard Stripe만 연동함.
API documentation 제공
특징 고객 invoice 발행 날짜의 유연성. 결제 보안 유지 plan 기반의 가격 카탈로그 recurring billing system plan의 중간변경의 유연성. 고객별 사용량 tracking 가능 portable 데이터
결제 보안 유지 통합 결제 platform 제공 AR 관리 / 과세 이메일 자동화 plan의 중간변경의 유연성. 자동 통화전환 계산
자동 이메일 공지 자동 이메일 공지 단계별 대기업 billing 고객 포털 자동 이메일 공지 자동 이메일 공지
비즈니스 대시보드 제공 사용량을 측정하는 기능은 없음. 매출 식별 보고서 멀티-Gateway 지원 자체 PG제공, $40/month + $0.15 결제 보안 유지
과금정책 plan 개수 생성 제한 없음. plan의 중간변경의 유연성. CRM상의 견적과 구독 관리 사용하기 쉬운 인터페이스 연 단위로 계약시 10% 할인적용
추후에 plan 추가 설정 가능 CRM상의 구독 통찰과 분석 PayPal 추후에 plan 추가 설정 가능
시험판 제공 invoice 생성 자동화 iPhone App 시험판 제공
사용자당 월 별 판매금 모니터링 전자결제 자동화 recurring billing API
실시간 조회 가능 선불과 연체료 billing PCI 준수 보안
언제든 subscription 계약 해지 가능 pre-built gateway 통합
기타 내용 더 자세한 문의는 한국인 담당자에게 문의 가능 Adyen-->0.3유로(=$0.33) Tax rate는 하나의 product당 한 번 정할 수 있다. 더 다양한 tax 기능을 원하면 subscription billable Hook를 사용하여 지연시킨 후에 API로 설정하여 추가 청구 할 수 있다. 여러 currency의 과금을 받고 싶다면 다른 currency의 갯수에 따라 여러 계정을 만들어야 한다 (예.유로&달러-->계정 2개 생성)