| 요약 | Discourse Subscriptions 플러그인은 사이트 소유자가 그룹 액세스 권한을 부여하는 정기 및 일시불 구독을 판매할 수 있도록 합니다. | |
| 설치 가이드 | 이 플러그인은 Discourse 코어에 번들되어 있습니다. 플러그인을 별도로 설치할 필요가 없습니다. |
Discourse Subscriptions 플러그인을 사용하면 사용자가 게이트된 콘텐츠에 액세스하기 위해 지불할 수 있는 일시불 및 정기 구독을 생성할 수 있습니다. 이는 커뮤니티 호스팅 비용을 조달하는 좋은 방법이 될 수 있습니다.
기능
Discourse Subscriptions 플러그인은 다음 기능을 지원합니다:
- 관리자 패널에서 새 제품 및 플랜 생성
- 관리자 패널에서 구독 취소 및 환불
- 일시불 또는 정기 구독 플랜 생성
- 정기 구독에 무료 체험판 추가
- SCA/3D Secure 지원
- 사용자가 구독/취소할 때 플랜 그룹에서 사용자 추가/제거
- 사용자 프로필에서 구독 취소
- 구독 기간 종료 시 구독 취소
- Stripe Checkout 선택 지원
- 자동 판매세 계산 및 징수
- 사용자가 개별 구독에 대해 카드 정보를 업데이트할 수 있음
상단 내비게이션에 있는 “구독” 버튼은 사이트에서 구성한 구독을 나열하는 구독 페이지 /s로 이동합니다:
사용자가 특정 플랜의 “구독” 버튼을 클릭하면 해당 플랜의 결제 페이지가 열립니다:
사용자가 결제 정보와 주소를 입력하고 “구독”을 클릭하면 “감사합니다!” 메시지가 표시되고 청구 페이지로 이동합니다:
사용자는 또한 사용자가 구독했는지 쉽게 확인하고 해당 그룹만 볼 수 있는 카테고리에서 게이트된 콘텐츠를 제공할 수 있도록 사용자가 선택한 그룹에 자동으로 추가됩니다.
용어
- 구독 - 구독은 커뮤니티의 콘텐츠 액세스를 제어할 수 있는 정기 결제 플랜입니다. 구독이 생성되거나 삭제되면 사용자가 구독 플랜과 연결한 사용자 그룹에 추가되거나 제거됩니다. 구독은 제품과 플랜으로 구성됩니다.
- 제품 - Stripe 용어에서 제품은 판매하는 항목입니다. 제품에는 하나 이상의 플랜이 포함될 수 있습니다.
- 제품에 설명을 추가하려면 "description"이라는 이름의 메타데이터 필드를 추가하고 이를 대신 사용하십시오. Markdown을 사용할 수 있습니다.
- 플랜 - 플랜에는 가격, 정기 주기, 그리고 구독자가 액세스 권한을 얻는 그룹이 포함됩니다.
Stripe 개인 키를 항상 안전하게 보관하십시오.
Discourse 인스턴스를 종료하거나 이 플러그인을 제거하거나 사이트가 오프라인이 되면, 구독이 취소될 때까지 Stripe가 서비스를 위해 고객에게 계속 청구합니다.
구성
- 플러그인 설치 및 활성화
- 결제 게이트웨이(Stripe) 구성
- Stripe에서 웹훅 및 이벤트 구성
- 관리자 > 플러그인 > 설치됨 > Subscriptions > 설정
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. 아래에 Stripe 키(공개, 비공개, 웹훅 비공개) 추가 - 구독자가 구매를 통해 가입할 그룹 생성
- 관리자 > 플러그인 > Subscriptions에서 제품 및 플랜 생성
- 수익화!
결제 게이트웨이 설정
먼저 Stripe 결제 게이트웨이 계정이 필요합니다. 시작하려면 테스트 모드로 계정을 설정하고 실제 거래를 하거나 은행 계정을 설정하지 않고 모든 것이 어떻게 작동하는지 확인할 수 있습니다. 플러그인에 테스트 모드 토글은 없으므로, 개발자 키(pk_test, sk_test로 시작)를 사용하도록 하십시오.
Stripe 계정에서 웹훅 및 이벤트 설정
웹훅은 구독 취소를 완전히 작동시키기 위해 필수적입니다. 올바르게 구성했는지 확인하십시오.
Stripe에 계정이 있으면 특정 거래에 대해 알림을 받을 수 있도록 Stripe에 웹사이트 주소를 알려야 합니다. 이는 Stripe 대시보드의 엔드포인트 > URL에 입력할 수 있습니다.
웹훅 주소: [서버 주소]/s/hooks – 여기서 [서버 주소]는 Discourse 설치의 URL입니다.
또한 Stripe에 웹훅 URL을 통해 어떤 이벤트에 대해 알림을 받아야 하는지 알려야 합니다.
현재 Discourse Subscriptions는 다음 이벤트에 응답합니다:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completedcheckout.session.async_payment_succeeded
플러그인 설정에 Stripe API 및 웹훅 키 추가
Stripe는 웹사이트와 통신할 수 있도록 권한이 필요합니다. 이를 위해 Stripe는 비공개 및 공개 API 키 쌍과 웹훅용 서명 비공개 키를 게시합니다.
웹훅을 승인하려면 Stripe의 API 키와 웹훅 비공개 키를 설정 페이지(Developers 아래)에 추가하십시오.
프로덕션 키를 추가하면 실제 결제가 발생합니다. 테스트할 계획이라면
테스트 데이터 보기모드로 전환하여 Developers 아래에서pk_test및sk_test키를 가져오십시오.
Stripe 계정 설정에서 다음을 참조하십시오:
이 키를 관리자 > 플러그인 > 설치됨 > Subscriptions > 설정 /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.의 적절한 설정에 추가하십시오.
Discourse에서 사용자 그룹 설정
사용자가 Discourse 애플리케이션에 성공적으로 구독하면 신용카드 거래가 처리된 후 사용자 그룹에 추가됩니다. 사용자를 사용자 그룹에 지정함으로써 웹사이트에서 사용자가 액세스할 수 있는 내용을 관리할 수 있습니다. 사용자 그룹은 Discourse의 핵심 기능이며, 이 플러그인은 플랜과 연결한 그룹에서 사용자를 추가하고 제거하는 것 외에는 아무것도 하지 않습니다.
하나 이상의 플랜이 포함된 제품 생성
관리자 > 플러그인 > Subscriptions에서 새 제품 추가를 클릭하십시오. 제품을 저장한 후 플랜을 추가할 수 있습니다. 플랜의 가격 및 청구 간격은 생성된 후에는 변경할 수 없음을 명심하십시오. 이는 구독 관리에 대한 혼란을 피하기 위한 것입니다.
Stripe 대시보드를 살펴보면 모든 제품과 플랜이 나열되어 있음을 볼 수 있습니다. Discourse Subscriptions는 이를 로컬에서 생성하지 않습니다. Stripe에서 생성됩니다.
테스트
이 신용카드 번호로 테스트하십시오:
- 4242 4242 4242 4242
- 4111 1111 1111 1111 (인증 불필요)
- 4000 0027 6000 3184 (인증 필요)
더 많은 테스트 카드 번호: Test card numbers | Stripe Documentation
/s를 방문하여 몇 가지 테스트 거래를 입력하십시오.
라이브 전환
라이브 전환 준비가 되면 API 및 웹훅 비공개 키를 프로덕션 키로 변경하십시오. 라이브 모드로 새 제품과 플랜을 생성해야 합니다.
Stripe 웹훅을 올바르게 구성하지 않으면, 정기 결제가 만료된 신용카드 등의 이유로 처리되지 않더라도 사용자는 여전히 그룹에 액세스할 수 있음을 유의하십시오. Stripe가 구독을 자동으로 취소하려면, 아래 이미지와 유사하게 실패한 결제 관리 설정을 하고 위에서 설명한 대로 웹훅을 구성하십시오.
결제 정보 업데이트
사용자는 청구 페이지를 방문하고 구독 옆의 편집 버튼을 클릭하여 개별 구독에 사용된 카드를 업데이트할 수 있으며, 그러면 이 화면이 열립니다:
Stripe Pricing Tables를 사용한 Stripe Checkout
구독 플러그인의 제품 및 체크아웃 페이지를 대신하여 Stripe Checkout과 Stripe Pricing Tables를 사용하도록 선택할 수도 있습니다.
Stripe 대시보드에서:
- Discourse에서 제품을 생성한 후, 제품 > 제품 카탈로그로 이동하십시오
- 가격 테이블에 포함할 제품을 클릭하십시오
제품 편집을 클릭하십시오추가 옵션을 클릭하고메타데이터아래에 다음을 입력하십시오:- 키:
group_name - 값: Discourse의 그룹 이름 (예:
trust_level_0)
- 키:
- 저장하려면
제품 업데이트를 클릭하십시오
Discourse의
User_Groups아래에서 선택된 그룹과 그룹 이름이 일치하는지 확인하십시오
Stripe 가격 테이블 생성
- 제품 > 가격 테이블로 이동하십시오
- 새 테이블을 만들고 방금 생성한 제품을 추가하십시오
- 테이블을 게시한 후, 임베드 코드 내에서 찾을 수 있는 가격 테이블 ID(
prctbl_...로 시작)를 복사하십시오 - 가격 테이블 ID를
discourse_subscriptions_pricing_table_id에 붙여넣고 구독 가격 테이블 설정을 활성화하십시오. - 두 설정을 저장하려면 녹색 체크마크를 클릭하십시오.
권장 단계:
Stripe에서 가격 테이블을 설정할 때, 체크아웃이 완료된 후 사용자를 사이트로 리디렉션하도록 링크하는 것이 권장됩니다. 그렇지 않으면 사용자는 사이트로 돌아가는 링크가 없는 Stripe 확인 페이지에 머물러 있게 됩니다.
구독의 경우 https://<your-site>/my/billing/subscriptions으로 리디렉션하는 것이 좋은 선택입니다. 일시불 결제의 경우 https://<your-site>/my/billing/payments로 직접 링크할 수 있습니다.
자동 세금 징수
자동 세금 징수를 활성화하려면 discourse_subscriptions_enable_automatic_tax 사이트 설정 상자를 확인하십시오.
이를 활성화했지만 Stripe 인스턴스를 세금 징수를 위해 올바르게 구성하지 않은 경우, 사용자가 체크아웃 프로세스를 완료한 후 이 팝업을 볼 수 있습니다:
더 자세한 정보는 이 가이드를 참조하십시오. 플러그인이 이제 적절한 automatic_tax[enabled]=true 매개변수를 전달하므로(5단계) 할 일이 많지 않을 것입니다.
등록 정보도 구성(4단계)하도록 하십시오:
세금이 자동으로 징수되었음을 보여주는 Stripe의 Discourse Subscription 플러그인 거래 예시입니다:
설정
| 이름 | 설명 |
|---|---|
| discourse subscriptions enabled | Discourse Subscriptions 플러그인을 활성화합니다. |
| discourse subscriptions extra nav subscribe | 기본 내비게이션에 구독 버튼을 표시합니다. |
| discourse subscriptions public key | Stripe 공개 키 |
| discourse subscriptions secret key | Stripe 비공개 키 |
| discourse subscriptions webhook secret | Stripe 웹훅 비공개 키 |
| discourse subscriptions currency | 기본 통화 코드. 구독 플랜 생성 시 이 값을 재정의할 수 있습니다. |
| discourse subscriptions campaign enabled | 이 커뮤니티를 재정적으로 지원하는 것을 홍보하는 캠페인 배너를 활성화합니다. |
| discourse subscriptions campaign goal | 지원 캠페인의 수치 목표(구독자 수 또는 모금 금액). |
| discourse subscriptions campaign type | 실행할 캠페인 유형(구독자 수 또는 월간 모금 금액)을 선택합니다. |
| discourse subscriptions campaign banner location | 캠페인 배너의 위치(상단 또는 사이드바)를 선택합니다. |
| discourse subscriptions campaign banner bg image | 캠페인 배너 배경으로 사용할 사용자 지정 이미지를 업로드합니다. |
| discourse subscriptions campaign banner shadow color | 캠페인 배너 드롭 섀도우의 색상을 선택합니다. |
| discourse subscriptions campaign show contributors | 구독 제품 최신 구매자의 아바타를 표시합니다. |
| discourse subscriptions campaign product | 캠페인에서 버튼을 클릭할 때 지지자에게 보낼 Stripe 제품 ID. 이 설정이 비어 있으면 지지자는 메인 제품 페이지로 이동합니다. |
| discourse subscriptions campaign grant | 사용자에게 무료 구독 1개월을 부여합니다 |
| discourse subscriptions pricing table id | 임베드 코드에서 가져온 Stripe 가격 테이블 ID |
| discourse subscriptions pricing table enabled | Stripe 가격 테이블 사용을 활성화하고 기존 구독 페이지를 대체합니다 |
| discourse_subscriptions_enable_automatic_tax | 판매세가 징수되는지 여부를 전환합니다. Stripe에서 일부 설정이 필요합니다. |
| discourse_subscriptions_enable_verbose_logging | 디버깅을 돕기 위해 더 자세한 로깅을 활성화합니다. 프로덕션에서 영구적으로 활성화해 두지 마십시오. |
우리가 호스팅하나요? 이 플러그인은 Pro, Business, Enterprise 호스팅 플랜에서 사용할 수 있습니다 Subscriptions | Discourse - Civilized Discussion




















