もう今年も残りわずかとなりました。
Stripe Advent Calender 2021の16日目の記事です。
概要
WordPressをベースとした静的サイトホスティングやヘッドレス CMSを提供している**Shifter**というサービスがありますが、Shifterのパートナー向けのレベニューシェアのシステムの開発をお手伝いする機会がありました。
ユーザーがパートナー経由でShifterアカウントを申し込むと、ユーザーが月額利用料を支払う際に一定額をインセンティブとしてパートナーへ、残りをShifterへ送金するような仕組みをStripe Connectを使って実装しました。
Stripe Connectとは
だいぶ雑に言うと、Stripeアカウント同士で親子関係をつくれて、決済したお金のフローを細かく柔軟にコントロールできるものです。
公式サイトでは 購入者/サービスプラットフォーム/販売者 間でのお金の流れがShopifyやLyftなどを例に、どの場合にどのようなフローが適しているのかいくつかのユースケースが記載されています。
どのように実現したか
収益の分配を行う仕組みとしてパートナー用のポータルサイト構築を行ないました。
ポータルサイトは以下の機能を持っています。
- Shifterアカウントの発行
- パートナーに紐づくShifterアカウントリスト確認
- パートナーのStripeアカウントとShifterのStripeアカウントの連携
ポータルサイトではStripe Connect を利用し、ShifterのStripeアカウントとパートナーのStripeアカウントの連携を行います。
ポータルサイト経由で発行したShifterアカウントにはどのパートナーが発行したかの情報が紐づけられており、ユーザーがShifterの月額利用料を支払うたびに、支払い金額の一定割合がパートナーに送金されるようになっています。
ポータルサイトからStripe Connectを利用したStripeアカウント間の連携には以下のOAuthの仕組みを利用しています。
また、ユーザーの月額利用料支払い時に連携しているStripeアカウントへの送金を行う仕組みは以下のあたりを参照しました。
おわりに
Stripeは開発者フレンドリーで、ドキュメントもコードとあわせて記載されています。
実装周りで困ることはほぼありませんでした。
Stripe Connectでは、アカウントタイプ、支払い/送金/入金のフローなどを理解して自分が提供したいサービスにはどんなパターンが適しているのかを決定するまでが少し大変だと思います。
パートナービジネスをする上で、レベニューシェアやキックバックを行うようなビジネスモデルの場合に、Stripe Connectを使うことで送金の仕組みを簡単に実装することができます。