レガシーの拡張機能非推奨
非推奨の拡張機能の実装パターンと、過去のリファレンス情報についてご紹介します。
拡張機能が Stripe Apps に移行
Stripe 拡張機能は新規に構築できなくなりました。Stripe アプリが、Stripe の開発用拡張機能に置き換わります。
詳しくは、Stripe アプリの構築をご覧ください。
既存のレガシーの拡張機能がある場合は、Stripe アプリの移行に関するドキュメントをご覧ください。
注
Stripe Data Pipeline を使用すると、数回クリックするだけで Stripe データとレポートを Snowflake や Amazon Redshift に自動的に送信できるようになりました。もっと知る
拡張機能の構築 非推奨
Stripe の製品と機能を使用すると、企業はオンラインでの支払いを受け付けることができますが、導入すべき理由は他にもあります。Baremetrics や Segment などの企業は、Stripe 上に構築することで、Standard ダッシュボードを利用する Stripe アカウントにサービスを提供しています。
Stripe 上での拡張プログラムの構築は 4 つのステップで構成されます。
まだの場合には、ビジネス詳細を追加して、本番環境利用の申請を行う必要もあります。
開始するには、Stripe ダッシュボードの開発者タブの拡張プログラムページにアクセスします。
OAuth を設定してリダイレクト URl を指定する
この設定は、 拡張プログラムの設定ページの組み込みセクションで行います。
組み込みを開始するには、ボタンを切り替えて、OAuth を使用した Standard アカウントの登録を有効にします。拡張プログラムで Express アカウントの OAuth を使用することはできません。
Stripe provides a unique identifier for your extension called a client_
. You set the redirect_
and users are directed to that page after they connect their accounts. You must specify all redirect URIs in your extension settings. The development and production versions of these two values help with testing. Take note of these values so you can create an OAuth link in the third step.
ブランディング設定を構成する
Extensions Settings (拡張プログラム設定)ページのブランディングセクションで、お客様のビジネスをユーザーに表示する形式をカスタマイズできます。
ユーザーが自身の Stripe アカウントをお客様のアプリケーションにリンクすると、お客様のロゴが表示されます。アカウントがリンクされると、接続されたアプリケーションのリストにお客様のアイコンが表示されます。
ユーザー用の OAuth リンクを作成する
Stripe は、Stripe アカウントに接続するための標準の OAuth 2.0 フローを提供しています。ステップ 1 の client_
と redirect_
の値を使用し、ユーザーがアカウント登録する OAuth リンクを作成できます。このリンクを、ユーザーを authorize_
エンドポイントに送るための Connect with Stripe (Stripe と連結) ボタンとともに表示することをお勧めします。
https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_FkyHCg7X8mlvCUdMDao4mMxagUfhIwXb&scope=read_only
以下に、上記のリンクをユーザーに対して表示する方法例と、Connect with Stripe (Stripe と連結) ボタンを示します。
連結するユーザーがサイトのリンクをクリックすると、ユーザーは、お客様の拡張プログラムへの接続を許可または拒否できるページにリダイレクトされます。Stripe のオーソリフローにより、既存のアカウントを選択して拡張プログラムに接続するか、新しいアカウントを作成するように求められます。
ユーザーが既存または新規作成したアカウントを拡張プログラムに連結した後、ユーザーは再度お客様が拡張プログラムの redirect_
として設定した URL にリダイレクトされます。
OAuth ワークフローの最後に、ユーザーのアカウントの認証情報が提供されます。
{ ... "stripe_user_id": "acct_0123456789", ... }
ユーザーアカウントを識別できるように、stripe_
を保存する必要があります。
連結アカウントの代理として API を使用する
ユーザーが Stripe アカウントをお客様のアプリケーションにリンクすると、ユーザーの代わりに API リクエストを実行できます。API リクエストを実行するには、自身の拡張プログラムアカウントのシークレットキーと、リクエスト対象のアカウントを識別する Stripe-Account
ヘッダーが必要です。Stripe ライブラリーはすべて、リクエスト単位でこのスタイルの認証をサポートします。
保存されたデータを取得する
保存されたデータには、支払いや顧客の詳細などの情報が含まれます。read_
アクセスを使用すると、Stripe の API でほとんどの GET
リクエストを実行できます。単一のオブジェクト (PaymentIntent (支払いインテント) の取得など) またはオブジェクトのリスト (すべての Payment Intent のリストなど) を取得できます。
この API は高パフォーマンスを実現するように設計されていますが、大容量のデータを繰り返し取得するとアプリケーションの応答が遅くなります。分析やレポートには、取得したデータをお客様の側で保存することをお勧めします。
リアルタイムのデータをリッスンする
In addition to stored data, you can access real-time data through webhooks. After you define an extension webhook endpoint in your account, Stripe sends event notifications to your endpoint for every connected account. The event object’s account
property identifies the account where the event occurred.
たとえば、以下のイベントは、acct_
アカウントで顧客が作成されたことを示しています。繰り返しますが、分析やレポートに備えてこのデータをお客様側で保存することをお勧めします。イベントの発生をリアルタイムで監視することにより、アプリケーションの反応をスピードアップできるだけでなく、多数の API コールを実行する必要もなくなります。
{ "id": "evt_rvgECIl91KbOAu", "livemode": true, "object": "event", "type": "customer.created", "account": "acct_0123456789", "pending_webhooks": 2, "created": 1349654313, "data": {...} }
アプリケーションについて請求する
お客様の拡張プログラムの Stripe アカウントは独自の支払いを処理できるため、read_
アクセスでもプラットフォームに対する請求ができます。顧客が Stripe アカウントを連結した後は、支払いの詳細を求めてから、お客様の Stripe アカウントで顧客のサブスクリプションを作成します。作成された顧客 ID は、必ず関連付けられた Stripe アカウント ID と一緒に保存してください。これにより、支払い済みでアクティブなユーザーとそうでないユーザーを把握できます。
サブスクリプションを作成する場合、プラットフォームの手数料として application_
を指定することもできます。これは、Stripe 手数料に加えて請求されます。詳細については、サブスクリプションのドキュメントをご覧ください。
連結解除されたアカウント
ユーザーはいつでもアカウントをお客様の組み込みから連結解除できます。これが行われると、account.
Webhook イベントが送信されます。この通知を使用して、お客様側でのユーザーアカウントの無効化やデータの削除など、クリーンアップを開始できます。
OAuth のアクセス権の取り消しエンドポイントにリクエストを送信して、アカウントを実装から連結解除することもできます。