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

注

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

Connect OAuth リファレンス

このリファレンスでは、Connect で使用できる OAuth エンドポイントのパブリックメソッドのそれぞれを紹介します。

アカウントタイプ

Connect プラットフォームでは、3 種類のアカウントタイプが使用されます。

このページのコンテンツは、Standard アカウントにのみ適用されます。

OAuth Connectフローでは、Stripe に追加のパラメーターを渡すことで、ユーザー体験をカスタマイズできます。一般的ないくつかの例を以下に示します。リファレンスの後半では、その他のすべてのオプションについて記載しています。

注

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

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

拡張プログラムでは、OAuth の動作に変更はありません。Standard プラットフォームの OAuth の変更の詳細をご確認ください。

一般的な例

フィールドを事前入力する

アカウントフォームのフィールドにユーザーのメールアドレスや名前など、既に入手している情報を事前に入力して、新しい Stripe アカウントを作成する必要があるユーザーに可能な限り良好なユーザー体験を提供します。ユーザーに Stripe アカウントがすでにある場合、事前入力は効果がありません。日本での利用規約への同意や RISA への同意など、特定のフィールドは事前に入力できません。

リダイレクト URI を動的に設定する

セキュリティー上の理由から、Stripe はユーザーを事前定義された URI にのみリダイレクトします。ただし、Connect を使用すると、複数のリダイレクト URI を定義できます。これを使用して、ユーザー体験をさらにカスタマイズできます。たとえば、一部のユーザーを https://sub1.example.com に戻し、それ以外のユーザーを https://sub2.example.com にリダイレクトできます。

リダイレクト URI を動的に設定するには、次の手順に従います。

  1. プラットフォーム設定で、リダイレクト URI をそれぞれ追加します。
  2. 認証リクエストに redirect_uri パラメータを追加し、その値をリダイレクト URI のいずれか 1 つに設定する。
https://connect.stripe.com/oauth/authorize?response_type=code&client_id={{CLIENT_ID}}&scope=read_write&redirect_uri=https://sub2.example.com

URL に redirect_uri が指定されていない場合、Stripe はプラットフォーム設定で設定された最初の URI を使用します。

アカウントを承認する

Standard アカウントの場合: GET https://connect.stripe.com/oauth/authorize

プラットフォームに連結するためにユーザーを Stripe に送ります。

リクエスト

パラメータ説明
client_idアプリケーションに付与される一意の ID。アプリケーション設定で確認できます。
response_type現時点で利用できるオプションは、code のみです。
redirect_uriオプションレスポンスのリダイレクトを承認するための URL。これを指定する場合、アプリケーション設定にあるカンマ区切りの redirect_uri 値の 1 つと完全に一致する必要があります。ある種の中間者攻撃を防ぐには、本番環境の redirect_uri で安全な HTTPS 接続を使用する必要があります。指定しない場合は、アプリケーション設定の redirect_uri がデフォルトになります。
scopeオプションStandard のみread_write または read_only。必要なアクセスのレベルによって異なります。Standard アカウントのデフォルトでは、read_only に設定されています。read_only は拡張機能のみ指定可能であることに注意してください。
stateオプションお客様に返される任意の文字列値。CSRF の対策に役立ちます。

次のクエリ文字列パラメーターはすべてオプションです。これらのパラメーターは、新しいユーザー用のアカウントフォームに詳細を事前入力するために使用されます。一部の事前入力済みのフィールド (URL や商品カテゴリーなど) が自動的に非表示に設定されている場合があります。無効な値が指定されたパラメーターは、エラーなどを出力することなく無視されます。

このようなパラメータの一部は、Standard アカウント (以下参照) にのみ適用されます。

パラメータ説明
stripe_user[email]推奨ユーザのメールアドレス。有効なメール形式で入力してください。
stripe_user[url]推奨ユーザーのビジネスの URL。これは、ユーザーのウェブサイト、アプリケーションのプロフィールページ、ビジネスで公開されている別のプロフィール (LinkedIn や Facebook のプロフィールなど) が該当します。これらは、URL エンコードされ、スキーム (http または https) を含んでいる必要があります。このフィールドの事前入力を有効にする場合は、リンク先のページにユーザーの商品またはサービスの説明と連絡先情報を含めます。十分な情報がない場合、Stripe は入金を開始する前にユーザーに直接連絡を行います。
stripe_user[country]2 文字の国コード (US または CA など)。現時点で、Stripe のサポート対象国である必要があります。
stripe_user[phone_number]ビジネス用の電話番号。10 桁で入力する必要があります。また、stripe_user[country] に対応する国を事前入力する必要があります。
stripe_user[business_name]ビジネスの正式名称。
stripe_user[business_type]ビジネスのタイプ。Standard アカウントの場合、値は sole_prop、corporation、non_profit、partnership または llc のいずれかである必要があります。
stripe_user[first_name]Stripe 申請書を記入する人物の名前 (名)。
stripe_user[last_name]Stripe 申請書を記入する人物の名前 (姓)。
stripe_user[dob_day] stripe_user[dob_month] stripe_user[dob_year]Stripe 申請書を記入する人物の生年月日の年 (YYYY、1900 以降)、月 (1 ~ 12)、日(0 ~ 31)。これらのパラメーターを渡す場合は、3 つすべてを渡す必要があります。
stripe_user[street_address]Standard のみビジネスの住所 (番地)。
stripe_user[city]Standard のみビジネスの住所 (市)。あいまいにならないように、stripe_user[country] に対応する国も事前入力してください。
stripe_user[state]Standard のみビジネスの住所 (州)。州を表す 2 文字のコード (アメリカのビジネスの場合は NY、カナダのビジネスの場合は AB など) を指定してください。また、stripe_user[country] に対応する国を事前入力する必要もあります。
stripe_user[zip]Standard のみビジネスの住所 (郵便番号)。文字列で指定してください。あいまいにならないように、stripe_user[country] に対応する国も事前入力してください。
stripe_user[physical_product]Standard のみ文字列: ユーザが物品を販売している場合は true、それ以外の場合は false です。
stripe_user[product_description]ビジネスが支払いを受け付けている対象についての説明。
stripe_user[currency]Standard のみ通貨を表す小文字の 3 文字の ISO コード (usd または cad など)。Stripe がサポートする有効な国と通貨の組み合わせである必要があります。stripe_user[country] に対応する国を事前入力する必要があります。
stripe_user[first_name_kana]Stripe 申請書を記入する人物の名前 (名) のカナ表記。このパラメーターは日本のみを対象としているため、stripe_user[country] に JP を事前入力する必要があります。
stripe_user[first_name_kanji]Stripe 申請書を記入する人物の名前 (名) の漢字表記。このパラメーターは日本のみを対象としているため、stripe_user[country] に JP を事前入力する必要があります。
stripe_user[last_name_kana]Stripe 申請書を記入する人物の名前 (姓) のカナ表記。このパラメーターは日本のみを対象としているため、stripe_user[country] に JP を事前入力する必要があります。
stripe_user[last_name_kanji]Stripe 申請書を記入する人物の名前 (姓) の漢字表記。このパラメーターは日本のみを対象としているため、stripe_user[country] に JP を事前入力する必要があります。
stripe_user[gender]Stripe 申請書を記入する人物の性別 (国際規制に基づき、男性または女性のいずれかにする必要があります)。このパラメーターは日本のみを対象としているため、stripe_user[country] に JP を事前入力する必要があります。
stripe_user[block_kana]Standard のみ住所ブロックのカナ表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_user[country] に JP、stripe_user[zip] に日本の有効な郵便番号を事前入力する必要があります。
stripe_user[block_kanji]Standard のみ住所ブロックの漢字表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_user[country] に JP、stripe_user[zip] に日本の有効な郵便番号を事前入力する必要があります。
stripe_user[building_kana]Standard のみ住所 (建物) のカナ表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_user[country] に JP、stripe_user[zip] に日本の有効な郵便番号を事前入力する必要があります。
stripe_user[building_kanji]Standard のみ住所 (建物) の漢字表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_user[country] に JP、stripe_user[zip] に日本の有効な郵便番号を事前入力する必要があります。

レスポンス

ユーザーのブラウザーは、設定したリダイレクト URI または redirect_uri パラメーターで渡した値にリダイレクトされます。成功すると、次のクエリパラメーターが返されます。

パラメータ説明
codeユーザのアクセストークンを取得するために、次の呼び出しで使用可能な認証コード。1 回のみ使用でき、5 分後に有効期限が切れます。
scoperead_write または read_only。最初の GET リクエストで渡した値によって決まります。
state最初の GET リクエストで指定した state パラメータの値。

エラーレスポンス

エラーが発生した場合は、access_denied の場合を除き、ユーザーのブラウザーはリダイレクトされません。以下のフィールドを含む JSON ディクショナリーでエラーが返されます。

パラメータ説明
errorエラータイプごとの一意のエラーコード。
error_description人間が理解できるエラーの説明。
state最初の GET リクエストで指定した state パラメータの値。

エラーコード

パラメータ説明
access_deniedユーザが認証を拒否しました。
invalid_scope無効な scope パラメータが指定されています。
invalid_redirect_uri指定された redirect_uri パラメーターが無効な URL であるか、アプリケーション設定で許可されていません。
invalid_requestresponse_type パラメータがありません。
unsupported_response_typeサポートされていない response_type パラメータ。現在サポートされている response_type は code のみです。

連結を完了し、アカウント ID を取得する

POST https://connect.stripe.com/oauth/token

authorization_code をアカウントの連結に変換するためと、refresh_token を使用して新しいアクセストークンを取得するための両方に使用されます。

リクエスト

シークレット API キーを client_secret POST パラメータとして使用して、このコールを行います。

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

認証コードをアクセストークンに変換する際は、認証コードの環境 (本番またはテスト) に対応する API キーを使用する必要があります (使用した client_id が本番用か開発用かによって決まります)。

更新トークンを使用してアクセストークンをリクエストする場合は、テスト用または本番用の API キーを使用して、それぞれテスト用 / 本番用のアクセストークンを取得できます。同じスコープと環境 (本番またはテスト) が設定されている既存のアクセストークンは取り消されます。

注

OAuth v2 によると、このエンドポイントはべき等ではありません。認証コードを複数回使用すると、アカウントの連結が取り消されます。

パラメータ説明
grant_type認証コードをアクセストークンに変換する際は authorization_code、更新トークンを使用して新しいアクセストークンを取得する際は refresh_token。
code または refresh_tokencode または refresh_token の値。grant_type によって決まります。
scopeオプション更新トークンから新しいアクセストークンをリクエストする場合、更新トークンと同等またはそれ以内の任意の対象範囲。認証コードからアクセストークンをリクエストした場合は作用しません。デフォルトでは、更新トークンの対象範囲に設定されています。

レスポンス

パラメータ説明
scopeアクセストークンで権限が付与される対象範囲。認証コードと scope パラメータの対象範囲によって決まります。
stripe_user_idアクセスを許可しているアカウントの一意の ID (文字列)。
livemode連結アカウントの代わりに更新を行うプラットフォームのアクセスが、本番環境アクセスを含むか、テスト環境でのアクションに限定されるかを示すものです。これは、OAuth リクエストの認証に使用されるアプリケーションの本番環境と一致します。
token_type常に、値 bearer が設定されます。
access_token非推奨 Stripe-Account のヘッダーを、この Stripe アカウントの代理としてリクエストを実行できるプラットフォームのシークレットキーを指定して使用します。
stripe_publishable_key非推奨 Stripe-Account のヘッダーを、この Stripe アカウントの代理としてリクエストを実行できるプラットフォームの公開可能キーを指定して使用します。
refresh_token非推奨 対象範囲が同等か狭い、または別の本番環境の新しいアクセストークンを取得するために使用できます (適用可能な場合)。

エラーレスポンス

パラメータ説明
errorエラータイプごとの一意のエラーコード。
error_description人間が理解できるエラーの説明。

エラーコード

パラメータ説明
invalid_requestcode、refresh_token、または grant_type パラメータが指定されていません (必須の場合)。
invalid_grant以下のように、さまざまなことがこのエラーを引き起こす可能性があります。
  • code が存在しないか、期限切れであるか、使用されているか、お客様のものではない場合
  • refresh_token が存在しないか、お客様のものではない場合
  • API キーの環境 (本番キーまたはテストキー) が code または refresh_token の環境と一致しない
unsupported_grant_type指定された grant_type パラメータがサポートされていません。現在サポートされているタイプは、authorization_code および refresh_token のみです。
invalid_scope無効な scope パラメータが指定されています。
unsupported_response_typeサポートされていない response_type パラメータ。現在サポートされている response_type は code のみです。

アカウントのアクセスを取り消す

POST https://connect.stripe.com/oauth/deauthorize

アカウントへのアクセスを取り消すために使用されます。

注

Standard アカウントのプラットフォームへのアクセスのみを取り消すことができます。

リクエスト

シークレット API キーを Authorization ヘッダとして使用してこのコールを行います。

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 キーを使用する必要があります。本番環境の client_id が接続を作成した場合は、本番 API キーを使用し、開発環境の client_id が接続を作成した場合は、テスト API キーを使用します。

パラメータ説明
client_idアカウントの連結を解除するアプリケーションの client_id。アカウントはこのアプリケーションに連結されている必要があります。
stripe_user_id連結解除するアカウント。

レスポンス

パラメータ説明
stripe_user_idアクセスを取り消したアカウントの一意の ID (文字列)。前に渡した stripe_user_id と同一です。これが返された場合は、アクセス権の取り消しが成功しています。

エラーレスポンス

パラメータ説明
errorエラータイプ別の一意のエラーコード。
error_description人間が理解できるエラーの説明。

エラーコード

パラメータ説明
invalid_requestclient_id または stripe_user_id パラメータが指定されていません (必須の場合)。
invalid_client以下のように、さまざまなことがこのエラーを引き起こす可能性があります。
  • client_id がお客様のものではない場合
  • stripe_user_id が存在しないか、お客様のアプリケーションと連結されていない場合
  • API キーの環境 (本番キーまたはテストキー) が client_id の環境と一致しない
  • no_deauth_on_controlled_account: アカウントの連結解除ができない場合は、代わりに Rejection API を使用します。
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc