결국 사용자가 내가 요청한 작업을 할 수 있는 것으로 드러났습니다(제목의 "허용(allow)"을 "설명(clarify)"으로 변경했습니다)… 그래서 여기 두 가지 새로운 하지만 관련 있는 항목이 있습니다.
기능 요청: 기본 문구는 취소의 두 가지 유형을 명확히 해야 합니다. 관리자 인터페이스에는 사용자 인터페이스와 동일한 “상태(Status)” 열이 있어야 합니다.
다음은 몇 가지 세부 사항입니다…
Discourse Subscriptions에서 "취소(cancel)"는 누가 실행하는지에 따라 두 가지 다른 의미를 가지는 것 같습니다! 사용자의 경우 자동 갱신만 취소하는 반면, 관리자의 경우 구독 전체를 즉시 취소합니다.
-
사용자가
u/.../billing/subscriptions에서 휴지통 아이콘을 클릭하면 "이 구독을 취소하시겠습니까?"라는 프롬프트가 표시됩니다.예(Yes)를 선택하면
customer.subscription.updated웹훅이 트리거됩니다.응답의 주목할 만한 두 부분은
"cancel_at_period_end": true와"status": "active"입니다. 사용자의 구독 페이지는 여전히 "상태: 활성"으로 표시되지만 “갱신” 항목에는 이제 "취소됨"이라고 표시됩니다. 사용자는 여전히 구독 그룹에 유지됩니다.짜증나는 점은, 관리자 인터페이스에서 자동 갱신이 취소되었음을 이제 표시하지 않는다는 것입니다 – 단순히 "상태: 활성"만 표시됩니다.
-
관리자가
/admin/plugins/discourse-subscriptions/subscriptions에서 "취소"를 클릭하면 다시 "이 구독을 취소하시겠습니까?"라는 프롬프트가 표시됩니다(환불 여부를 묻기도 합니다).예(Yes)를 선택하면
customer.subscription.deleted웹훅이 트리거됩니다.응답에는
"status": "canceled"가 포함됩니다. 구독은 모든 곳에서 삭제되고 사용자는 구독 그룹에서 제거됩니다.