システム構成とお金の流れ
Craftletterが裏側で何をしているのか・お金がどう動くのかを、役員向けに1枚に整理した資料です。
対象:契約成立 / POD発注 / MCP利用 の3シナリオを Stripe Connect で分配するまで。
システム構成
どのパーティがどのシステムを動かすかお金の流れ(共通のコア動作)
全シナリオで必ずこの順番で動く発注側が 100% を Stripe に支払う
craftletter.jp のチェックアウト(Shopify Payments の裏は Stripe)で全額が Craftletter のプラットフォームアカウントに入金されます。 この時点で分配は発生しません。入金は一時預かり扱い。
Craftletter Backend が「分配トリガー」を受ける
シナリオによって異なるが、Shopify からの fulfillment_created(出荷完了) や Backend 自身の「契約成立」「MCP利用記録」が発生すると、
Backend が transfers.create を Stripe に送信する。
Stripe Connect が自動で 55 / 35 / 10 に分解して送る
Transfers API を3回叩く(職人・CL・産地基金のConnected Accountあて)。
預り金が3つの Connected Account に振り分けられる。
各口座のスケジュール Payout で銀行に着金(T+1)
各 Connected Account は翌営業日に自動で銀行に送金される(Stripe Express の標準スケジュール)。 職人は Stripe Dashboard にログイン不要。通帳記入だけで受取完了。
Backend が通知・帳簿記録を残す
transfer.paid / payout.paid Webhook を受けて、
職人・CL・産地基金にメール通知・台帳への確定記録・月次レポートへの集計を行う。
3つのシナリオ別の違い
トリガーと決済タイミングだけが違うA. ライセンス契約(例:ANAが柄を飛行機に使う)
契約フォームを確定(用途・期間・数量)transfers.create × 3回 実行(物理出荷なしなので待たない)Transfer Reversal で分配を巻き戻す仕組みを用意する(下の⑥参照)。
手数料と実際の手取り
¥100,000 の契約を例に計算| 項目 | 料率 / 金額 | 金額(¥100,000契約の場合) |
|---|---|---|
| 契約金額(発注側が払う額) | — | ¥100,000 |
| Stripe 決済手数料(Shopify Paymentsの場合) | 3.4% + ¥0 | − ¥3,400 |
| Stripe Connect プラットフォーム手数料 | 0.25% + ¥10 / Transfer | − ¥280(3回分) |
| 振込手数料(Payout) | ¥0(Stripe標準スケジュール内) | ¥0 |
| 消費税(CLの取り分にのみ) | 10%(発注側から別途徴収) | — |
| 3分配可能な総額 | 実質 96.3% | ¥96,320 |
1件の発注が完了するまでの所要時間
契約成立〜職人の銀行着金までライセンス契約・POD・MCP それぞれのリードタイム(実運用想定)
| シナリオ | 契約/発注 | 分配実行 | 職人の銀行着金 | 総所要 |
|---|---|---|---|---|
| ライセンス契約 | 即時 | 即時 | 翌営業日 | 約 1日 |
| POD 発注(グッズ製造あり) | 即時 | 出荷後(+14〜21日) | 出荷+1日 | 約 2〜3週間 |
| MCP 利用(月次集計) | 随時記録 | 翌月 15日(入金後) | +1日 | 最大 45日 |
失敗時・例外処理
実運用で必ず起こる3パターン① POD 不良品・返品
出荷済みだが発注側から返品。分配は済んでいる。
対応:Transfer Reversal で3口座から比例回収。
回収できない分はCL負担の補填基金でカバー。
② 職人の口座エラー
Payout がpayout.failedで戻る(口座凍結・番号誤り等)。
対応:Stripe が自動リトライ(3回)。 失敗継続時はCLスタッフに通知→職人へ電話確認→口座更新。
③ 契約違反・係争
企業が契約範囲を超えて柄を使用した等の発覚。
対応:transfers.pause → CL内部で調査 →
Connect Review → 追加請求 or 契約解除 + Reversal。
実装で使う Stripe API と Webhook
エンジニア向け参考送信(API呼び出し)
受信(Webhook)
役員向けサマリー(この資料の要点)
- 全額は一度 Craftletter の預り金に入る → そこから Stripe Transfers で3分配。職人は Stripe Dashboard を開かなくていい
- 物理出荷があるシナリオは「出荷後に分配」(POD)、物理出荷がないものは「契約成立時に即分配」(ライセンス・MCP)
- 実質手取りは 96.3%(Stripe 決済手数料 3.4% + Transfers 0.25%)
- 返品・失敗・係争には Transfer Reversal / payout.failed リトライ / transfers.pause で対応
- 開発負荷は Craftletter Backend 側に集中。Shopifyには設定変更だけで済む(Payments の preferred gateway を Stripe にする・Fulfillments Webhook を有効化)