# 最初の Stripe API リクエストを送信する Stripe API の使用を開始します。 Stripe API に対するすべてのコールには、API シークレットキーを含める必要があります。Stripe アカウントを作成すると、2 組の [API キー](https://docs.stripe.com/keys.md) (クライアント側の公開可能キーとサーバー側のシークレットキー) が生成されます。これらのキーは、*サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)と*本番* (Use this mode when you’re ready to launch your app. Card networks or payment providers process payments)環境でのテスト用です。本番環境のキーを使用して実際の資金の移動を開始するには、[本番環境の利用を申請する](https://docs.stripe.com/get-started/account/activate.md)必要があります。 ## はじめに このガイドでは、Stripe API の簡単な操作で顧客を作成する方法についてステップごとに説明します。Stripe API オブジェクトとその連携方法について詳しくは、[API ツアー](https://docs.stripe.com/payments-api/tour.md)もしくは、[API リファレンス](https://docs.stripe.com/api.md)をご覧ください。決済の受け付けを開始する準備ができたら、[クイックスタート](https://docs.stripe.com/payments/quickstart-checkout-sessions.md)をご覧ください。 ## 最初の API リクエストを送信する [Stripe Shell](https://docs.stripe.com/workbench/shell.md) を使用して Stripe API を探索できます。Stripe Shell では、Stripe ドキュメントサイトから Stripe CLI コマンドを直接実行できます。*サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)環境でのみ動作するため、資金の移動を伴う実際の取引が開始されることはありません。 1. Stripe Shell を使用して[顧客を作成](https://docs.stripe.com/api/customers/create.md)するには、次のコマンドを入力します。 #### bash ```bash stripe customers create --email=jane.smith@email.com --name="Jane Smith" --description="My First Stripe Customer" ``` すべて正常に機能する場合、コマンドラインに以下のレスポンスが表示されます。 #### bash ```json { "id": "cus_LfctGLAICpokzr", // ID は次のようになります。 "object": "customer", // このオブジェクトがアカウントのログに記録されます。 "address": null, "balance": 0, "created": 1652283583, "currency": null, "default_source": null, "delinquent": false, "description": "My First Stripe Customer", "discount": null, "email": "jane.smith@email.com", "invoice_prefix": "9B1D61CF", "invoice_settings": { "custom_fields": null, "default_payment_method": null, "footer": null }, "livemode": false, "metadata": { }, "name": "Jane Smith", "next_invoice_sequence": 1, "phone": null, "preferred_locales": [ ], "shipping": null, "tax_exempt": "none", "test_clock": null } ``` 1. (オプション) サンドボックスで API シークレットキーを渡して、同じコマンドを実行します。 #### bash ```bash stripe customers create --email=jane.smith@email.com --name="Jane Smith" --description="My First Stripe Customer" --api-key sk_test_BQokikJOvBiI2HlWgH4olfQ2 ``` すべて正常に機能する場合、コマンドラインに以下のレスポンスが表示されます。 #### bash ```json { "id": "cus_LfdZgLFhah76qf", // ID は次のようになります。 "object": "customer", // このオブジェクトがアカウントのログに記録されます。 "address": null, "balance": 0, "created": 1652286103, "currency": null, "default_currency": null, "default_source": null, "delinquent": false, "description": "My First Stripe Customer", "discount": null, "email": "jane.smith@email.com", "invoice_prefix": "D337F99E", "invoice_settings": { "custom_fields": null, "default_payment_method": null, "footer": null }, "livemode": false, "metadata": { }, "name": "Jane Smith", "next_invoice_sequence": 1, "phone": null, "preferred_locales": [ ], "shipping": null, "tax_exempt": "none", "test_clock": null } ``` ## ログとイベントを表示する Stripe API を呼び出すたびに、Stripe はStripe [ユーザーアカウント](https://docs.stripe.com/get-started/account.md)の API オブジェクトと [Events](https://docs.stripe.com/api/events.md) オブジェクトを作成・保存します。リクエストに指定する API キーによって、オブジェクトがサンドボックス環境に保存されるか、本番環境に保存されるかが決まります。たとえば、前回のリクエストで API シークレットキーが使用されていると、Stripe はオブジェクトをサンドボックスに保存します。 - API リクエストログを表示するには、以下を行います。 - [ログ](https://dashboard.stripe.com/test/workbench/logs)ページを開きます。 - **200 OK POST /v1 customers** をクリックします。 - イベントログを表示するには、以下を行います。 - [イベント](https://dashboard.stripe.com/test/workbench/events)ページを開きます。 - **jane.smith@email.com is a new customer** をクリックします。 ## API キーを保存する デフォルトでは、すべてのアカウントに合計 4 つの API キーがあります。 | タイプ | 説明 | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------ | | サンドボックスのシークレットキー | サンドボックスでテストするときにサーバー上のリクエストを認証します。デフォルトでは、このキーを使用して、制限なくあらゆる API リクエストを実行できます。本番環境の顧客や支払いを誤って変更しないように、このキーはテストおよび開発用に予約してください。 | | サンドボックスの公開可能キー | Web またはモバイルアプリのクライアント側コードでリクエストをテストします。本番環境の顧客や支払いを誤って変更しないように、このキーはテストおよび開発用に予約してください。 | | 本番環境のシークレットキー | 本番環境でサーバー上のリクエストを認証します。デフォルトでは、このキーを使用して、あらゆる API リクエストを制限なく実行できます。 | | 本番環境の公開可能キー | アプリをリリースする準備が整ったら、Web やモバイルアプリのクライアント側コードでこのキーを使用します。 | シークレットキーと公開可能キーは、ダッシュボードの [API キー](https://dashboard.stripe.com/test/apikeys)タブにあります。API キーが表示されない場合は、Stripe アカウントの所有者に、適切な権限で[チーム](https://docs.stripe.com/get-started/account/teams.md)に追加するよう依頼してください。 > #### 制限付き API キー > > ダッシュボードで[制限付き API キー](https://docs.stripe.com/keys-best-practices.md#limit-access)を生成し、その API へのカスタマイズ可能なアクセスと制限付きアクセスを有効にできます。ただし、デフォルトでは Stripe は制限付きキーを提供していません。 > #### Webhook 署名シークレットをお探しですか? > > Webhook 署名シークレットは API キーではありません。各 Webhook エンドポイントの署名シークレットは、ダッシュボードの [Webhook](https://dashboard.stripe.com/webhooks) セクションで確認できます。エンドポイントを選択し、 **署名シークレット** セクションを展開してください。 Stripe にログインしている場合、ドキュメントではコード例にテスト API キーが入力されます。これらの値はお客様のみが確認できます。ログインしていない場合、コード例にはランダムに生成された API キーが含まれ、これをテストキーに置き換えることができます。または、 ログイン して、テスト API キーが入力されたコード例を確認することもできます。 ### API キーの例 次の表は、ランダムに生成されたシークレットキーと公開可能キーの例です。 | タイプ | 値 | 使用するタイミング | | ------ | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | シークレット | `sk_test_BQokikJOvBiI2HlWgH4olfQ2` | **サーバー側のみ。** このキーをバックエンドコード (環境変数など) で使用して、Stripe に API コールを実行します。このキーは非公開にしてください。共有したり、ソース管理にコミットしたり、ブラウザーやモバイルアプリで公開したりしないでください。このキーを持つ人は誰でも、アカウントとして API コールを実行できます。 | | 公開可能 | `pk_test_TYooMQauvdEDq54NiTphI7jx` | **クライアント側 (ブラウザーまたはモバイルアプリ)。** フロントエンドコードでこのキーを使用して、[Stripe Elements](https://docs.stripe.com/payments/elements.md) や [Stripe Checkout](https://docs.stripe.com/payments/checkout.md) などのツールで決済情報を安全に収集します。このキーは公開できます。 | | 制限付き | `rk_test_` で始まる文字列 | **サーバー側のみ、権限が制限されます。** シークレットキーと同様に、アクセスできる Stripe API リソースを正確に選択できます。システムまたはサードパーティーが実行できる操作を制限する場合は、シークレットキーの代わりに制限付きキーを使用します。[制限付き API キー](https://docs.stripe.com/keys-best-practices.md#limit-access)をご覧ください。 | ## See also - [開発環境を設定する](https://docs.stripe.com/get-started/development-environment.md) - [Stripe Shell](https://docs.stripe.com/workbench/shell.md)