コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
Essentials
SDK
API
    概要
    API v2
    レート制限
    認証
    API キー
      シークレット API キーの管理
    リクエストコンテキストの指定
    ドメインと IP アドレス
    リクエストを行う
    レスポンスの拡張
    ページ分割
    オブジェクト検索の
    コンテンツのローカライズ
    テストとデータ
    メタデータ
    アプリケーションのテスト
    エラー処理
    エラーの処理
    エラーコード
テスト
Stripe CLI
サンプルプロジェクト
ツール
Stripe ダッシュボード
ワークベンチ
開発者ダッシュボード
Stripe Shell
Visual Studio Code をご利用の場合
機能
ワークフロー
イベントの送信先
Stripe 健全性アラートファイルのアップロード
AI ソリューション
エージェントツールキット
モデルコンテキストプロトコルエージェントを使用した AI SaaS 請求ワークフローの構築
セキュリティとプライバシー
セキュリティ
Stripebot ウェブクローラー
プライバシー
Stripe を拡張する
Stripe Appsを構築する
Stripe アプリを使用する
パートナー
Partner Ecosystem
パートナー認定
アメリカ
日本語
ホーム開発者向けリソースAPI

メモ

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

API キー

API キーを使用して、API リクエストを認証します。

Stripe は、アカウントの API キーを使用して API リクエストを認証します。リクエストに有効なキーが含まれていない場合、Stripe は無効なリクエストエラーを返します。リクエストに削除済みのキーや有効期限切れのキーが含まれている場合、Stripe は認証エラーを返します。

開発者ダッシュボードを使用して、API キーを作成、表示、削除、ローテーションします。v1 API キーには API キータブでアクセスできます。

キーの種類

デフォルトでは、すべてのアカウントに合計 4 つの API キーがあります。

タイプ説明
サンドボックスのシークレットキーサンドボックスでテストするときにサーバー上のリクエストを認証します。デフォルトでは、このキーを使用して、制限なくあらゆる API リクエストを実行できます。本番環境の顧客や支払いを誤って変更しないように、このキーはテストおよび開発用に予約してください。
サンドボックスの公開可能キーWeb またはモバイルアプリのクライアント側コードでリクエストをテストします。本番環境の顧客や支払いを誤って変更しないように、このキーはテストおよび開発用に予約してください。
本番環境のシークレットキー本番環境でサーバー上のリクエストを認証します。デフォルトでは、このキーを使用して、あらゆる API リクエストを制限なく実行できます。
本番環境の公開可能キーアプリをリリースする準備が整ったら、Web やモバイルアプリのクライアント側コードでこのキーを使用します。

シークレットキーと公開可能キーは、ダッシュボードの API キータブにあります。API キーが表示されない場合は、Stripe アカウントの所有者に、適切な権限でチームに追加するよう依頼してください。

制限付き API キー

ダッシュボードで制限付き API キーを生成し、その API へのカスタマイズ可能なアクセスと制限付きアクセスを有効にできます。ただし、デフォルトでは Stripe は制限付きキーを提供していません。

Stripe にログインしている場合、ドキュメントではコード例にテスト API キーが入力されます。これらの値はお客様のみが確認できます。ログインしていない場合、コード例にはランダムに生成された API キーが含まれ、これをテストキーに置き換えることができます。または、 ログイン して、テスト API キーが入力されたコード例を確認することもできます。

API キーの例

次の表は、ランダムに生成されたシークレットキーと公開可能キーの例です。

タイプ値使用するタイミング
シークレットsk_test_BQokikJOvBiI2HlWgH4olfQ2サーバー側: Stripe API を呼び出すウェブやモバイルアプリのサーバー側コード (環境変数や認証情報管理システムなど) でこれを安全に保管し、秘密にする必要があります。このキーをウェブサイトに公開したり、モバイルアプリケーションに埋め込んだりしないでください。
公開可能pk_test_TYooMQauvdEDq54NiTphI7jxクライアント側: Web やモバイルアプリのクライアント側コード (checkout.js など) でパブリックアクセスが可能であり、決済情報を安全に収集します (Stripe Elements など)。デフォルトでは、Stripe Checkout が決済情報を安全に収集します。
制限付きrk_test_ で始まる文字列マイクロサービス: Stripe API を呼び出すマイクロサービスコードでこれを安全に保管し、秘密にする必要があります。このキーをウェブサイトに公開したり、モバイルアプリケーションに埋め込んだりしないでください。

キーを保護する

本番環境のシークレットキーは、誰でもアカウントの代理として支払いの作成や返金の実施などの API コールを実行できます。シークレット API キーを安全に保管するため、以下のベストプラクティスに従ってください。

サンドボックスモードと本番環境

Stripe API リクエストはすべて、 サンドボックス または 本番環境 のいずれかで発生します。サンドボックスを使用してテストデータにアクセスし、本番環境を使用して実際のアカウントデータにアクセスします。各環境には固有の API キーがあり、一方の環境のオブジェクトにはもう一方の環境からアクセスできません。たとえば、サンドボックスの Product オブジェクトを本番環境の決済の一部にすることはできません。

本番環境のキーへのアクセス

本番環境のシークレットまたは制限付き API キーは 1 回のみ表示できます。キーを紛失した場合、ダッシュボードから取得することはできません。その場合は、キーをローテーションまたは削除して、新しいキーを作成してください。

タイプ使用するタイミングオブジェクト使用方法考慮事項
サンドボックスサンドボックスと関連するテスト API キーを使用してシステムを構築します。サンドボックスでは、カードネットワークとペイメントプロバイダーは決済を処理しません。API コールは、シミュレーションされたオブジェクトを返します。たとえば、テストの account、payment、customer、charge、refund、transfer、balance、subscription オブジェクトを取得して使用することができます。テスト用のクレジットカードとアカウントを使用します。実際の支払い方法を受け付けることも、実際のアカウントを処理することもできません。Identity による検証チェックは行われません。また、Connect account (アカウント) オブジェクトは機密フィールドを返しません。
本番環境実装を立ち上げて実際の支払いを受け付ける準備ができたら、本番環境と関連する本番 API キーを使用します。本番環境では、カードネットワークとペイメントプロバイダーは決済を処理します。API コールは、実際のオブジェクトを返します。たとえば、実際の account、payment、customer、charge、refund、transfer、balance、subscription オブジェクトを取得して使用することができます。実際のクレジットカードを受け付けて、顧客のアカウントを処理します。クレジットカードとアカウントの実際の支払いのオーソリ、支払い、キャプチャーを受け付けることができます。不審請求の申請のフローはより細かく、テストプロセスはよりシンプルです。また、一部の支払い方法ではフローがさらに細かく、ステップ数が多くなります。

組織の API キー

1 つの組織に複数の Stripe ビジネスアカウントを作成している場合は、組織レベルの API キーを設定できます。組織レベルの API キーでは次のことが可能です。

  • 任意のアカウントにアクセス: Organization API キーを使用して、組織内の任意のアカウントのリソースにアクセスします。
  • 詳細な権限: Organization API キーを制限して、特定のリソースにのみ読み取りまたは書き込みの権限を付与します。
  • 一元管理: 組織のダッシュボードの API キータブで Organization API キーを作成・管理します。

動作

組織の API キーは、アカウントの API キーと比べて次の点で動作が異なります。

  • 公開キーはありません。組織の API キーはすべて秘密キーとして扱われます。
  • アクセス許可レベルに関係なく、すべて同じ sk_org プレフィックスが付けられます。
  • 組織の API キーを使用して行われるすべての API リクエストには、影響を受けるアカウントを識別するために Stripe-Context ヘッダーを含める必要があります。
  • 組織の API キーを使用して行われるすべての API リクエストには、組織の実装全体の一貫性と予測可能性を確保するため、Stripe-Version ヘッダーを含める必要があります。

組織の API キーを使用する

組織の API キーを使用する場合は、次のことも行う必要があります。

  • Stripe-Version ヘッダーを含めて API バージョンを指定します。Stripe SDK を使用する場合、SDK は自動的に API バージョンを設定します。
  • Stripe-Context ヘッダーを含めて、API リクエストの影響を受けるアカウントを特定します。

たとえば、次のような組織構造があるとします。

Organization (org_6SD3oI0eSQemPzdmaGLJ5j6) ├── Platform account (acct_1R3fqDP6919yCiFv) | └── Connected account (acct_1032D82eZvKYlo2C) └── Standalone account (acct_1aTnTtAAB0hHJ26p)

組織の API キーを使用して、スタンドアロンアカウントの残高にアクセスできます。また、同じキーを使用して、プラットフォームの連結アカウントに対して同じ呼び出しを行うことも可能です。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/balance \ -u {{ORG_SECRET_KEY}}: \ -H "Stripe-Version: {{STRIPE_API_VERSION}}" \ -H "Stripe-Context:
{{CONTEXT}}
"

上記のコード例では、{{CONTEXT}} を該当する値に置き換えます。

  • スタンドアロンアカウントの場合は、acct_1aTnTtAAB0hHJ26p を使用します。
  • 連結アカウントには、プラットフォームと連結アカウントの両方を識別するパスを acct_1R3fqDP6919yCiFv/acct_1032D82eZvKYlo2C の形式で使用します。

コンテキストを使用して関連アカウントを指定し、組織キーを使用して API リクエストで API バージョンを指定する必要があります。

Organization は決済を受け付けることができないため、公開可能 API キーを持っていません。Organization API キーを使用して組織内の任意のアカウントの PaymentIntent を作成できますが、クライアント側の操作には既存のアカウント固有の公開可能キーを使用する必要があります。

シークレットキーと制限付きキー

ダッシュボードを使用して、シークレットキーと制限付きキーを作成、表示、変更、削除、ローテーションします。

API キーを作成する

シークレット API キーまたは制限付き API キーを作成できます。制限付き API キーは、指定したレベルのアクセスのみを許可します。

シークレット API キーを作成するには

  1. API キータブで、 シークレットキーを作成 をクリックします。
  2. ダイアログで、Stripe がメールまたは SMS で送信する確認コードを入力します。ダイアログが自動的に続行されない場合は、 続行 をクリックします。
  3. キー名 フィールドに名前を入力し、 作成 をクリックします。
  4. キー値をクリックしてコピーします。
  5. キーの値を保存します。後で取得することはできません。
  6. メモを追加 フィールドにキーの保存場所を入力し、 完了 をクリックします。

制限付き API キーを作成するには

  1. API キータブで、次のいずれかを実行します。
    • 制限付きキーを新規作成するには、 制限付きキーを作成 をクリックします。すべての権限のデフォルト値は なし です。
    • 既存のキーを複製するには、複製するキーのオーバーフローメニュー () をクリックし、 キーを複製 を選択します。各権限のデフォルト値は、複製元キーの値です。
  2. キー名 フィールドに名前を入力します。既存のキーを複製した場合、デフォルト名は複製元キーの名前です。
  3. 新しいキーでアクセスするリソースごとに、 なし 、 読み取り 、 書き込み のいずれかの適切な権限を選択します。Connect を使用している場合は、連結アカウントにアクセスする際にこのキーに許可する権限も選択できます。
  4. キーを作成をクリックします。
  5. ダイアログで、Stripe がメールまたは SMS で送信する確認コードを入力します。ダイアログが自動的に続行されない場合は、 続行 をクリックします。
  6. キー値をクリックしてコピーします。
  7. キーの値を保存します。後で取得することはできません。
  8. メモを追加 フィールドにキーの保存場所を入力し、 完了 をクリックします。

API キーの表示

サンドボックスまたは本番環境では、シークレット API キーまたは制限付き API キーを表示できます。

本番環境では、Stripe は (セキュリティ上の理由から) API キーを 1 回しか表示しません。キーを紛失しない場所に保存してください。保管場所を忘れないように、ダッシュボードでキーにメモを追加できます。キーを紛失した場合は、キーをローテーションまたは削除して、新しいキーを作成してください。

本番環境のシークレットキーを表示

本番環境で秘密キーまたは制限付き API キーを作成すると、保存する前にキーが表示されます。後で表示することはできないため、保存する前にキーをコピーしてください。公開できるのは、デフォルトの秘密キー、またはローテーションによって生成されたキーのみです。

サンドボックスでシークレット API キーを表示するには

  1. API キータブの Standard keys リストで、 Secret key 行の Reveal test key をクリックします。シークレット API キーは何度でも表示できます。
  2. キー値をクリックしてコピーします。
  3. キーの値を保存します。
  4. テストキーを非表示をクリックします。

本番環境でシークレットまたは制限付き API キーを表示するには

  1. 本番環境の API キータブの Standard keys または Restricted keys リストで、表示するキーの Reveal live key をクリックします。
  2. キー値をクリックしてコピーします。
  3. キーの値を保存します。
  4. テストキーを非表示をクリックします。
  5. メモを追加するキーのオーバーフローメニュー () をクリックし、 キーを編集 を選択します。
  6. メモ フィールドにキーの保存場所を入力し、 保存 をクリックします。

メモ

Stripe がこの機能を導入する前に作成されたキーは、表示しても自動的に非表示になりません。本番キーを非表示 をクリックして手動で非表示にする必要があります。

API キーを特定の IP アドレスに制限する

シークレット API キーまたは制限付き API キーを、IP アドレスの範囲、または 1 つ以上の特定の IP アドレスに制限できます。

IP アドレスは IPv4 プロトコルを使用する必要があり、有効な任意の CIDR 範囲を指定できます。たとえば、100.10.38.0 - 100.10.38.255 の範囲は 100.10.38.0/24 と指定できます。範囲内のすべての IP アドレスは 100.10.38 で始まる必要があります。

  1. API キータブの Standard keys リストまたは Restricted keys リストで、表示するキーのオーバーフローメニュー () をクリックします。

  2. IP 制限を管理 > IP アドレスのセットに使用を制限 を選択します。

  3. 以下のいずれかを実行します。

    • IP アドレス フィールドに個別の IP アドレスを入力します。
    • IP アドレスの範囲を指定するには、Classless Inter-Domain Routing (CIDR) 表記で範囲の最初のアドレスを IP アドレス フィールドに入力します。CIDR フィールドにはネットワークプレフィックスサイズを入力します。

    一括管理 タブで、個々の IP アドレスと範囲をスペースで区切って入力することもできます。一方のタブで加えた変更は、もう一方のタブに反映されます。

  4. 別の IP アドレスまたは範囲を追加するには、 + 追加 をクリックします。

  5. 保存をクリックします。

API キーの名前またはメモを変更する

  1. API キータブで、変更するキーのオーバーフローメニュー () をクリックします。
  2. キーを編集 を選択します。
  3. 次の手順を実行します。
    • 名前を変更するには、 キー名 フィールドに新しい名前を入力します。
    • メモのテキストを変更するには、 メモ フィールドに新しいメモのテキストを入力します。
  4. 保存をクリックします。

API キーを削除

シークレット API キーまたは制限付き API キーを削除する場合は、新しいキーを作成し、削除したキーを使用するコードを更新する必要があります。削除したキーを使用するコードは、API コールを実行できなくなります。

メモ

公開可能キーを削除することはできません。

  1. API キータブの Standard keys リストまたは Restricted keys リストで、削除するキーのオーバーフローメニュー () をクリックします。
  2. キーを削除 を選択します。
  3. ダイアログで、 キーを削除 をクリックします。キーを削除しない場合は、 キャンセル をクリックします。

API キーのローテーション

API キーをローテーションすると、そのキーが取り消され、すぐに使用できる代替キーが生成されます。また、一定時間後に API キーをローテーションするようスケジュールすることもできます。代替キーの名前は次のとおりです。

  • 置換後の公開可能キー名は常に Publishable key です。
  • 置換後のシークレットキー名は常に Secret key です。
  • 置換後の制限付きキー名は、ローテーションされたキーと同じです。

シークレットまたは制限付き API キーは、キーを編集することで名前を変更できます。

次のようなシナリオでは、API キーをローテーションします。

  • 本番環境でシークレットまたは制限付き API キーを紛失し、ダッシュボードから復元できない場合。
  • シークレットまたは制限付き API キーが侵害された場合、そのキーを使用する可能性のある悪意のある API リクエストをブロックするために、キーを取り消す必要があります。
  • ポリシーにより、一定間隔でキーのローテーションが必要な場合。

API キーをローテーションするには

  1. API キータブで、ローテーションするキーのオーバーフローメニュー () をクリックします。
  2. キーをローテーション を選択します。
  3. 有効期限 ドロップダウンから有効期限を選択します。今すぐ を選択すると、古いキーは削除されます。時間を指定すると、キーの有効期限が切れるまでの残り時間がキー名の下に表示されます。
  4. API キーのローテーションをクリックします。
  5. キー値をクリックしてコピーします。
  6. キーの値を保存します。後で取得することはできません。
  7. メモを追加 フィールドに、キーの保存場所を入力し、 保存 または 完了 をクリックします。

API リクエストログを表示

API リクエストログを開くには、任意のキーのオーバーフローメニュー () をクリックし、 リクエストログを表示 を選択します。ログを開くと、Stripe ダッシュボードにリダイレクトされます。

このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc
関連ガイド
実装内容をテストする
ユースケースをテストする