Discourse 구독 - "주기 종료 시 취소" 명확히 하기

Discourse 구독 - 가격 변경 - 전체 구독이 아닌 자동 갱신만 취소하는 방법에서 이어지는 토론입니다:

기능 요청: 구독을 즉시 취소할 수 있는 것만 가능하지 않고, 주기 종료 시점에 구독을 취소하도록 선택할 수 있으면 좋겠습니다.

이 내용은 Stripe 문서의 "주기 종료 시점에 취소"라는 제목 아래에서 확인할 수 있습니다:

대신 현재 청구 기간이 끝날 때 구독을 취소하려면(즉, 고객이 이미 지불한 기간 동안에는 유지하려면), 구독을 cancel_at_period_end 값을 true로 업데이트하여 수정하십시오:

…

cancel_at_period_end 파라미터로 취소 예정으로 설정된 구독은 cancel_at_period_end를 false로 업데이트하여 언제든 기간 종료 시점까지 다시 활성화할 수 있습니다.

1개의 좋아요

결국 사용자가 내가 요청한 작업을 할 수 있는 것으로 드러났습니다(제목의 "허용(allow)"을 "설명(clarify)"으로 변경했습니다)… 그래서 여기 두 가지 새로운 하지만 관련 있는 항목이 있습니다.

기능 요청: 기본 문구는 취소의 두 가지 유형을 명확히 해야 합니다. 관리자 인터페이스에는 사용자 인터페이스와 동일한 “상태(Status)” 열이 있어야 합니다.

다음은 몇 가지 세부 사항입니다…

Discourse Subscriptions에서 "취소(cancel)"는 누가 실행하는지에 따라 두 가지 다른 의미를 가지는 것 같습니다! 사용자의 경우 자동 갱신만 취소하는 반면, 관리자의 경우 구독 전체를 즉시 취소합니다.

  1. 사용자가 u/.../billing/subscriptions에서 휴지통 아이콘을 클릭하면 "이 구독을 취소하시겠습니까?"라는 프롬프트가 표시됩니다.

    예(Yes)를 선택하면 customer.subscription.updated 웹훅이 트리거됩니다.

    응답의 주목할 만한 두 부분은 "cancel_at_period_end": true와 "status": "active"입니다. 사용자의 구독 페이지는 여전히 "상태: 활성"으로 표시되지만 “갱신” 항목에는 이제 "취소됨"이라고 표시됩니다. 사용자는 여전히 구독 그룹에 유지됩니다.

    짜증나는 점은, 관리자 인터페이스에서 자동 갱신이 취소되었음을 이제 표시하지 않는다는 것입니다 – 단순히 "상태: 활성"만 표시됩니다.

  2. 관리자가 /admin/plugins/discourse-subscriptions/subscriptions에서 "취소"를 클릭하면 다시 "이 구독을 취소하시겠습니까?"라는 프롬프트가 표시됩니다(환불 여부를 묻기도 합니다).

    예(Yes)를 선택하면 customer.subscription.deleted 웹훅이 트리거됩니다.

    응답에는 "status": "canceled"가 포함됩니다. 구독은 모든 곳에서 삭제되고 사용자는 구독 그룹에서 제거됩니다.