Chapter 07

Connect - Introduction

Toru Furukawa
Toru Furukawa
2021.12.07に更新

Connect が解決する課題

アドベントカレンダー 7 日目にして、ようやく Connect の話をする。

まず Connect が解決しようとする課題は「複数の売り手がいるビジネスの決済と資金フローを、ソフトウェアで定義するには」である(個人の感想です)。フードデリバリーとか、 EC プラットフォームとか、サービスのマッチングとか、マーケットプレイス的なビジネスが該当する。

資金フローは下図のようになる。

Buyer --> Platform <--> Seller

誰が誰に何を渡すか、を書き出すと以下のようになる。

  • Buyer(購入者)は
    • Platform を介して、Seller から商品を受け取る
    • Platform と Seller に代金を支払う
  • Platform は
    • Buyer と Seller に仲介的なサービスを提供する
    • Buyer または・および Seller から代金を受け取る
  • Seller(販売者) は
    • Platform を介して、Seller に商品を提供し、代金を受け取る
    • Platform にサービス利用料を支払う

Connect による解決

Connect の解決策は「Buyer による支払いを、Stripe 内で分配してから Platform と Seller の銀行口座に入金する」だ。要素の関連を描き出すと、下図のようになる。

Buyer             Platform             Seller
 |                 |                    |
Card              Bank Account         Bank Account
 |                 ^                    ^                 ↑現実世界
 |  .............  | .................  | .......................
 v                 |                    |                 ↓Stripe
Payment Method    External Account     External Account
 |                 ^                    ^
 |                 |                    |
 +--------------> Platform Account <-> Connected Account

ちょっと要素が多い。トップダウンで大雑把に Connect を理解するのが、この文書の目的だ。もうちょい簡略化する。

Buyer             Platform             Seller
Card              Bank                 Bank
 :                 ^                    ^
 :                 |                    |
Payment Method -> Platform Account <-> Connected Account
  • Buyer が Card を持っている。
  • Stripe は Card を Payment Method として抽象化する。
  • Platform に対応する Account を Platform Account と呼ぶ。
  • Seller に対応する Account を Connected Account と呼ぶ。
  • Stripe 内では、Payment Method、Platform Account、Connected Account の間で支払いと分配をする。

課題設定ふたたび

Connect がマーケットプレイスの課題を解決することで、設計をするにあたり、細かい課題が出てくる。

  • Connected Account の管理
  • Payment / Refund / Dispute で発生する資金フローを Account 間で分配
  • Payout のタイミングと対象となる取引
  • Connect 手数料
  • Platform と Seller との間で発生する取引
  • どのコストを誰が負担するのか
  • レポート

特に「どのコストを誰が負担するのか」は、すべての課題をまたぐ課題になる。明日以降、各課題解決を見ていき、どこにどんなコストがあるのかを確認したあと、コスト負担の課題に戻ってくる。

そして最後はやはりレポートだ。もちろん、いまの段階で経理部門からレポート要件が得られるのであれば、得られたに越したことはない。実装方法によっては、必要なレポート作成の開発だるいからだ。

まとめ

Connect が想定している課題と、その解決策の概要を書いた。明日は Connected Account の種類を見ていく。