インストールリンクを使用する公開プレビュー
ユーザーが Stripe App Marketplace の外部でアプリをインストールできるようにします。
インストールリンクを使用すると、Stripe App Marketplace の外部でアプリをインストールできます。特定の導入フローで、アプリケーションから状態を渡し、Stripe アプリのインストールを完了して、アプリケーションまたはサイトにリダイレクトすることができます。

インストールリンクのページ
概要
以下の手順では、ユーザーはインストールリンクを使用してアプリをインストールできます。
- お客様のサイトでは、ユーザーがリンクをクリックすると、Stripe にリダイレクトされ、
app_が渡されます。id - Stripe で、ユーザーは、適切なアカウントを選択して、アプリをインストールする権限を受け取ります。
- インストールすると、ユーザーはサイトにリダイレクトされ、指定されたユーザーの Stripe アカウントも渡されます。
- これで、アプリは認証済みのアカウントのリクエストを行うことができます。
インストールリンクを作成する
アプリのマニフェストで allowed_ を設定します。これは、ユーザーがアプリをインストールした後にリダイレクトされる URL です。すべてのリダイレクト URL をアプリの設定で指定する必要があります。
allowed_ を設定した後、アプリの新しいバージョンをアップロードします。
{ "id": "com.invoicing.[YOUR_APP]", "version": "1.2.3", "name": "[YOUR APP] Shipment Invoicing", "icon": "./[YOUR_APP]_icon_32.png", "permissions": [], "app_backend": {}, "ui_extension": {}, "allowed_redirect_uris": [ "https://example.com/callback/stripe" ] }
インストールリンクを使用する
テストが完了したら、以下の手順を使用してすべてのユーザーに提供することができます。
allowed_を定義するアプリの新しいバージョンを公開します。redirect_ uris - 設定タブをクリックします。インストールリンクはここに表示され、コピーすることができます。リンクは次のようになります。
https://marketplace.stripe. com/apps/install/link/{id}?redirect_ uri=https://example. com - Recommended CSRF 攻撃を防止するには、推奨の
stateパラメーターを追加して、値として一意のトークンを渡すことができます。Stripe は、お客様のサイトにユーザーをリダイレクトするときに、指定されたstateを含めます。サイトではstateパラメーターが変更されていないことを確認できます。 - ユーザーがインストールリンクをクリックすると、Stripe は次のページを開きます。このページでは、アカウントを選択して、アプリの詳細を確認し、インストールを先に進めることができます。

インストールリンクのアカウントの選択
サイトにリダイレクトしています
ユーザーは、アプリのインストール後に、アプリのマニフェストに記載された allowed_ で定義されているリダイレクトと一致する redirect_ URL パラメーターにリダイレクトされます。
インストールの成功
インストールが成功すると、URL に以下が含まれます。
user_の値。インストールを開始した Stripe ユーザーの ID。id account_値。貴社のアプリをインストールした Stripe アカウントの ID。id state値 (指定されている場合)install_値。これは、上記の値のハッシュであり、アプリの署名シークレットを使用して生成されます。signature - アプリがテスト環境またはサンドボックス環境にインストールされている場合、リダイレクト URL に
livemode=falseの値が追加されます。
「本番環境のリダイレクトの一例:」
テスト環境とサンドボックス環境のリダイレクトの例:
インストールの失敗
ユーザーがインストールをキャンセルした場合でも、お客様のサイトにリダイレクトされますが、URL にはエラーが含まれます。
これで、ユーザーがアプリに連結されました。account_ をデータベースに保存します (これはユーザーの Stripe アカウント ID です)。この値を使用して、Stripe-Account ヘッダーのリクエストに渡すことで、連結アカウントとして認証 します。
install_signature を使用してアプリのインストールを確認する Recommended
アプリのユーザーがリダイレクト URL に入力したアカウントでアプリのインストールを承認されているかを確認することが重要です。install_ が含まれているのはこのためです。このシグネチャーはアプリの署名シークレット、およびインストールを実行した user_ と account_ から生成されます。指定されている場合は渡された state もこのシグネチャーに含まれます。署名シークレットにアクセスせずにこのシグネチャーを複製することはできず、実行できるのは、Stripe 内部とアプリのバックエンドのみです。これにより、不正行為者がリダイレクト URL を試したり偽装しようとしても、ハッシュを複製することはできません。アプリのシグネチャーを確認することによって、アカウントがアプリのユーザーに関連付けられていることを確信できます。
シグネチャーを確認するには、以下のステップを使用します。
- まだ作成していない場合は、アプリの署名シークレットを作成します。
- アプリのバックエンドを設定して、
install_を確認します。signature
インストールを確認するバックエンドのサンプル:
ペイロードフィールドの順序と名前は、署名検証を実行する際に重要です。state は user_ の前にあり、account_ に先行します。結果のオブジェクトは { state, user_ になります。
確認後は、インストールしたアカウントの代理として API コールを実行できます。
認証されたリクエストを行う
サーバー側での API コールでは、プラットフォームユーザーの Stripe アカウント ID (プレフィックスは acct_) とともに特殊なヘッダー Stripe-Account を使用することで、連結アカウントとしてリクエストを作成できます。下記は、プラットフォームの API シークレットキーとユーザーのアカウント ID を使用して PaymentIntent を作成する方法を示す例です。
URL に Stripe アカウント ID を含む API リクエストのすべてで、Stripe-Account ヘッダーによる方法が必要になります。下記は、URL 内のユーザーのアカウント ID を使用してアカウントを取得する方法を示す例です。
こちらで認証されたリクエストを行う方法の例をご覧ください。
URL パラメーターを使用してリンクをカスタマイズする
インストールリンクに追加の URL パラメーターを含めることで、アプリのインストールの動作を変更できます。
サポートされている URL パラメーター
| パラメーター | 説明 | |
|---|---|---|
redirect_ | ユーザーがアプリをインストールした後にリダイレクトされる URL。指定する場合は、アプリのマニフェストに記載されたカンマ区切りの redirect_ 値のいずれかに正確に一致させる必要があります。一部の中間者攻撃から自社を守るためには、本番環境の redirect_ でセキュリティで保護された HTTPS 接続を使用する必要があります。 | |
state | 推奨 | お客様に返される任意の文字列値。CSRF の対策に推奨されます。 |
state パラメーターを使用して CSRF 攻撃を防止する
クロスサイトリクエストフォージェリ (CSRF) 攻撃を防止するには、state パラメーターを使用できます。このパラメーターは任意の文字列値を受け入れ、インストーラーからお客様のアプリケーションまたはプラットフォームにリダイレクトされるときにその文字列を変更せずに返します。このパラメーターを使用するには、インストールリンクを使用してインストールを開始するときに、推測できない一意の値を渡します。その値を保存し、後で確認に使います。
ユーザーがアプリケーションをインストールしてお客様のアプリケーションにリダイレクトされたら、指定された state パラメーターの値が当初のインストールリンク内に存在する値と一致するかどうか確認します。この確認プロセスによって、返された account_ がインストールを開始したユーザーのものであることを高い信頼性で確認でき、偽造対策になります。
アクセスを取り消す
ユーザーがアカウントからアプリの連結を解除すると、account. イベントが発生します。Webhook でこのイベントを監視することにより、サーバーで必要なクリーンアップを実行できます。
