回数券の運用設計・実装可否・実装場所 — 議論+ファクトチェックまとめ

2026-06-08 朝 提示用 / 部下4人(既存コード調査・Stripe/会計/法務FC・回数券データ設計・前回の料金FC)+一次情報で検証

30秒まとめ:ご質問の論点(期限一覧・1枚購入・返金・パジャマ切れ時の私服・実装場所)はすべて設計でき、実装も可能です。ただし2つ大事な事実:

実装場所はご提案どおり「容姿選択の入口で AI生成 / プリセット に分岐」でOK(コード調査で裏取り済み)。最大の難所は料金ではなく絵本生成器にカスタムアンカーを渡す改修(一発勝負)です。

1. ⚠️ 法律(最重要・専門家確認が必須)

回数券(残数をためて後で使う)=「前払式支払手段(資金決済法)」に当たる可能性が高い方式です(前回 PRICING_DISCUSSION.html で判定済み)。
救い:「購入から6ヶ月以内に失効・繰り越しなし・自動延長なし」を厳守すれば適用除外になり、届出・供託は不要(一次情報=資金決済法4条2号で確認)。
⚠️ 条件:「6ヶ月」はシステムで強制失効/満了後の自動再付与はNG/規約と購入画面に明記。これを正しく作れているかは素人判断でミスると除外が崩れるため、前払式に詳しい行政書士に規約・設計を1回レビュー(費用対効果が高い・必須条件)。
💴 会計:販売時は「前受金」、利用時に売上、失効分は「雑収入(不課税)」。税理士確認も推奨

CLAUDE.md「お金・決済の規制は専門家に」に該当。私(Claude)だけで「本番GO」とは言えない領域です。前回PMが選んだ"残高を持たない安全策(買い切り¥500)"から、あえて"残高を持つ回数券"に踏み込む形になる点はご認識ください。

2. 実装場所 =「容姿選択からの分岐」でOK(裏取り済み)

今の容姿選択(プリセット372種)の入口に、「✨AIで専用アンカーを作る(有料) / プリセットから選ぶ(無料)」のモード選択を前置きするのが最も自然、とコード調査で確認しました。新規登録と「お子さま情報の変更」の両方を1か所に集約できます。

[新規登録] 名前→容姿選択の入口→ ① ✨AIで作る(有料) … 回数券で生成→プレビュー→確定 └ ② プリセットから選ぶ(無料) … 今までどおり [お子さま情報の変更] 「容姿/名前/誕生日」の3択に 「✨専用アンカーを作る」を4つ目として追加→ ①へ合流

技術:LIFFの容姿選択画面(refSelection)の表示開始に分岐を追加+編集メニューに4択目。課金は既存の単品購入(single_order・確認画面・Stripe)の仕組みをほぼ流用できます。

3. 回数券の仕組み(期限の一覧表示・PM要望)

買うたびに「ひと束(バッチ)」として記録し、期限が近い束から自動で使います(FIFO)。マイルと同じ考え方。これでご要望の「タップ→期限を一覧表示」が自然にできます。

🎟 回数券ののこり:23枚 [タップで内訳▼] ──────────────────────────────── 購入日 のこり 有効期限 2026/06/01 0枚 2026/12/01(使い切り) 2026/06/20 3枚 2026/12/20 ⏳あと13日 2026/07/05 20枚 2027/01/05 ──────────────────────────────── ※ 期限が近い券から自動でつかわれます ※ 期限切れの券は元に戻せません

データは2つの表で管理:①束(購入日/残数/期限)=一覧表示用 ②台帳(いつ何に使ったか・追記専用)=返金やトラブルで後から追える用。期限14日前にLINE通知で「使い忘れ」を防止。

4. 1枚単位の購入 → 不可。最小パックで¥10/枚を維持

判定理由
1枚¥10 都度購入✕ 不可StripeのJPY最低決済額が¥50(公式Docsで確認)。¥10単発は受け付けられない
10枚 ¥100(推奨)1回¥100の決済なら手数料負けしない。1枚あたり¥10を維持
30枚¥300 / 60枚¥600お得感のため併売(単価は¥10据え置きでOK)
文言案:「回数券は10枚(¥100)から。1枚あたり¥10です。新しいキャラ作成に2枚、やり直しに1枚つかいます。」

5. 誤購入の返金・回数の減算(容易さ)

返金はStripeのAPIでとても簡単(全額も一部も一行)。注意は「元の決済手数料は戻らない」点(少額返金は当方が手数料を被る)。残数の減算もDB側で容易ですが、ポリシーをシンプルにするのが事故防止のコツ。

ケース推奨対応
買った直後・1枚も使っていない束全額返金OK(束を無効化+台帳記録)
1枚でも使った束返金不可(按分計算のもめ事を避ける・規約に明記)
二重課金・システム起因全額返金(こちらの非)
推奨=シンプル運用:「未使用の束は全額返金可・1枚でも使ったら返金不可」。購入前の確認画面で「10枚¥100・6ヶ月有効・原則返金不可」を明示+同意チェック(既存の特商法確認画面を流用)すれば「知らなかった」クレームを大幅に減らせます。

6. パジャマ=1枚消費/回数切れ時は「私服でおやすみ本」

おやすみ便はパジャマ姿の絵本。パジャマアンカーが無い/回数券が足りない時は、私服アンカーで生成します(止めずに届ける)。これは生成器に「パジャマ無→私服で代用」の分岐を1つ足せば実現でき、一貫性も保てます(実コードで確認済み)。

お客様向け文言案①(おやすみ便とは)

おやすみ便(おやすみの絵本)とは、夜のよみきかせ用に、パジャマすがたのお子さまが登場するねむくなる絵本です。やさしいお話で1日のおわりにぴったり🌙

お客様向け文言案②(パジャマ未作成・回数切れ時)

💡 パジャマすがたについて
おやすみ便では、お子さまがパジャマすがたで登場します。パジャマすがたを作るには回数券を1枚つかいます。
まだパジャマを作っていない/回数券が足りないときは、ふだんのお洋服(私服)すがたでおやすみ便をおとどけします。お話はおやすみ用なので、そのままでも楽しめます。
パジャマすがたにしたいときは、回数券をおぎなって「パジャマを作る」からどうぞ。

ポイント:「作れない・止まる」ではなく「私服で代わりに届く(ちゃんと楽しめる)」と前向きに見せてクレームを断つ。

7. 消費モデル(数え方の落とし穴に注意)

アクション消費備考
私服を1枚作る(初回・やり直し問わず)1枚やり直しのたびに1枚
パジャマを作る(確定時)1枚
=新規キャラ最低2枚私服1+パジャマ1(やり直しゼロの場合)
事故防止の数え方:内部は「生成1枚=1枚消費」で統一。「新規=2枚」は“最低ライン”の説明用に。
消費順序=プラン無料分 → 購入した回数券(無料分は当月失効・繰越なし=規制リスクを下げる)。
暴走防止に月50回/人の上限を推奨。

8. 穴・実装上の問題点(優先度つき)

優先問題推奨対応
🔴資金決済法リスク(回数券=前払式)6ヶ月失効・繰越なしを厳守+専門家確認(必須)
🔴生成失敗時に回数を消すか消さない=自動で1枚戻す(安全フィルタ誤ブロック対策)+二重課金防止
🔴残数0での生成ブロック生成の入口で残数チェック→減算→生成を1かたまり(トランザクション)で。失敗時は戻す
🟠期限切れの自動失効消費時に期限切れ束はスキップ+日次で失効処理。残数表示は常に「有効な束の合計」
🟠二重課金・Webhook重複冪等キー+mark-before-process(既存単品の作法を流用)
🟠確定前のやり直しで枚数だけ減るUXやり直しボタンに「1枚つかいます/残りX枚」を毎回明示
🟡残数のリアルタイム表示ズレ表示は常にサーバ計算(クライアントに持たせない)・生成直後に再取得
🟡パジャマ切れ時の私服フォールバック生成器に分岐+§6の文言通知

9. 実装可否の総括+最大の難所

料金・回数券まわりは実装可能(テーブル2枚=束+台帳・FIFO・期限一覧・パック¥100・返金・パジャマ代替・残数表示)。課金は既存の単品購入を雛形に流用できます。

🔴 本当の難所は料金ではなく「絵本生成器にカスタムアンカーを渡す改修」です。今の絵本生成は属性から焼き込み画像を引く作りで、お客様のアンカー画像を読みません。ここに「カスタムアンカーURLを使う分岐」を新設する必要があり、本番(Cloud Run)改修+Docker再ビルド+サンプル実生成1冊での検証が必須(一発勝負・リリース後修正不可の領域)。スパイクでローカル実証は済んでいますが、本番反映は慎重に。

10. 明日 決めていただきたいこと

  1. 専門家確認:回数券で進めるなら行政書士レビューを入れる前提でよいか(必須条件)。
  2. パック構成:10枚¥100を最小に、30枚¥300等を併売するか。
  3. 有効期限:6ヶ月で確定(PM決定済)。期限14日前のLINE通知を入れるか。
  4. 返金ポリシー:「未使用の束のみ全額返金・使ったら不可」でよいか。
  5. 消費モデル:「生成1枚=1枚消費/パジャマ確定+1枚」でよいか。月50回/人上限を設けるか。
  6. プラン無料回数:毎月いくつ付与するか(例 ライト10/スタンダ20/プレミア40 など)。
  7. 買い切り¥500は廃止し回数券一本にするか(前回の安全策との分岐)。

決定後 → 設計書(AI_CUSTOM_ANCHOR_FEATURE_DESIGN.md)の価格欄を回数券方式へ更新+プロトタイプに「回数パック購入UI+残数表示」を実装。出典(Stripe Docs/資金決済法/国税庁/消費者庁)は議論ログに保存済み。