Skip to content

決済・アクセス制御方式の選定 ​

項目内容
最終更新2026-08-04

現状(2026-08): サイト内 Stripe Checkout / Webhook は削除。販売は 自サイト HTML + codoc ペイウォール(note 販売は採用しない)。購入記録テーブルと PaidArticleAccessService は維持するが、codoc 購入との自動同期は当面しない(Commerce モジュール 参照)。

1. 目的 ​

有料記事(月 1 回更新)の 決済方法・購入管理・アクセス制御 の方式を選定し、実装 sub-issue に渡せる要件を文書化する。

当面の決済 UI は codoc プラグインのペイウォールに委譲する。号ごとの販売価格は WordPress 管理画面(基本情報)の paid_article_codoc_price meta が正本。訪問者経路では intro + 安定な data-id="codoc-tag" 境界のみを出し有料セクション HTML はレスポンスに載せない。保存時に Gutenberg 互換ペイロードを post_content へ書き、プラグインの save_post 同期で販売記事(entry)と codoc_entry_code を得る。管理画面で entry code を手入力しない。

2. 販売形態の確定 ​

項目決定
販売形態単号購入のみ
月額サブスク対象外(継続課金・解約・失効の運用コストが大きいため)
バックナンバー各号を個別商品として販売
購入後のアクセス永久アクセス(購入した号は継続して閲覧可能)

単号購入を採用した理由 ​

  • 月 1 配信のコンテンツ特性に合う(号ごとに完結した価値提供)
  • サブスクに比べ決済・失効・解約フローが単純で、バグリスクが低い
  • 初号〜数号は販売実績が未知数のため、購入ハードルを下げやすい

方式比較・未採用案・履歴は 決済-アクセス制御-検討.md に分離する。

3. 採用方式(現状) ​

項目方針
決済 UIcodoc ペイウォール(安定 data-id="codoc-tag" + プラグイン同期)
管理画面基本情報で 販売価格(円・非負整数) を号ごとに保存。既定値 1000
価格の正WP 基本情報の販売価格 meta。entry code は手入力せずプラグイン同期に委ねる
無料/有料境界無料=当面 intro のみ。訪問者レスポンスに有料セクション HTML は載せない。同期用 post_content には有料 HTML を含める
出力経路表示は intro + 安定境界(codoc_the_content / the_content)。保存時は Gutenberg 互換ペイロードで sync_entry
購入記録db_paid_article_purchase は維持。codoc 購入との自動同期は当面しない
閲覧判定(WP)PaidArticleAccessService は維持(編集者・将来の自前決済用)。当面の一般訪問者ゲートは codoc
note採用しない(旧リード CTA / NOTE_URL 販売導線は廃止済み)

3.1 管理画面要件 ​

項目要件
入力有料記事「基本情報」に販売価格(円)
保存post meta(CODOC_PRICE = paid_article_codoc_price)
サニタイズ非負整数。空欄保存時は既定値 1000 を保存。未設定 meta の号を編集画面で開いたときも既定値を永続化
再表示編集画面で保存値が再表示できること
旧 NOTE_URL販売導線としては使わない。コード上の読取・管理 UI は削除済み。既存 meta は残っていても挙動に影響しない

3.2 価格未設定時 ​

meta が空のレガシー号のみ、販売未開始として ペイウォール境界を挿入しない(編集者は全文を確認できる)。新規号・編集画面オープン・空欄保存では既定値 1000 が入るため、通常運用では未設定になりにくい。未設定時に外部 note へ誘導しない。価格クリア時は WP の同期用 post_content を空にするが、codoc 側の既存 entry の非公開・削除は行わない(手動または後続タスクで扱う)。

3.3 編集者・プレビュー ​

  • 編集者の通常閲覧: 境界なし全文(編集確認用)
  • visitor preview: 価格あり時はテンプレ+境界経路

3.4 日別記事の codoc との分離 ​

日別記事末尾の投げゼニ(CodocSupportWidgetService)は 本方式の対象外。有料記事ペイウォールとは entry/用途を分離する。

4. 未購入者への表示ルール ​

ルール内容採用
intro 無料+以降ペイウォール無料部分(当面 intro)のみ見える。以降は codoc が購入 UI/解錠を担う採用
全文非表示タイトルと購入ボタンのみ不採用(訴求が弱い)
リード専用 HTML で exit旧 note 導線向け。テンプレに進まない廃止

採用: 無料=intro、有料=残り visible。テンプレ表示まで進め、訪問者経路では intro + 安定な data-id="codoc-tag" 境界のみを出し有料 HTML はレスポンスに載せない。販売記事の作成・更新は保存時の Gutenberg 互換 post_content → プラグイン sync_entry。価格の正本は paid_article_codoc_price meta。

5. 過去号アクセスポリシー ​

項目方針
購入済み号永久アクセス(サブスク失効の概念なし)。当面は codoc 側の購入状態が正
未購入の過去号intro +ペイウォール。バックナンバーは 号ごとに単品購入
購入記録の保持WP テーブルを使う場合は返金・問い合わせのため 最低 7 年 を目安(会計・税法は別途専門家確認)

購入記録の管理方式 ​

db_paid_article_purchase は将来の自前決済および既存 AccessService 用に維持する。ゲスト購入をサイト内決済で扱う場合は wp_users.ID と paid_article 投稿 ID を紐づける。codoc 購入レコードの自動 INSERT は当面しない。

6. 決済プロバイダ・手数料 ​

当面の販売は codoc 上で行う。サイト内決済(旧 Stripe Checkout)は削除済み。国内決済代行の第一候補は KOMOJU(比較候補: GMOイプシロン / Univa Pay 等)。手数料・入金サイクルは公開情報を目安とし、契約時に再確認する。

7. 個人情報・領収書・返金ポリシー ​

項目方針
個人情報自サイトプライバシーポリシー + 外部決済(codoc 等)のデータ処理
領収書外部決済側(codoc)のレシート/取引履歴を基本とする
返金返金ポリシーをサイトに明記し、販売プラットフォーム側で返金操作
特商法表記自サイトに記載

方針: 返金ポリシー(デジタルコンテンツの扱い・期限)は 初号公開前 に運用チェックリストに明文化する。

自サイト販売では、利用規約(terms)・特定商取引法表記(tokushoho)・プライバシーポリシーを固定ページで表示し、フッター導線と有料記事 CTA 付近から参照できること。本文の正本は db_legal_document_version(管理画面「法務文書」)。Tokusho Generator / [tokusho] ショートコードには依存しない。会員再同意は利用規約の現行版(document_type=terms)のみ。詳細: 法務文書版管理.md。

8. 実装への引き渡し要件(サマリ) ​

要件方針
未購入者表示intro 無料 + codoc 安定境界(有料 HTML 非出力)
管理画面販売価格 meta。既定値 1000。境界挿入の正本は meta
販売記事同期保存時 post_content → プラグイン sync_entry
購入済み表示当面は codoc 解錠。WP テーブル連携は将来
ゲスト購入codoc 側の仕様に従う。自前決済再導入時は WP ログイン必須を再検討
購入記録の正(WP)カスタムテーブルは維持するが、codoc との自動同期は非対象
品質Unit・シナリオ・受け入れ

9. 非対象 ​

  • KOMOJU Adapter 実装
  • 日別記事の投げゼニ(既存 codoc サポート)の改修
  • db_paid_article_purchase と codoc 購入の自動同期
  • note 販売の継続(note エクスポート機能と画像スナップショット機能は削除済み)

10. サイト内 Stripe Checkout(削除済み) ​

実装していた Stripe Checkout Session 作成・Webhook 受信は 削除済み。詳細設計書(Stripe決済-技術選定理由.md 等)も同変更で削除済み。将来の国内代行導入時に REST / Webhook を再定義する。

11. 旧 note 導線(廃止・履歴) ​

2026-08 以前はリード CTA → note 記事 URL(NOTE_URL)を販売導線としていた。スマホ可読性の問題から note 販売およびエクスポート改善は撤回し、本方式へ移行した。リード CTA / NOTE_URL コードは撤去済み。

12. 関連ドキュメント ​