| 概要 | Discourse Subscriptions プラグインを使用すると、サイト所有者は、Discourse インスタンス上のグループへのアクセス権を付与する、定期購入および単発購入のサブスクリプションを販売できます。 | |
| インストールガイド | このプラグインは Discore コアにバンドルされています。プラグインを個別にインストールする必要はありません。 |
Discourse Subscriptions プラグインを使用すると、ユーザーが有料コンテンツにアクセスするために支払う、単発および定期購入のサブスクリプションを作成できます。これは、コミュニティのホスティング費用を賄うのに最適な方法です。
機能
Discourse Subscriptions プラグインは、以下の機能をサポートしています:
- 管理パネルから新しい製品とプランを作成
- 管理パネルからサブスクリプションのキャンセルと払い戻し
- 単発購入または定期購入のプランを作成
- 定期購入に無料トライアルを追加
- SCA/3D セキュア対応
- サブスクライブ/キャンセル時にユーザーをプラングループに追加/削除
- ユーザープロフィールからサブスクリプションをキャンセル
- サブスクリプション期間終了時の自動キャンセル
- Stripe Checkout のオプションサポート
- 自動売上税の計算と徴収
- ユーザーは個別のサブスクリプションに対してカード情報を更新可能
トップナビゲーションにある「Subscribe」ボタンをクリックすると、サイト用に設定したサブスクリプションがリスト表示されるサブスクリプションページ /s に移動します:
ユーザーが特定のプランの「Subscribe」ボタンのいずれかをクリックすると、そのプランの支払いページが開きます:
ユーザーが支払い詳細と住所を入力して「Subscribe」をクリックすると、「Thank you!」メッセージが表示され、請求ページに移動します:
ユーザーは自動的に選択したグループに追加されます。これにより、どのユーザーがサブスクライブしたかを簡単に確認でき、そのグループのみが閲覧できるカテゴリでゲート付きコンテンツを提供できます。
用語
- サブスクリプション - サブスクリプションは、コミュニティ内のコンテンツへのアクセスを制御できる定期支払いプランです。サブスクリプションが作成または削除されると、サブスクリプションプランに関連付けられたユーザーグループからユーザーが追加または削除されます。サブスクリプションは製品とプランで構成されます。
- 製品 - Stripe の用語における製品とは、あなたが販売しているものです。製品は 1 つ以上のプランを含むことができます。
- 製品に説明を追加するには、「description」という名前のメタデータフィールドを追加し、それを使用してください。Markdown を使用できます。
- プラン - プランには価格、定期サイクルが含まれ、サブスクライバーがアクセスするグループに関連付けられます。
Stripe の秘密鍵を常に安全に保管し、保護してください。
Discourse インスタンスをシャットダウンしたり、このプラグインをアンインストールしたり、サイトがオフラインになった場合でも、Stripe はサブスクリプションがキャンセルされるまで顧客に引き続き請求し続けます。
設定
- プラグインをインストールして有効化
- 支払いゲートウェイ (Stripe) を設定
- Stripe で Webhooks とイベントを設定
- Stripe キー(公開鍵、秘密鍵、Webhook 秘密鍵)を Admin > Plugins > Installed > Subscriptions > Settings
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. に追加 - 購入して参加するサブスクライバー用のグループを作成
- Admin > Plugins > Subscriptions で製品とプランを作成
- 利益!
支払いゲートウェイの設定
まず、Stripe 支払いゲートウェイのアカウントが必要です。開始するには、テストモードでアカウントを設定し、実際の取引を行わずに銀行口座を設定することなく、すべての動作を確認できます。プラグインにはテストモードの切り替え機能はありません。代わりに、開発者キー(pk_test、sk_test で始まるもの)を使用してください。
Stripe アカウントでの Webhooks とイベントの設定
Webhooks は、サブスクリプションのキャンセルを完全に機能させるために必須です。正しく設定されていることを確認してください。
Stripe でアカウントを作成したら、Stripe にウェブサイトのアドレスを通知する必要があります。これにより、特定のトランザクションについて通知を受け取ることができます。これは Stripe ダッシュボードの Endpoints > URL で入力できます。
Webhooks アドレス: [your server address]/s/hooks – ここで [your server address] は Discourse インストールの URL です。
また、Stripe に Webhook URL を通じて通知すべきイベントを伝える必要があります。
現在、Discourse Subscriptions は以下のイベントに対応しています:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completed
Stripe API および Webhook キーをプラグイン設定に追加
Stripe はあなたのウェブサイトと通信するために承認が必要です。これを行うために、Stripe は Webhook 用のプライベートキーとパブリックキーのペア、および署名秘密鍵を発行します。
Webhook を承認するには、Stripe からの API キーと Webhook 秘密鍵を設定ページ(Developers 下)に追加します。
本番環境のキーを追加すると、実際の支払いが行われます。テストを行う場合は、
View test dataモードに切り替え、Developers 下でpk_testとsk_testキーを取得してください。
Stripe アカウント設定では、以下を確認してください:
これらのキーを Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. の適切な設定に追加します。
Discourse でのユーザーグループの設定
ユーザーが Discourse アプリケーションに正常にサブスクライブし、クレジットカードの取引が処理されると、ユーザーはユーザーグループに追加されます。ユーザーをユーザーグループに割り当てることで、ウェブサイト上でユーザーがアクセスできる内容を管理できます。ユーザーグループは Discourse の中核機能であり、このプラグインは、プランに関連付けられたグループからユーザーを追加または削除する以外は何も行いません。
1 つ以上の製品とプランを作成
Admin > Plugins > Subscriptions で「add a new Product」をクリックします。製品を保存したら、プランを追加できます。プランの価格と請求間隔は、一度作成すると変更できないことに注意してください。これは、サブスクリプション管理に関する混乱を防ぐためです。
Stripe ダッシュボードを確認すると、すべての製品とプランがリストされていることがわかります。Discourse Subscriptions はこれらをローカルに作成しません。これらは Stripe で作成されます。
テスト
以下のクレジットカード番号でテストしてください:
- 4242 4242 4242 4242
- 4111 1111 1111 1111(認証不要)
- 4000 0027 6000 3184(認証必要)
他のテストカード番号については:Test card numbers | Stripe Documentation
/s にアクセスして、いくつかのテスト取引を入力してください。
本番環境への移行
本番環境に移行する準備ができたら、API キーと Webhook 秘密鍵を本番環境のキーに変更してください。ライブモードで新しい製品とプランを作成する必要があります。
Stripe Webhooks を正しく設定していない場合、何らかの理由(クレジットカードの有効期限切れなど)で定期支払いの処理に失敗しても、ユーザーは引き続きグループにアクセスできることに注意してください。Stripe によってサブスクリプションが自動的にキャンセルされるようにするには、Manage failed payments 設定を下図のように設定し、上記のように Webhooks を設定してください。
支払い情報の更新
ユーザーは請求ページにアクセスし、サブスクリプションの横にある編集ボタンをクリックすることで、個別のサブスクリプションに使用しているカードを更新できます。これにより、以下の画面が開きます:
Stripe Checkout と Stripe 価格表
サブスクリプションプラグインの製品およびチェックアウトページを置き換え、代わりに Stripe Checkout と Stripe Pricing Tables を使用することもできます。
Stripe ダッシュボードで:
- Discourse で製品を作成した後、Products > Product catalog に移動
- 価格表に含めたい製品をクリック
Edit productをクリックMore Optionsをクリックし、Metadataに以下を入力:- Key:
group_name - Value: Discourse 上のグループ名(例:
trust_level_0)
- Key:
Update productをクリックして保存
グループ名が Discourse の
User_Groupsで選択されているグループと一致していることを確認してください
Stripe 価格表の作成
- Products > Pricing tables に移動
- 新しい表を作成し、直前に作成した製品を追加
- 表を公開後、埋め込みコード内にある価格表 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 | メインナビゲーションに Subscribe ボタンを表示します。 |
| discourse subscriptions public key | Stripe Publishable Key |
| discourse subscriptions secret key | Stripe Secret Key |
| discourse subscriptions webhook secret | Stripe Webhook Secret |
| 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 価格表の使用を有効化し、既存の Subscribe ページを置き換えます。 |
| discourse_subscriptions_enable_automatic_tax | 売上税の徴収を切り替えます。Stripe でのいくつかの設定が必要です。 |
| discourse_subscriptions_enable_verbose_logging | デバッグを支援するための詳細なログ記録を有効化します。本番環境では永続的に有効化しないでください。 |
当社がホストしていますか? このプラグインは、Pro、Business、Enterprise ホスティングプランで利用可能です Subscriptions | Discourse - Civilized Discussion















