Stripe-가입시 신용 카드없이 무료 요금제로 구독을 처리하는 방법
Redsmin (우리 프로젝트 중 하나)에 Stripe를 구현하기 시작 했는데 뭔가 놓친 것 같습니다. 작동 방식은 다음과 같습니다.
당사 제품을 사용하려면 사용자가 플랜 (무료, s, m, xl, xxl ...)을 선택하고 로그인 / 비밀번호를 입력 한 다음 30 일 무료 평가판을 사용하는 것이 좋습니다. 사용자가 양식을 제출하면 서버가 지정된 요금제와 신용 카드없이 Stripe create_customer 를 호출 하고 (신용 카드가 필요하지 않은 30 일 무료 제공을 원하기 때문에) 반환 된
customer_id
및subscription_id
.우리는 그렇게 30 일 후에 우리으로 webhook 스트라이프 이벤트를 수신 할 수있는은 webhook 설정 해야 수신
customer.subscription.updated
와 이벤트를object.status == active
. 내가 맞아?우리가 시간이 최대 기호에 사용자에 대한 관련 카드를 지정하지 않았기 때문에 그러나, 우리는 해야 다른 후 신속하게받을 수
customer.subscription.updated
와 이벤트object.status == unpaid
맞죠? 그런 다음 우리 측에서 사용자 계정을 비활성화하고 계획 선택 페이지로 강제 이동합니다.그때부터 사용자는 무료 플랜 또는 프리미엄 플랜 중 하나를 선택할 수 있습니다.
#Scenario 1 사용자가 무료 요금제를 선택하면 우리 측에서 계정을 다시 활성화하고 스트라이프에 무료 요금제를 0 $로 구성했기 때문에 다른 작업을 수행하지 않습니다. 무료 플랜으로 올바른 프로세스를 구현 했습니까? 더 좋은 방법이 있습니까?
#Scenario 2 사용자가 프리미엄 플랜을 선택하면 신용 카드 양식으로 리디렉션 한 다음 Stripe로 전송되고 임시 카드 토큰으로 스트라이프 고객 계정을 업데이트합니다. 다음에는 무엇을해야합니까? :
- 스트라이프가 이벤트를 보낼 때까지 기다려야합니까? 그렇다면 어떤 이벤트입니까?
customer.subscription.updated
?charge.succeeded
? 그렇다면 가치는 무엇입니까object.status
? - 우리 측에서 사용자 계정을 직접 다시 활성화하고 스트라이프의 확인을 기다려야합니까? 그렇다면 우리가 기다려야하는 이벤트 이름과 데이터는 무엇입니까?
- 스트라이프가 이벤트를 보낼 때까지 기다려야합니까? 그렇다면 어떤 이벤트입니까?
2 부에서는 다음을 수행합니다.
스트라이프 이벤트를 수신하도록 웹훅을 설정 했으므로 30 일 후에 웹훅은 object.status == 활성화 된 customer.subscription.updated 이벤트를 수신해야합니다. 맞습니까?
customer.subscription.trial_will_end
웹훅 구현을 고려할 수도 있습니다 .이 웹훅은 고객 평가판이 종료되기 3 일 전에 전송되며 고객에게 결제 정보를 업데이트하라는 알림을 보낼 수 있습니다.
이렇게하면 사용자가 결제 정보를 업데이트하기로 결정한 경우 Stripe는 고객 평가판이 종료되는 즉시 결제를받을 수 있으며 중단없이 서비스를 계속 사용할 수 있습니다.
#Scenario 1 사용자가 무료 요금제를 선택하면 우리 측에서 계정을 다시 활성화하고 스트라이프에 무료 요금제를 0 $로 구성했기 때문에 다른 작업을 수행하지 않습니다. 무료 플랜으로 올바른 프로세스를 구현 했습니까? 더 좋은 방법이 있습니까?
이것이 Stripe를 사용하여 무료 계획을 구현하는 가장 좋은 방법이라는 것을 알고있는 한, 필자는 필요한 경우가 아니면 고객에게 청구서를 보내지 않았는지 확인했을 것입니다. 사용자가 무료 요금제를 사용하는 경우 각 청구 기간에 대해 청구서를받을 것으로 예상하지 않습니다.
#Scenario 2 사용자가 프리미엄 플랜을 선택하면 신용 카드 양식으로 리디렉션 한 다음 Stripe로 전송되고 임시 카드 토큰으로 스트라이프 고객 계정을 업데이트합니다. 다음으로 무엇을해야합니까? :
- 스트라이프가 이벤트를 보낼 때까지 기다려야하나요? 그렇다면 어떤 이벤트입니까? customer.subscription.updated? charge.succeeded? 그렇다면 object.status의 값은 무엇입니까?
- 우리 측에서 사용자 계정을 직접 다시 활성화하고 스트라이프의 확인을 기다려야합니까? 그렇다면 우리가 기다려야하는 이벤트 이름과 데이터는 무엇입니까?
사용자가 요금제를 선택하고 결제 정보를 업데이트하면 Stripe의 구독 업데이트에 대한 응답이 성공했음을 제공하는 즉시 계정을 활성화합니다.
Stripe 대시 보드에서 구독 기본 설정을 구성한 경우 Stripe가 결제 실패시 수행 할 작업을 처리하도록 할 수 있습니다. customer.subscription.updated
웹훅 을 구현해야합니다. 이것이 구독을 미결제로 표시하거나 취소 된 것으로 표시하는 경우 Stripe에서 보내는 웹훅이므로 그에 따라 자신의 레코드를 업데이트 할 수 있습니다.
'IT박스' 카테고리의 다른 글
Java / Scala를 사용하여 HTML로 마크 다운 (0) | 2020.10.25 |
---|---|
웹 서비스에서 HTML 문서를 어떻게 인쇄합니까? (0) | 2020.10.25 |
브라우저 내 자바 스크립트에 노드 스타일이 필요합니까? (0) | 2020.10.25 |
0dp가 성능 향상으로 간주되는 이유는 무엇입니까? (0) | 2020.10.25 |
프로그래밍 방식 SMS (0) | 2020.10.25 |