API キー
API キーを使用して、API リクエストを認証します。
Stripe は、アカウントの API キーを使用して API リクエストを認証します。リクエストに有効なキーが含まれていない場合、Stripe は無効なリクエストエラーを返します。リクエストに削除済みのキーや有効期限切れのキーが含まれている場合、Stripe は認証エラーを返します。
開発者ダッシュボードを使用して、API キーの作成、表示、削除、ローテーションを行います。v1 API キーにアクセスするには、ダッシュボードで API キータブを選択します。
キーの種類
By default, all accounts have a total of four API keys, two in a sandbox and two in live mode:
- Sandbox secret key: Use this key to authenticate requests on your server when you’re testing in a sandbox. By default, you can use this key to perform any API request without restriction. Reserve this key for testing and development to make sure that you don’t accidentally modify your live customers or charges.
- Sandbox publishable key: Use this key for testing purposes in your web or mobile app’s client-side code. Reserve this key for testing and development to make sure that you don’t accidentally modify your live customers or charges.
- 本番環境のシークレットキー: 本番環境でサーバー上のリクエストを認証するには、このキーを使用します。デフォルトでは、このキーを使用して、あらゆる API リクエストを制限なく実行できます。
- 本番環境の公開可能キー: アプリをリリースする準備が整ったら、ウェブやモバイルアプリのクライアント側コードでこのキーを使用します。
Your secret and publishable keys are in the Dashboard in the API keys tab. If you can’t view your API keys, ask the owner of your Stripe account to add you to their team with the proper permissions.
制限付き API キー
You can generate restricted API keys in the Dashboard to enable customizable and limited access to the API. However, Stripe doesn’t offer any restricted keys by default.
When you’re logged in to Stripe, our documentation automatically populates code examples with your test API keys. Only you can see these values. If you’re not logged in, our code examples include randomly generated API keys. You can replace them with your own test keys or log in to see the code examples populated with your test API keys.
次の表は、ランダムに生成されたシークレットキーと公開可能テスト API キーの例です。
タイプ | 値 | 使用するタイミング |
---|---|---|
シークレット | sk_ | サーバー側: Stripe API を呼び出すウェブやモバイルアプリのサーバー側コード (環境変数や認証情報管理システムなど) でこれを安全に保管し、秘密にする必要があります。このキーをウェブサイトに公開したり、モバイルアプリケーションに埋め込んだりしないでください。 |
公開可能 | pk_ | クライアント側: ウェブやモバイルアプリのクライアント側コード (checkout.js など) でパブリックアクセスが可能であり、Stripe Elements などを使用して決済情報を安全に収集します。デフォルトでは、Stripe Checkout が決済情報を安全に収集します。 |
制限付き | rk_ で始まる文字列 | マイクロサービス: Stripe API を呼び出すマイクロサービスコードでこれを安全に保管し、秘密にする必要があります。このキーをウェブサイトに公開したり、モバイルアプリケーションに埋め込んだりしないでください。 |
サンドボックスモードと本番環境
すべての Stripe API リクエストは、 サンドボックス または 本番モード のいずれかで行われます。サンドボックスを使用してテストデータにアクセスし、本番モードを使用して実際のアカウントデータにアクセスします。各モードには、独自の API キーのセットがあります。一方のモードのオブジェクトには、もう一方のモードからはアクセスできません。たとえば、サンドボックス商品オブジェクトを本番環境の支払いに含めることはできません。
本番環境のキーへのアクセス
本番環境の秘密キーまたは制限付き API キーは、一度のみ公開できます。紛失した場合でも、ダッシュボードから再取得することはできません。その場合は、キーをローテーションするか、削除して新しいキーを作成してください。
タイプ | 使用するタイミング | オブジェクト | 使用方法 | 考慮事項 |
---|---|---|---|---|
sandboxes | Use a sandbox, and its associated test API keys, as you build your integration. In a sandbox, card networks and payment providers don’t process payments. | API コールは、シミュレーションされたオブジェクトを返します。たとえば、テストの account 、payment 、customer 、charge 、refund 、transfer 、balance 、subscription オブジェクトを取得して使用することができます。 | テスト用のクレジットカードとアカウントを使用します。実際の支払い方法を受け付けることも、実際のアカウントを処理することもできません。 | Identity による検証チェックは行われません。また、Connect account (アカウント) オブジェクトは機密フィールドを返しません。 |
本番環境 | 実装を立ち上げて実際の支払いを受け付ける準備ができたら、本番環境と関連する本番 API キーを使用します。本番環境では、カードネットワークとペイメントプロバイダーは決済を処理します。 | API コールは、実際のオブジェクトを返します。たとえば、実際の account 、payment 、customer 、charge 、refund 、transfer 、balance 、subscription オブジェクトを取得して使用することができます。 | 実際のクレジットカードを受け付けて、顧客のアカウントを処理します。クレジットカードとアカウントの実際の支払いのオーソリ、支払い、キャプチャーを受け付けることができます。 | 不審請求の申請のフローはより細かく、テストプロセスはよりシンプルです。また、一部の支払い方法ではフローがさらに細かく、ステップ数が多くなります。 |
API キーのローテーション
キーをローテーションすると、そのキーは無効になり、置換キーが生成されます。キーは、すぐにローテーションすることも、一定時間後にローテーションするようにスケジュールすることもできます。キーのローテーションは、以下のようなシナリオで利用できます。
- 本番環境でシークレットキーまたは制限付きキーを紛失した場合は、ダッシュボードから復元することはできず、交換する必要があります。
- シークレットまたは制限付きのキーが不正にアクセスされた場合は、悪意のある API リクエストで使用される可能性を回避するために、取り消す必要があります。
- ポリシーにより、一定期間ごとにキーのローテーションを行う必要があります。
API キーをローテーションする場合は、以下の手順に従います。
- API キーページを開きます。
- ローテーションするキーの行で、オーバーフローメニュー () をクリックし、キーのローテーションを選択します。
- 有効期限ドロップダウンから有効期限を選択します。
- API キーのローテーションをクリックします。
- ダイアログに新しいキーの値が表示されます。クリックしてコピーします。
- キーの値を保存します。後で取得することはできません。
- メモを追加フィールドに、キーの保存場所を入力して、完了または保存をクリックします。
有効期限として現在を選択した場合は、以前のキーは削除されます。別の時刻を選択した場合は、キーの有効期限が切れるまでの残りの時間が名前の下に表示されます。
以前のキーの有効期限に関係なく、新しいキーをすぐに使用できます。
公開キーをローテーションする場合、置換キーの名前は常に Publishable key
になります。秘密キーをローテーションする場合、置換キーの名前は常に Secret key
になります。制限付きキーをローテーションする場合、置換キーの名前はローテーションされるキーと同じになります。秘密キーまたは制限付きキーの名前を変更するには、オーバーフローメニューをクリックして、キーの編集を選択します。
API リクエストログを表示する
API リクエストログを開くには、任意のキーのオーバーフローメニュー () をクリックして、リクエストのログを表示を選択します。ログを開くと、メインの Stripe ダッシュボードにリダイレクトされます。
シークレットキーと制限付きキー
ダッシュボードを使用して、シークレットキーと制限付きキーを作成、削除、表示、および変更します。
シークレット API キーを作成する
シークレット API キーを作成するには、以下の手順を実行します。
- API キーページを開きます。
- シークレットキーを作成をクリックします。
- Stripe は、確認コードをメールアドレスまたはショートメッセージに送信します (他のメールやショートメッセージと同様、すぐには届かない場合があります)。届いたコードをダイアログに入力してください。ダイアログが自動的に先に進まない場合は、続行をクリックします。
- キーの名前フィールドに名前を入力します。
- 作成をクリックします。
- ダイアログに新しいキーの値が表示されます。クリックしてコピーします。
- キーの値を保存します。後で取得することはできません。
- メモを追加フィールドに、キーの保存場所を入力して、完了をクリックします。
制限付きの API キーを作成する
制限付き API キーでは、指定したレベルのアクセスのみが許可されます。
制限付きの API キーを作成するには、以下の手順を実行します。
- API キーページを開きます。
- 制限付きキーを最初から作成することも、既存の制限付きキーを複製することもできます。
- 制限付きキーを最初から作成するには、制限付きのキーを作成をクリックします。この場合、すべての権限のデフォルト値はなしです。
- 既存のキーを複製するには、オーバーフローメニュー () をクリックし、複製するキーの行で キーを複製 を選択します。この場合、各アクセス許可の既定値は、複製されたキーの値です。
- キーの名前フィールドに、名前を入力します。既存のキーを複製した場合、デフォルトの名前は、複製されたキーの名前です。
- 新しいキーでアクセスするリソースごとに、キーに許可するアクセス許可を選択します。Connect を使用している場合は、連結アカウントにアクセスするときに、このキーを許可する権限を選択することもできます。使用可能な権限は、なし、読み取り、書き込み です。
- キーを作成をクリックします。
- Stripe は、確認コードをメールアドレスまたはショートメッセージに送信します (他のメールやショートメッセージと同様、すぐには届かない場合があります)。届いたコードをダイアログに入力してください。ダイアログが自動的に先に進まない場合は、続行をクリックします。
- ダイアログに新しいキーの値が表示されます。クリックしてコピーします。
- キーの値を保存します。後で取得することはできません。
- メモを追加フィールドに、キーの保存場所を入力して、完了をクリックします。
シークレットまたは制限付きの API キーを削除する
キーを削除すると、そのキーを使用するコードは API コールを実行できなくなります。キーを削除したら、新しいキーを作成し、それを使用するようにコードを更新します。
注
公開可能キーを削除することはできません。
キーを削除するには、以下の手順に従います。
- 開発者ダッシュボードで、API キータブを選択します。
- 標準キー または 制限付きキー リストで、削除するキーを見つけます。そのキーの行にあるオーバーフローメニュー () をクリックし、キーを削除 を選択します。
- キーを削除してもよろしければ、API キーを削除 ダイアログで キーを削除 をクリックします。それ以外の場合は、キャンセル をクリックします。
サンドボックスでのシークレット API キーの公開
サンドボックスを使用すると、シークレット API キーを何度でも公開できます。
サンドボックスでシークレットキーを明らかにするには、次のようにします。
- 開発者ダッシュボードで、API キータブを選択します。
- 標準キー リストで、シークレットキー 行の テストキーを表示 をクリックします。
- キーの値をクリックしてコピーします。
- キーの値を保存します。
- テストキーを非表示をクリックします。
本番環境用のシークレットまたは制限付きの API キーを表示する
本番環境ではシークレットキーまたは制限付き API キーは 1 回だけ表示されます (セキュリティ上の理由により)。キーは安全な場所に保管し、紛失しないようにしてください。保存場所を忘れないように、ダッシュボードのキーにメモを残すこともできます。キーを紛失した場合は、キーをローテーションするか、削除して別のキーを作成することができます。
作成した本番環境のシークレットキーは表示できません
本番環境で秘密キーまたは制限付き API キーを作成すると、保存する前にキーが表示されます。後で表示することはできないため、保存する前にキーをコピーしてください。公開できるのは、デフォルトの秘密キー、またはローテーションによって生成されたキーのみです。
本番環境でシークレットまたは制限付きのキーを表示してメモを添付するには、以下の手順を実行します。
注
ここの「API キー」リンクが本番環境で開きます。
- 開発者ダッシュボードで、API キータブを選択します。
- 表示するキーの行の 標準キー リストまたは 制限付きキー リストで 本番キーを表示 をクリックします。
- キーの値をクリックしてコピーします。
- キーの値を保存します。
- テストキーを非表示をクリックします。
- キーの横にあるオーバーフローメニュー () をクリックし、キーを編集 を選択します。
- メモ フィールドに、キーを保存した場所を入力し、保存 をクリックします。
- Stripe がこの機能を導入する前にキーを作成した場合は、本番キーを非表示をクリックします。
注
Stripe がこの機能を導入する前に作成されたキーは、表示されると自動的には非表示になりません。手動で非表示にする必要があります。
シークレットまたは制限付きのキーを IP アドレスのリストまたは範囲に制限する
キーを使用する API リクエストを 1 つ以上の特定の IP アドレスまたは IP アドレスの範囲に制限するには、以下の手順を実行します。
有効な IP アドレスの範囲
有効な任意の CIDR 範囲を指定できます。たとえば、100.
と指定して、有効な範囲を 100.
にすることができます。この場合、範囲内のすべてのアドレスが、100.
で始まる必要があります。
- API キーページを開きます。
- 表示するキーの行の 標準キー リストまたは 制限付きキー リストのオーバーフローメニュー () をクリックし、IP 制限を管理 を選択します。
- 特定の IP アドレスのセットに使用を制限するをクリックします。
- IP アドレスまたは IP アドレスの範囲を入力します。
- 個々の IP アドレスは、IP アドレスフィールドに入力します。
- IP アドレスの範囲は、Classless Inter-Domain Routing (CIDR) 表記で範囲を入力します。IP アドレスフィールドに、範囲の最初のアドレスを入力します。CIDR フィールドに、ネットワークのプレフィックスサイズを入力します。
- 一括管理タブを選択して、個々の IP アドレスと範囲をスペースで区切って入力することもできます。一方のタブで加えた変更は、もう一方のタブに反映されます。
- 別のアドレスまたは範囲を追加するには、+ 追加をクリックします。
- 保存をクリックします。
シークレットまたは制限付きの API キーの名前またはメモを変更する
シークレットまたは制限付きのキーの名前またはメモのテキストを変更するには、以下の手順を実行します。
- API キーページを開きます。
- 変更するキーの行のオーバーフローメニュー () をクリックし、キーの編集 を選択します。
- 名前を変更する場合、キーの名前に新しい名前を入力します。
- メモのテキストを変更する場合、メモに新しいメモのテキストを入力します。
- 保存をクリックします。
キーを安全に保存する
本番環境のシークレット API キーは、誰でも、支払いの作成や返金の実施など、アカウントの代理としてあらゆる API コールの実行に使用できます。シークレット API キーのベストプラクティスに従って、キーを安全に保管してください。