2014-07-13 4 views
1

스트라이프로 서브 스크립 션 청구서를 구현하려고하고 있는데, 서브 스크립 션의 작동 원리는 어떤 생각 인가요?레일즈 - 스트라이프로 서브 스크립 션 구현하기

스트라이프 대시 보드에서 가능한 모든 가입 계획을 지정할 수 있음을 이해합니다. 내 응용 프로그램에서 Stripe 요청을 보내면 Stripe는 계획의 매개 변수 "id"를 기반으로 가입 계획 유형을 인식합니다. 그게 분명해.

Stripe의 대시 보드에있는 모든 가입 계획을 내 Rails 앱에로드 할 수있는 방법이 있습니까? 아니면 Stripe의 대시 보드에 모든 구독 계획을 작성한 다음 내 Rails 테이블에 데이터베이스 테이블을 만들 필요가 있습니까? 구독 계획에 대한 모든 정보를 저장하십시오 (그래서 그것은 친절한 것입니다 - 데이터 복제 일)?

답변

1

Stripe에 대한 필자의 경험에 비추어 볼 때, 레일스 끝에 저장해야하는 물건의 양을 제한하고 싶습니다. 많은 시간 동안 각 사용자와 함께 데이터베이스에 Stripe 고객 ID를 기록하는 것으로 벗어날 수 있다고 생각합니다. 그런 다음 API을 통해 스트라이프에서 직접 필요한 모든 정보를 가져옵니다.

클라이언트 요청이 확실히 오래 걸릴 수 있지만, 최상의 UX를 얻으려면 앱이해야 할 일에 대해 더 잘 이해하는 동안 기다릴 수 있습니다.

그런 다음 나중에 스트라이프에서 필요한 정보를 선점하는 캐싱 전략을 살펴보아야합니다.

+0

그러나 이것은 반복 지불에 대해 생각하게 만듭니다. 나는 1 개월 동안 가입 빈도를 설정했습니다. 즉, 매월 스트라이프 시스템이 자동으로 고객의 신용 카드로 요금을 청구합니다. 월별 요금에 대한 정보를 Rails 앱의 데이터베이스에 저장해야하므로, 고객에게 지불 한 시점에 확장 기능을 표시 할 수 있습니다. – user984621

+0

[events API] (https://stripe.com/docs/api?lang=ruby#event_types)를 통해 상황이 발생할 경우 앱에 알리도록 Stripe을 가져올 수 있습니다. 따라서 스트라이프로부터 알림을 받으면 로컬에 청구 정보를 저장할 수 있습니다. –

0
일부 중복으로 인해 일반적인 쿼리와 작업이 더 쉽게 이루어질 수 있습니다.. 어떤 것들이 있습니다 결코 레일 측면 (예를 들어 신용 카드 번호)에 갖고 싶어. 다른면에서 계획 이름 &과 같은 가입 정보는 로컬로 가지고 있으면 편리합니다 ("엔터프라이즈 계획 평가판에 5 일 남았습니다.").

일부 복제를 시작하면 으로 Stripe을 관계에 "마스터"으로 유지하십시오. 즉, 정보를 스트라이프로 보내고 성공하면 로컬로 저장하십시오. 이것은 가장 큰 복제 문제 - 두 시스템간에 동기화가 이루어지지 않아야 함 -을 피해야합니다.

관련 문제