コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

Standard アカウントでの OAuth の使用

OAuth 連結フローを使用して Stripe ユーザーがプラットフォームに連結できるようにします。

新しい Connect プラットフォームへの OAuth の使用は推奨されていません。代わりに、Standard アカウントでの Connect アカウント登録を行うことをお勧めします。

2021 年 6 月から、read_write の範囲で OAuth を使用しているプラットフォームは、別のプラットフォームで管理されている Standard アカウントに接続できなくなります。

拡張プログラムでは、OAuth の動作に変更はありません。プラットフォームが管理する Standard アカウント向けの OAuth の変更の詳細をご確認ください。

OAuth 連結フロー

ユーザは次の OAuth 連結フローを使用してプラットフォームに連結します。

  1. お客様のサイトのページから、Stripe にリダイレクトされるリンクをユーザがクリックすると、プラットフォームの client_id が渡されます。
  2. Stripe の Web サイトで、ユーザがプラットフォームに連結するための必須情報を入力します。
  3. ユーザは認証コードとともにお客様のサイトにリダイレクトされます。
  4. サイトから Stripe の OAuth トークンのエンドポイントに対して、連結を完了してユーザのアカウント ID をフェッチするリクエストが行われます。

注

プラットフォームでは、アカウント向けに作成したデータ (請求金額、顧客、請求書など) が、顧客の Stripe アカウントに表示される点に注意してください。これにより、そのユーザーが他のプラットフォームに連結した場合、それらのプラットフォームにもそのデータが表示されるようになります。

OAuth リンクを作成する

コードを使用しないで連結アカウントを作成する

このガイドを使用して、コードを使用して連結アカウントを作成する方法を確認します。まだ導入する準備ができていない場合は、ダッシュボードから連結アカウントの作成を開始できます。

連携を開始するには、Connect OAuth アカウント登録オプションに移動し、以下を実行します。

  • OAuth 設定で OAuth を使用したアカウント登録を有効にします。
  • client_id(Stripe によって生成されるプラットフォームの一意の ID) をコピーします。
  • ユーザがアカウントの連結後にリダイレクトされる URL である、redirect_uri を設定します。プラットフォームの設定にあるすべてのリダイレクト URL を指定する必要があります。リクエストに redirect_uri パラメータを含めなかった場合、プラットフォームの設定で最初に設定したアドレスがデフォルトとして使用されます。

また Stripe は、テストをサポートする client_id も提供しています。client_id は、本番 ID またはテスト ID のいずれかです。サンドボックス用の client_id を使用してサンドボックスアカウントに接続することもできます。

これらの情報を入手したら、OAuth リンクを作成できます。ユーザーを authorize_url エンドポイントに誘導する Stripe と連結するボタンを表示させることをお勧めします。

https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_FkyHCg7X8mlvCUdMDao4mMxagUfhIwXb&scope=read_write

Stripe エンドポイントは、少なくとも次の 3 つのパラメータを受け入れる必要があります。

  1. code の値を含む response_type
  2. client_id
  3. read_write の値を含む scope

scope パラメータは、連結アカウントの代理としてプラットフォームが実行できることを指定します。デフォルトは read_only に設定されています。

CSRF 攻撃を防止するには、値として一意のトークンを渡して、state パラメーターを追加します。ユーザーをお客様のサイトにリダイレクトする際に指定した state を含めます。サイトでは、state パラメーターが変更されていないことを確認する必要があります。

Connect with Stripe (Stripe に連結) ボタンとともに、上記の URL をユーザに提示して連結を開始する方法です。

連結する

OAuth パラメーターを使用してアカウント登録をカスタマイズする

アカウント登録フローの動作を変更するには、追加の URL パラメーターを OAuth リンクに加えます。使用できるパラメーターの一覧については、OAuth リファレンスをご覧ください。

ユーザがアカウントを作成または連結する

ユーザがお客様のサイトのリンクをクリックすると、Stripe の Web サイトに移動し、プラットフォームへの連結を許可または拒否するように求められます。

Stripe アカウントを作成するプロセスは、認証フローに組み込まれています。ユーザがすでにアカウントを持っているかどうかを心配する必要はありません。

ユーザはログインしており、プラットフォームに直接連結するためのアカウントを選択できます。

ユーザはアカウントを作成する必要があります。

ユーザがお客様のサイトにリダイレクトされる

ユーザーが既存または新規のアカウントをプラットフォームに連結すると、顧客は再度お客様のサイト (プラットフォームの redirect_uri に規定されている URL) にリダイレクトされます。

連結に成功すると、次の値が URL に渡されます。

  • 付与された scope
  • state 値 (指定されている場合)
  • 認証コード。認証コードは一時的なコードであり、次のステップで説明する POST リクエスト内で 1 回のみ使用できます。
https://connect.stripe.com/connect/default/oauth/test?scope=read_write&code={AUTHORIZATION_CODE}

ユーザが認証を拒否した場合でも、お客様のサイトにリダイレクトされますが、URL には認証コードではなくエラーが含まれます。

https://connect.stripe.com/connect/default/oauth/test?error=access_denied&error_description=The%20user%20denied%20your%20request

プラットフォームがアカウントの連結を完了する

提供された認証 code を Stripe のトークンエンドポイントへの POST リクエストに含めて、連結を完了しユーザのアカウント ID をフェッチします。

Command Line
curl
curl https://connect.stripe.com/oauth/token \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "code"="ac_123456789" \ -d "grant_type"="authorization_code"

本番環境またはテスト環境のアクセストークンのどちらを取得するかに応じて、本番環境またはテスト環境の API シークレットキーでリクエストを作成します。

Stripe はユーザのアカウント ID (stripe_user_id) を含むレスポンスを返します。

{ "token_type": "bearer", "scope": "read_write", "livemode": false, "stripe_user_id":
"{{CONNECTED_ACCOUNT_ID}}"
, }

問題が発生した場合は、代わりにエラーが返されます。

{ "error": "invalid_grant", "error_description": "Authorization code does not exist: {AUTHORIZATION_CODE}" }

完了です。これで、ユーザはプラットフォームに連結されました。stripe_user_id をデータベースに保存します。これは、新しいアカウントの Stripe アカウント ID です。この値を使用して、Stripe-Account ヘッダでリクエストに渡して、連結アカウントとして認証します。

アプリケーションでは、専用の OAuth クライアントライブラリを使用してこれらの手順の簡素化を検討することをお勧めします。ご使用の言語またはフレームワークの OAuth ライブラリを確認するには、OAuth Web サイトのクライアントライブラリのリストをご覧ください。

refresh_token は、本番環境での client_id のテスト用アクセストークンの生成や、アクセストークンのロールに使用できます。最初の POST リクエストの後でしか取得できないため、この値も保持する必要があります。

注

受け取ったアカウント ID は保存してください。 プラットフォームがユーザの代わりにリクエストを実行するには、この情報が必要です。

取り消し後または取り消し中のアクセス

An account.application.deauthorized event occurs when a user disconnects your platform from their account. By watching for this event through webhooks, you can perform any necessary cleanup on your servers.

プラットフォームから Stripe ダッシュボードにアクセスできるアカウントの連結を解除するには、お客様の client_id と、連結アカウントの ID を connect.stripe.com/oauth/deauthorize に POST します。

Command Line
curl
curl https://connect.stripe.com/oauth/deauthorize \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d client_id="ca_FkyHCg7X8mlvCUdMDao4mMxagUfhIwXb" \ -d stripe_user_id=acct_ON3nXtRQkhmUIQ

ユーザーの代わりに API を使用して、決済の受け付け、継続請求の設定、アカウントデータの取得などを実行できます。

参照情報

  • 認証
  • OAuth リファレンス
  • API リファレンス完全版
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc