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-04-15上級

Rork × RevenueCat + Stripe Web 統合ガイド:iOS・Android・Web のサブスクリプションを1つのバックエンドで管理する

Rorkアプリで iOS StoreKit・Android Google Play Billing・Stripe Web の3つの課金チャネルを RevenueCat で一元管理する実装ガイド。クロスプラットフォーム対応の落とし穴と本番運用まで解説します。

RevenueCat28Stripe17StoreKit8Google Play Billing4サブスクリプション63クロスプラットフォーム7課金8バックエンド10

プレミアム記事

アプリをリリースしてしばらくすると、ほぼ確実に「Web でも同じサービスを販売したい」という要望が出てきます。iOS の App Store、Android の Google Play に加えて Stripe で Web 決済を追加したとき、エンタイトルメント(購入済み権限)の管理が一気に複雑になります。

実際に経験してみると「Stripe で購入したユーザーが iOS アプリにログインしても権限が反映されない」「RevenueCat の Customer Info に Stripe の購入履歴が入らない」という問題にぶつかります。ここではRork で開発したアプリを対象に、3チャネルの課金を統一管理するための実装パターンを具体的なコードで解説します。

なぜクロスプラットフォーム課金統合が難しいのか

RevenueCat を使えば iOS と Android の課金は自動で同期されます。ところが Stripe は RevenueCat のエコシステム外にあるため、手動で連携させる必要があります。

問題の核心は3点あります。

まず、エンタイトルメントの更新タイミングのズレです。Stripe の Webhook はサーバーに届きますが、RevenueCat へのデータ反映には API 呼び出しが必要で、この処理に失敗するとアプリ側でユーザーの権限が正しく表示されません。

次に、ユーザー識別の方法が異なるという点です。RevenueCat はアプリ側の appUserId でユーザーを識別しますが、Stripe は customerId で管理します。この2つを正確に紐付けないと、同じユーザーが複数のIDを持つ状態になります。

最後に、レシート検証のタイミング問題です。iOS・Android はデバイス側でレシートを生成して RevenueCat が検証しますが、Stripe は完全にサーバー側の処理です。リアルタイム性の担保方法が異なります。

アーキテクチャの全体像

実装の前に、クロスプラットフォーム課金の全体設計を理解しておきます。

【iOS/Android ユーザー】
  ↓ StoreKit 2 / Google Play Billing
  ↓ RevenueCat SDK(自動でサーバー同期)
  ↓ Cloudflare KV(RevenueCat Webhook で更新)
  ↓ Rork アプリがエンタイトルメントを確認

【Web ユーザー】
  ↓ Stripe Checkout
  ↓ Stripe Webhook → 自作バックエンド(Hono + Cloudflare Workers)
  ↓ RevenueCat REST API でカスタムエンタイトルメントを付与
  ↓ Cloudflare KV(バックエンドが更新)
  ↓ Rork アプリがエンタイトルメントを確認

重要なのは、アプリ側はどのチャネルで購入されたかを意識しない設計にすることです。バックエンドが全チャネルの状態を RevenueCat と KV に反映し、アプリは1か所を見るだけでエンタイトルメントを確認できる状態を目指します。

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

この記事の続きを読む

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

この記事で得られること
Stripe Webhook の二重配信を KV で冪等化し、エンタイトルメントの誤延長を防ぐ実装
Cron Triggers で Stripe を正に置き、KV と権限を突き合わせる定期リコンシリエーション
past_due(支払い猶予)と明確な解約を区別し、善良なユーザーを締め出さない権限設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-04-14
Rork で課金後のステータスが反映されない — RevenueCat・StoreKit 同期問題のデバッグ手順
Rorkアプリで課金後にサブスクリプションが反映されない問題の原因と解決策を解説。RevenueCatのcustomerInfo取得タイミング・Entitlement設定・Sandbox遅延まで実例コード付きで解説します。
開発ツール2026-06-15
解約だと思って権限を切ったユーザーは、まだ払う気だった — 支払い猶予期間と権限維持の実装
購読の支払いが失敗しても、それは解約ではありません。猶予期間中に権限を切ると復帰可能な売上を自分で捨てます。Rork(Expo)アプリで猶予・課金リトライ・アカウントホールドを取り違えず、権限維持と復帰導線を出す実装をまとめます。
開発ツール2026-06-14
Rork のサブスクを RevenueCat の Entitlement で組む — アクセス判定・Offering 駆動のペイウォール・復元の実装メモ
Rork(Expo)アプリの課金を RevenueCat で実装する際の設計メモです。Entitlement を唯一の真実とするアクセス判定、Offering 駆動でハードコードを避けるペイウォール、購入復元とリスナーの実装、サンドボックスで詰まりやすい点まで動くコードで整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →