RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-03-14上級

Rork Max × Stripe サブスクリプションを本番運用へ — Webhook冪等性・状態遷移・照合の実装

Rork Max と Stripe でサブスクリプションを構築する手順に加え、テストモードでは見えない本番の落とし穴(Webhookの二重配信・順序逆転・状態遷移・DBとStripeの照合)を実装コードとともに解説します。

rork-max41stripe3subscription10アプリ内課金9決済7

プレミアム記事

テストモードで通ったのに、本番で二重課金の問い合わせが来た

サブスクリプションの実装で一番怖いのは、テストモードのチェックリストを全部通過して安心した数日後に届く「二重に請求されています」という一通のメールでした。個人開発でメンバーシップ課金を運用していて、私が最初に痛感したのはこの点です。決済フローを組むこと自体は難しくありません。難しいのは、Stripe から届くイベントが「必ず一度だけ、順番どおりに来る」という暗黙の前提を、コードが勝手に置いてしまうことでした。

Stripe の Webhook は、同じイベントを複数回送ることがあります。ネットワークの都合で subscription.updatedsubscription.created より先に着くこともあります。テストモードで手動クリックしているうちは、これらはまず起きません。起きるのは、実ユーザーが増えて、リトライとタイムアウトが日常になった本番だけです。

以下では、Rork Max と Stripe でサブスクリプションを立ち上げる基本手順をおさえたうえで、その「本番でだけ壊れる」層に絞って実装を掘り下げます。基本のつなぎ込みができている方は、前半を飛ばして「Webhookを冪等にする」から読み進めていただければと思います。

前提条件

このガイドに取り組む前に、以下の準備を整えておいてください。

  • Rork Max アカウント: 基本的な操作に慣れていることが望ましいです。はじめての方はStripe 決済連携ガイドから着手すると流れをつかみやすいです。
  • Stripe アカウント: 管理画面にアクセスでき、公開可能キーとシークレットキーを取得できる状態にしてください。
  • REST API と JSON の基礎: Webhook の署名検証やイベント処理を読み解くうえで必要です。
  • データベース: ユーザーとサブスクリプション情報を保存します。Supabase / Firebase いずれでも構いません(バックエンドガイド参照)。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Webhookの二重配信・順序逆転をイベントID台帳で吸収する冪等処理の実装
past_dueやincompleteを含むサブスクリプション状態遷移の扱いと、DBをStripeへ照合する再同期ジョブ
Stripe CLIでのローカル検証手順と、手数料を織り込んだ損益分岐の試算表
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-05-25
Rork で作る iOS アプリに StoreKit 2 で買い切り課金を実装するノート
Rork が生成する Swift / SwiftUI コードに StoreKit 2 で買い切り課金を後付け実装する手順メモ。累計 5,000 万 DL の壁紙アプリで StoreKit 1 から 2 へ移行した経験を踏まえて、ProductID 設計・Transaction 検証・Paywall UI・本番ハマりどころまで実装サンプル込みで共有します。
開発ツール2026-07-13
Detox と Maestro の E2E が全部緑なのに本番でクラッシュが出ていたとき — 自動リトライが握りつぶした不安定テストをフレーク率で炙り出す運用メモ
E2Eが全部緑なのに本番クラッシュが出る。原因は自動リトライがフレークを握りつぶしていたこと。テスト単位でフレーク率を計測し、隔離とリトライ予算で本物の失敗だけを残す運用メモです。
開発ツール2026-07-01
Rork Max のクラウドコンパイル — Mac を持たずにネイティブアプリを仕上げる
Rork Max のクラウドコンパイルで、ローカル Mac なしに iOS/iPadOS のネイティブアプリをビルド・実機テスト・公開する流れを、失敗時の切り分けと実機 Mac を残す判断基準まで含めて実務目線でまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →