ハコヅミを作る #72:課金を作る前に、決めたこと(月払いだけ、差は画像だけ、住所はどうする)
#71 で、課金の前の小さな直しを入れました。そのあと、コミュニティ機能のステップ7 を閉じて、課金のステップ8 を作りました。
今回は、まだコードはほとんど書いていません。作る前に、決めることを決めました。
- Stripe で、何が作れるのか
- 月払いだけ、カード払いだけ
- 有料との差は、画像だけ
- 無料の料理を、20件から100件に
- 住所と電話番号を、どう出すか
- 課金を、6つの Issue に分ける
- お知らせの日付を、出す日に直す
Stripe で、何が作れるのか
最初に聞いたのは、これでした。
まずはStripeでどのようなシステムを作れるのか?の概要を知りたい
#69 に書いたとおり、課金を作るいちばんの理由は、Stripe で課金の仕組みを作る経験を積むことです。何ができるかを知らないと、何を作るかも決められません。
Claude Code がまとめたのは、ハコヅミに関係するところだけでした。
| 仕組み | してくれること |
|---|---|
| Billing | 月額の料金を作って、毎月自動で引き落とす |
| Checkout | カード番号を入れる画面を、Stripe が用意する |
| Customer Portal | 解約・カードの変更・領収書を、Stripe の画面で本人ができる |
| Webhook | 申し込み・更新・失敗・解約を、こちらのサーバーに知らせる |
| 一時停止 | 契約を残したまま、引き落としを止める |
| テストの仕組み | テストの鍵・テストのカード・時計を進める機能 |
いちばん大きかったのは、カード番号に、ハコヅミが一度も触らなくてよいことです。カード番号を入れる画面も、カードを変える画面も、Stripe が持っています。ハコヅミが持つのは、「この人は有料か」という状態だけです。
もう1つは、時計を進める機能(Test Clocks)です。毎月の更新や、1か月後の支払いの失敗を、本当に1か月待たずに試せます。
月払いだけ、カード払いだけ
決めたことは、わたしがまとめて出しました。
・月払いのみで年払いはなし ・休止はStripeの一時停止とする ・フリーに戻ったときは現在の方針(上限を超えた分も消さず、新しい登録のみ止める) ・カード払いのみでOKでは?(意見が欲しい)
年払いは、作りません。作る量が減り、経験を積む目的には、月払いだけで足ります。
カード払いだけにすることには、Claude Code も賛成でした。理由は、毎月の自動の引き落としに向くのは、カードだけだからです。コンビニ払いは、毎月自分で払いに行く形になり、休止や解約とも組み合わせにくい。
そのかわり、Apple Pay と Google Pay は、有効にすることにしました。中身はカード払いなので、Stripe の支払いの画面の設定をオンにするだけで出ます。スマホで申し込む人が楽になって、作る手間は増えません。
休止(冬のあいだ、支払いを止めておく)は、Stripe の一時停止で作ります。ただ、調べると、Stripe の契約管理の画面は、一時停止に対応していないようでした。休止のボタンは、ハコヅミの側に作ることになりそうです。
有料との差は、画像だけ
ここが、いちばん大きな決定でした。
・有料の場合でもそれぞれの上限数はフリーと変わらず、画像のみを50から画像添付が可能なものの合計値(ギア+料理+キャンプの合計値?)とする(アイコンは含まない)
無料と有料で違うのは、画像の枚数だけにしました。
| 無料 | 有料 | |
|---|---|---|
| ギア・消耗品・料理・コンテナ・プラン・キャンプの数 | 同じ | 同じ |
| 画像 | 50 枚 | 500 枚(ギア 300+料理 100+キャンプ 100) |
500 枚は、「ギア・料理・キャンプの全部に、1枚ずつ付けられる」数です。
画像は、ハコヅミで唯一、増えるとお金がかかるものです。画像は送る前に縮めているので、1枚 200KB くらい。500 枚で、1人 100MB くらいになります。置き場所(Cloudflare の R2)は 10GB まで無料なので、有料の人が増えても、すぐには困りません。
Claude Code は、正直な意見も添えてきました。
有料との差が画像だけだと、払う理由は弱め。ただ、今回の目的は「課金の仕組みを作る経験」なので、それでよいと思う。
わたしも、そう思います。料金を安めにして、あとで機能を足す余地を残しておきます。
無料の料理を、20件から100件に
有料との差を画像だけにしたことで、1つ、決めごとが浮きました。
10月6日に、無料の料理の上限を 20 件にしていました。そのときの考えは、「有料との差は、画像がいちばん、次に料理」でした。差を画像だけにした今、料理の数で差を置く理由は、なくなりました。
・フリーでも料理が20は少ないと思うので、キャンプと合わせて100とする
課金を作るのを待たずに、先に出しました。今のテスタにも、すぐ効くからです。

料理の一覧の「登録数」(架空のデータ)
直したのは、データベースの上限の数を書き換える1行だけです。画面のコードは、変えていません。上限の数は、コードに書かず、データベースに持っておく。前に決めたこの決まりが、ここで効きました。
住所と電話番号を、どう出すか
有料のサービスを売るには、特定商取引法の表記が要ります。販売する人の氏名・住所・電話番号などを、ページに出すものです。
個人で作っているので、自宅の住所や携帯の番号を出すのは、ためらいます。
調べると、「請求があれば、遅滞なく開示します」と書いておけば、住所と電話番号を省ける、という説明が多く見つかりました。ただし、本当に請求が来たら、すぐに出せることが前提です。
わたしは、参加しているオンラインコミュニティで、バーチャルオフィスの住所を無料で使えます。
住所はそれを使うとして、電話番号は非表示でもいいかな?
まとめると、こうなりました。
| 項目 | 出し方 |
|---|---|
| 住所 | バーチャルオフィスの住所(使ってよい範囲と、郵便を受け取れるかを、先に確かめる) |
| 電話番号 | 表には出さず、「請求があれば、遅滞なく開示します」と書く。伝える番号は、050 の番号を用意する |
| 氏名 | 「始める」前に確かめる |
Claude Code が、くり返し念を押したことがあります。「出さない」のではなく、「請求があれば出す」のだということ。番号を持たなくてよいわけでは、ありません。
もう1つ、2022年の法律の改正で、申し込みの最後の画面にも、料金や解約の決まりなどを出す必要があります。Stripe の支払いの画面は、Stripe のものです。ハコヅミの側で、Stripe へ移る前に、確認の画面を1枚はさむことにしました。
ここまでは、Claude Code と調べた範囲での整理です。法律の専門家には、確かめていません。表記のページを出すのは、本番で課金を「始める」ときです。それまでに、消費者庁のガイドの原文と、Stripe の公式のページで確かめます。
課金を、6つの Issue に分ける
決めたことをもとに、課金を作る順番を Issue にしました。
| Issue | 中身 |
|---|---|
| 土台 | 契約の持ち方、Stripe からの知らせを受ける入口、会員区分の切り替え |
| 申し込みと解約 | 確認の画面、Stripe の支払いの画面、契約の管理の画面 |
| 支払いの失敗 | 再試行のあいだは有料のまま、すべて失敗したら無料に戻す |
| 休止 | 休止・再開のボタン、休止のあいだは無料と同じ扱い |
| 退会・凍結 | 退会したら契約をすぐ止める、規約とプライバシーポリシー |
| 始める | 特定商取引法の表記、テスタへの約束、本番の鍵と料金 |
最初の5つが「作る」、最後の1つが「始める」です。10月15日に決めたとおり、作るのはオフシーズンのうちに、始めるのは季節の前に、決めてからにします。
1つ目の「土台」には、画面がありません。Stripe から届く知らせを受けて、会員区分を切り替える仕組みだけです。テストでは Stripe に届かないので、Stripe と同じ形の知らせを、テストの中で作って送ります。
お知らせの日付を、出す日に直す
料理の上限の直しは、10月16日に作って、10月17日の朝に本番に出しました。
ハコヅミでは、お知らせの日付は「本番に出す日」にする、と決めています。作った日の 10月16日で書いていたので、出す前に、日付だけを直す小さな PR が要りました。PR を出すと、テストが全部流れます。1行の直しでも、13分くらいかかります。
作るのが夜で、出すのが翌朝、ということは、これからもありそうです。日をまたぎそうなときは、出す日を先に決めてから、お知らせを書きます。
おわりに
- 何を作るかを決める前に、何が作れるかを知る
- カード番号には、触らない。持つのは「有料か」という状態だけ
- 経験を積むのが目的なら、月払いだけで足りる
- 毎月の自動の引き落としに向くのは、カードだけ。Apple Pay・Google Pay は、手間なく足せる
- 差を1つに絞ると、ほかの決めごとが浮いてくる。浮いたものは、先に直す
- 上限の数をコードに書かずにおくと、変えるのは1行で済む
- 「出さない」と「請求があれば出す」は、違う。出せる用意はしておく
- 日をまたぎそうなときは、出す日を先に決めてから書く
次は、課金の土台の予定です。取りかかる前に、Stripe のテストのアカウントの用意が要ります。
テスタを募集しています。キャンプに行く方、よければ、触ってみてください。