Bubble × Stripe Connect で作る!予約決済プラットフォームの作り方【第1回】プラットフォーム決済の設計

Bubble × Stripe Connect で作る!予約決済プラットフォームの作り方

第1回:プラットフォーム決済の設計、何が難しいのか


はじめに

「予約サービスを作りたい。決済も付けたい」

そう思って調べ始めると、すぐに壁にぶつかります。

  • ユーザーが払ったお金を、店舗にどう渡す?
  • 手数料はどこから引く?
  • 店舗ごとに銀行口座が違うけど、どう管理する?

単純な「自分が売る」決済なら、Stripeを導入するだけ。

でも 「誰かの代わりに決済を受けて、分配する」 となると、話が一気に複雑になります。

これが プラットフォーム決済 の世界です。


今回作るもの

実際に作った「予約決済プラットフォーム」をベースに解説します。

サービス概要

  • 店舗検索・予約サイト
  • ユーザーが予約時にクレジットカードで決済
  • 売上は店舗に自動で分配
  • プラットフォーム(サイト運営者)は手数料5%を受け取る

決済の種類

種類 内容 誰が払う
予約決済 3,000円〜(利用料金) ユーザー
有料掲載 55,000円/年 店舗
広告掲載 55,000円〜/月 店舗

技術スタック

ツール 役割
Bubble フロントエンド・バックエンド
Stripe Connect 決済・売上分配
Stripe Checkout 決済画面
Webhook 決済完了の通知

コードは書きません。 Bubbleのワークフローだけで完結します。


なぜ Stripe Connect なのか

普通のStripe決済との違い

普通のStripe:

ユーザー → Stripe → あなた

シンプル。お金はあなたに入る。

Stripe Connect:

ユーザー → Stripe → 店舗(の一部をあなたに)

お金の流れを分岐させられる。

Connect を使わないとどうなるか

「店舗への支払いは銀行振込で対応します」

これ、運用が地獄です。

  • 毎月、売上を集計して店舗ごとに計算
  • 振込手数料がかさむ
  • 入金ミスのリスク
  • 店舗から「まだ入金されてません」の問い合わせ

Stripe Connect なら、決済と同時に自動で分配されます。


Connect の3つのアカウントタイプ

Stripe Connect には3種類のアカウントがあります。

タイプ 特徴 向いてるケース
Standard 店舗が自分でStripeアカウントを持つ 大規模、店舗側にStripe経験あり
Express 簡易版、店舗の負担が少ない 中小規模、店舗側にITリテラシー低め
Custom 完全カスタマイズ 大規模、独自UIが必要

今回は Express を採用しました。

理由:

  • 店舗側の登録が簡単(数分で完了)
  • Stripeが本人確認・銀行口座登録を代行
  • 店舗は自分で出金タイミングを選べる
  • プラットフォーム側の実装も軽い

お金の流れを設計する

予約決済の場合(例:3,000円)

ユーザーが3,000円を決済
    │
    ↓
Stripe が受け取る
    │
    ├─→ Stripe手数料: 108円(3.6%)
    │
    ├─→ プラットフォーム手数料: 42円(1.4%)
    │
    └─→ 店舗への入金: 2,850円

ポイント:ユーザーから見た「手数料5%」の内訳

  • Stripe手数料(約3.6%)は避けられない
  • 残り約1.4%がプラットフォームの取り分
  • 店舗には「5%引かれる」とだけ伝えればOK

有料掲載・広告の場合

店舗が55,000円を決済
    │
    ↓
Stripe が受け取る
    │
    ├─→ Stripe手数料: 約2,000円
    │
    └─→ プラットフォームへ: 約53,000円

こちらは店舗への分配なし。全額プラットフォームの売上。


このシリーズで解説すること

実際に実装した内容をベースに、以下を解説します。

タイトル 内容
1 イントロ ← 今ここ
2 Stripe Connect設計 Express アカウント、オンボーディング
3 予約決済の実装 Destination Charges、手数料計算
4 クーポンの罠 プロモコードが使えない問題と回避策
5 サブスク課金 有料掲載・広告プランの実装
6 Webhook設計 決済完了の検知、ステータス更新
7 本番デプロイ テスト→本番の切り替え、審査対策

実際にハマったポイント(予告)

このシリーズでは、公式ドキュメントに書いてないことも共有します。

第4回で詳しく解説:「クーポンが効かない」

Stripeにはプロモーションコード機能があります。

「WELCOME500」と入力すると500円引き、みたいなやつ。

でも、Stripe Connect(Destination Charges)では使えません。

[Stripe公式の仕様]
Destination Charges ではプロモーションコードは無視されます

これ、どこにも目立つ形で書いてないんです。

実装してテストして「あれ?割引されない」となって初めて気づく。

回避策はあります。第4回で詳しく解説します。


対象読者

  • Bubbleで予約サービスを作りたい人
  • Stripe Connect に興味があるけど、難しそうで躊躇してる人
  • 「手数料を取るビジネスモデル」を実装したい人
  • プラットフォーム型サービスの決済設計を学びたい人

前提知識

  • Bubbleの基本操作(エレメント配置、ワークフロー作成)
  • Stripeアカウントの作成経験(なくてもOK、一緒に作ります)

次回予告

第2回では、Stripe Connect の設計 を解説します。

  • Express アカウントとは
  • オンボーディング(店舗登録)の流れ
  • Bubble での実装方法

お楽しみに!


このシリーズの目次

タイトル 内容
1 イントロ ← 今ここ
2 Stripe Connect設計 Express アカウント、オンボーディング
3 予約決済の実装 Destination Charges、手数料計算
4 クーポンの罠 プロモコードが使えない問題と回避策
5 サブスク課金 有料掲載・広告プランの実装
6 Webhook設計 決済完了の検知、ステータス更新
7 本番デプロイ テスト→本番の切り替え、審査対策

いいね・フォローしていただけると励みになります!


実装のご相談

予約システム・サブスク決済の導入でお困りの方へ。

・Stripe / Stripe Connect の設計・実装

・Bubble / Make.com でのノーコード開発

・テスト環境→本番デプロイまで一貫対応

初期設定から運用まで、初心者の方にも丁寧にサポートします。

👉 ココナラで相談する

この技術、気になりませんか?

このページも含め、サイト全体がWordPressで作られています。
同じような技術で、あなたのビジネスも強化しませんか?

お気軽にご相談ください

29年の判断 + AI で、成果を再現しませんか?

(マーケティング × 技術) + AI。伝言ゲームゼロで、設計から実装まで。