前回の振り返り
【第5回】ではCloudflare Workersとwranglerを紹介した。今回は「お金」を扱うStripe CLIの話。
Stripeとは ― 超ざっくり説明
Stripe = オンライン決済サービス。
ウェブサイトでクレジットカード決済を受けるための仕組みを提供してくれる。影武者システムでは月額500円のサブスクリプション(定期課金)をStripeで管理している。
なぜ必要か ― Webhookのテストが簡単にできる
Stripeでは「Webhook」という仕組みが重要だ。
誰かが決済を完了すると、Stripeが「この人が払いましたよ」という通知(Webhook)を自分のサーバーに送ってくれる。この通知を受け取って、アカウントを有効化したりメールを送ったりする。
問題は、開発中にこのWebhookをテストするのが面倒だということ。本来はインターネット上に公開されたサーバーが必要になる。
ここでStripe CLIの出番だ。
Stripe CLIとは
Stripe CLI = Stripeの操作やWebhookテストをコマンドラインから行えるツール。
特に強力なのが stripe listen コマンド。これを使うと、StripeのWebhookを自分のPC上で受け取れる。
インストール方法
Stripe CLIは公式サイトからダウンロードする。
https://stripe.com/docs/stripe-cli
Windowsの場合はzipをダウンロードして展開。パスの通った場所に置く。初回はStripeアカウントでログイン:
stripe login
# ブラウザが開くので、Stripeアカウントで許可する
自分の使い方 ― listen --forward-to が神
一番使うコマンドはこれ。
stripe listen --forward-to localhost:8787/webhook
これで何が起きるかというと:
- Stripe CLIがStripeと自分のPCをつなぐトンネルを作る
- テストモードで決済が発生すると、Webhookが自分のPCに届く
- PC上で動いている開発サーバー(localhost:8787)がそれを受け取る
つまり、決済の一連の流れをPC上で完全にテストできる。
テスト用カード番号 4242 4242 4242 4242 を使えば、何度決済しても本物のお金は動かない。有効期限は未来の日付なら何でもOK、CVCも適当な3桁でいい。
・サブスクリプションの作成・更新・解約の通知が処理できるか
・二重処理の防止が機能しているか
これらを本番に影響ゼロでテストできるのが最大のメリット。
影武者システムでは、LPからの購入→Stripe決済→Webhook受信→アカウント有効化→セットアップメール送信、という流れを何十回もテストした。Stripe CLIがなければ、このテストは本当に大変だったと思う。
次回予告
次回はPythonと便利ライブラリの話。「Node.jsがあるのになぜPython?」という疑問に答える。音声合成や画像処理など、Pythonならではの活躍シーンを紹介する。
第2回:Node.js & npm
第3回:Git
第4回:Google Apps Script & clasp
第5回:Cloudflare Workers & wrangler
第6回:Stripe CLI
第7回:Python & 便利ライブラリ
第8回:まとめ ― 全体像と選び方
家庭教師の勤怠管理、まだ手作業でやってませんか?
影武者システムを見てみる