Connect OAuth リファレンス
このリファレンスでは、Connect で使用できる OAuth エンドポイントのパブリックメソッドのそれぞれを紹介します。
OAuth Connectフローでは、Stripe に追加のパラメーターを渡すことで、ユーザー体験をカスタマイズできます。一般的ないくつかの例を以下に示します。リファレンスの後半では、その他のすべてのオプションについて記載しています。
注
プラットフォームでは、Standard アカウント向けに作成したデータ (請求金額、顧客、請求書など) が、Stripe アカウントに表示される点に注意してください。これにより、そのユーザーが他のプラットフォームに連結した場合、それらのプラットフォームにもそのデータが表示されるようになります。
2021 年 6 月から、read_
の範囲で OAuth を使用しているプラットフォームは、別のプラットフォームで管理されているアカウントに接続できなくなります。
拡張プログラムでは、OAuth の動作に変更はありません。Standard プラットフォームの OAuth の変更の詳細をご確認ください。
一般的な例
フィールドを事前入力する
アカウントフォームのフィールドにユーザーのメールアドレスや名前など、既に入手している情報を事前に入力して、新しい Stripe アカウントを作成する必要があるユーザーに可能な限り良好なユーザー体験を提供します。ユーザーに Stripe アカウントがすでにある場合、事前入力は効果がありません。日本での利用規約への同意や RISA への同意など、特定のフィールドは事前に入力できません。
リダイレクト URI を動的に設定する
セキュリティー上の理由から、Stripe はユーザーを事前定義された URI にのみリダイレクトします。ただし、Connect を使用すると、複数のリダイレクト URI を定義できます。これを使用して、ユーザー体験をさらにカスタマイズできます。たとえば、一部のユーザーを https://sub1.example.com に戻し、それ以外のユーザーを https://sub2.example.com にリダイレクトできます。
リダイレクト URI を動的に設定するには、次の手順に従います。
- プラットフォーム設定で、各リダイレクト URI を追加する。
- 認証リクエストに
redirect_
パラメータを追加し、その値をリダイレクト URI のいずれか 1 つに設定する。uri
https://connect.stripe.com/oauth/authorize?response_type=code&client_id={{CLIENT_ID}}&scope=read_write&redirect_uri=https://sub2.example.com
URL に redirect_
が指定されていない場合、Stripe はプラットフォーム設定で設定された最初の URI を使用します。
アカウントを承認する
Standard アカウントの場合: GET https://connect.stripe.com/oauth/authorize
プラットフォームに連結するためにユーザーを Stripe に送ります。
リクエスト
パラメータ | 説明 |
---|---|
client_ | アプリケーションに付与される一意の識別子。アプリケーションの設定で確認できます。 |
response_ | 現時点で利用できるオプションは、code のみです。 |
redirect_ オプション | 認証のレスポンスのリダイレクト URL。指定する場合は、アプリケーションの設定にあるカンマ区切りのredirect_ の値の 1 つと正確に一致する必要があります。特定の種類の中間者攻撃からお客様自身を守るには、本番環境の redirect_ で安全な HTTPS 接続を使用する必要があります。アプリケーションの設定で指定されない場合は、デフォルトで redirect_ が指定されます。 |
scope オプションStandard のみ | read_write または read_only。必要なアクセスのレベルによって異なります。Standard アカウントのデフォルトでは、read_only に設定されています。read_only は拡張機能のみ指定可能であることに注意してください。 |
state オプション | お客様に返される任意の文字列値。CSRF の対策に役立ちます。 |
次のクエリ文字列パラメーターはすべてオプションです。これらのパラメーターは、新しいユーザー用のアカウントフォームに詳細を事前入力するために使用されます。一部の事前入力済みのフィールド (URL や商品カテゴリーなど) が自動的に非表示に設定されている場合があります。無効な値が指定されたパラメーターは、エラーなどを出力することなく無視されます。
このようなパラメータの一部は、Standard アカウント (以下参照) にのみ適用されます。
パラメータ | 説明 |
---|---|
stripe_ 推奨 | ユーザのメールアドレス。有効なメール形式で入力してください。 |
stripe_ 推奨 | ユーザーのビジネスの URL。これには、ユーザーの Web サイト、アプリケーションのプロフィールページ、ビジネスについて公開されている他のプロフィール (LinkedIn や Facebook のプロフィールなど) を使用できます。これは URL エンコードされ、スキーム (http または https) が含まれている必要があります。このフィールドに事前入力する場合は、リンク先のページにユーザーの商品やサービスと、その連絡先情報を含めてください。十分な情報がない場合、入金の開始前に、Stripe からユーザーに直接連絡をする必要があります。 |
stripe_ | 2 文字の国コード (US または CA など)。現時点で、Stripe のサポート対象国である必要があります。 |
stripe_ | ビジネス用の電話番号。10 桁で入力する必要があります。また、stripe_ に対応する国を事前入力する必要があります。 |
stripe_ | ビジネスの正式名称。 |
stripe_ | ビジネスのタイプ。Standard アカウントの場合、値は sole_prop、corporation、non_profit、partnership または llc のいずれかである必要があります。 |
stripe_ | Stripe 申請書を記入する人物の名前 (名)。 |
stripe_ | Stripe 申請書を記入する人物の名前 (姓)。 |
stripe_ stripe_ stripe_ | Stripe 申請書を記入する人物の生年月日の年 (YYYY、1900 以降)、月 (1 ~ 12)、日(0 ~ 31)。これらのパラメーターを渡す場合は、3 つすべてを渡す必要があります。 |
stripe_ Standard のみ | ビジネスの住所 (番地)。 |
stripe_ Standard のみ | ビジネスの住所 (市)。あいまいにならないように、stripe_ に対応する国も事前入力してください。 |
stripe_ Standard のみ | ビジネスの住所 (州)。州を表す 2 文字のコード (アメリカのビジネスの場合は NY、カナダのビジネスの場合は AB など) を指定してください。また、stripe_ に対応する国を事前入力する必要もあります。 |
stripe_ Standard のみ | ビジネスの住所 (郵便番号)。文字列で指定してください。あいまいにならないように、stripe_ に対応する国も事前入力してください。 |
stripe_ Standard のみ | 文字列: ユーザが物品を販売している場合は true、それ以外の場合は false です。 |
stripe_ | ビジネスが支払いを受け付けている対象についての説明。 |
stripe_ Standard のみ | 通貨を表す小文字の 3 文字の ISO コード (usd または cad など)。Stripe がサポートする有効な国と通貨の組み合わせである必要があります。stripe_ に対応する国を事前入力する必要があります。 |
stripe_ | Stripe 申請書を記入する人物の名前 (名) のカナ表記。このパラメーターは日本のみを対象としているため、stripe_ に JP を事前入力する必要があります。 |
stripe_ | Stripe 申請書を記入する人物の名前 (名) の漢字表記。このパラメーターは日本のみを対象としているため、stripe_ に JP を事前入力する必要があります。 |
stripe_ | Stripe 申請書を記入する人物の名前 (姓) のカナ表記。このパラメーターは日本のみを対象としているため、stripe_ に JP を事前入力する必要があります。 |
stripe_ | Stripe 申請書を記入する人物の名前 (姓) の漢字表記。このパラメーターは日本のみを対象としているため、stripe_ に JP を事前入力する必要があります。 |
stripe_ | Stripe 申請書を記入する人物の性別 (国際規制に基づき、男性または女性のいずれかにする必要があります)。このパラメーターは日本のみを対象としているため、stripe_ に JP を事前入力する必要があります。 |
stripe_ Standard のみ | 住所ブロックのカナ表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_ に JP、stripe_ に日本の有効な郵便番号を事前入力する必要があります。 |
stripe_ Standard のみ | 住所ブロックの漢字表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_ に JP、stripe_ に日本の有効な郵便番号を事前入力する必要があります。 |
stripe_ Standard のみ | 住所 (建物) のカナ表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_ に JP、stripe_ に日本の有効な郵便番号を事前入力する必要があります。 |
stripe_ Standard のみ | 住所 (建物) の漢字表記。このパラメータは日本のみを対象としています。このパラメータを使用するには、stripe_ に JP、stripe_ に日本の有効な郵便番号を事前入力する必要があります。 |
レスポンス
ユーザーのブラウザーは、お客様の設定したリダイレクト URI、または redirect_
パラメーターで渡した値にリダイレクトされます。成功すると、次のようなクエリパラメーターが返されます。
パラメータ | 説明 |
---|---|
code | ユーザのアクセストークンを取得するために、次の呼び出しで使用可能な認証コード。1 回のみ使用でき、5 分後に有効期限が切れます。 |
scope | read_write または read_only。最初の GET リクエストで渡した値によって決まります。 |
state | 最初の GET リクエストで指定した state パラメータの値。 |
エラーレスポンス
エラーが発生した場合は、access_
の場合を除き、ユーザーのブラウザーはリダイレクトされません。以下のフィールドを含む JSON ディクショナリーでエラーが返されます。
パラメータ | 説明 |
---|---|
error | エラータイプごとの一意のエラーコード。 |
error_ | 人間が理解できるエラーの説明。 |
state | 最初の GET リクエストで指定した state パラメータの値。 |
エラーコード
パラメータ | 説明 |
---|---|
access_ | ユーザが認証を拒否しました。 |
invalid_ | 無効な scope パラメータが指定されています。 |
invalid_ | 指定された redirect_ パラメーターが、無効な URL であるか、アプリケーションの設定で許可されていません。 |
invalid_ | response_ パラメータがありません。 |
unsupported_ | サポートされていない response_ パラメータ。現在サポートされている response_ は code のみです。 |
連結を完了し、アカウント ID を取得する
POST https://connect.stripe.com/oauth/token
authorization_
をアカウントの連結に変換するためと、refresh_
を使用して新しいアクセストークンを取得するための両方に使用されます。
リクエスト
シークレット API キーを client_
POST パラメータとして使用して、このコールを行います。
認証コードをアクセストークンに変換する際は、認証コードの環境 (本番またはテスト) に対応する API キーを使用する必要があります (使用した client_
が本番用か開発用かによって決まります)。
更新トークンを使用してアクセストークンをリクエストするときは、テスト用または本番用の API キーを使用して、それぞれテスト用または本番用のアクセストークンを入手できます。同じ対象範囲と環境 (本番またはテスト) の既存のアクセストークンは取り消されます。
注
OAuth v2 によると、このエンドポイントはべき等ではありません。認証コードを複数回使用すると、アカウントの連結が取り消されます。
パラメータ | 説明 |
---|---|
grant_ | 認証コードをアクセストークンに変換する際は authorization_code、更新トークンを使用して新しいアクセストークンを取得する際は refresh_token。 |
code または refresh_ | code または refresh_ の値。grant_ によって決まります。 |
scope オプション | 更新トークンから新しいアクセストークンをリクエストする場合、更新トークンと同等またはそれ以内の任意の対象範囲。認証コードからアクセストークンをリクエストした場合は作用しません。デフォルトでは、更新トークンの対象範囲に設定されています。 |
レスポンス
パラメータ | 説明 |
---|---|
scope | アクセストークンで権限が付与される対象範囲。認証コードと scope パラメータの対象範囲によって決まります。 |
stripe_ | アクセスを許可しているアカウントの一意の ID (文字列)。 |
livemode | 連結アカウントの代わりに更新を行うプラットフォームのアクセスが、本番環境アクセスを含むか、テスト環境でのアクションに限定されるかを示すものです。これは、OAuth リクエストの認証に使用されるアプリケーションの本番環境と一致します。 |
token_ | 常に、値 bearer が設定されます。 |
access_ | 非推奨 Stripe-Account のヘッダーを、この Stripe アカウントの代理としてリクエストを実行できるプラットフォームのシークレットキーを指定して使用します。 |
stripe_ | 非推奨 Stripe-Account のヘッダーを、この Stripe アカウントの代理としてリクエストを実行できるプラットフォームの公開可能キーを指定して使用します。 |
refresh_ | 非推奨 対象範囲が同等か狭い、または別の本番環境の新しいアクセストークンを取得するために使用できます (適用可能な場合)。 |
エラーレスポンス
パラメータ | 説明 |
---|---|
error | エラータイプごとの一意のエラーコード。 |
error_ | 人間が理解できるエラーの説明。 |
エラーコード
パラメータ | 説明 |
---|---|
invalid_ | code 、refresh_ 、または grant_ パラメータが指定されていません (必須の場合)。 |
invalid_ | 以下のように、さまざまなことがこのエラーを引き起こす可能性があります。
|
unsupported_ | 指定された grant_ パラメータがサポートされていません。現在サポートされているタイプは、authorization_code および refresh_token のみです。 |
invalid_ | 無効な scope パラメータが指定されています。 |
unsupported_ | サポートされていない response_ パラメータ。現在サポートされている response_ は code のみです。 |