# 最初の Stripe API リクエストを送信する Stripe API の使用を開始します。 Stripe API に対するすべてのコールには、API シークレットキーを含める必要があります。Stripe アカウントを作成すると、*サンドボックス* (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)環境でのテスト用に、クライアント側の公開可能キーとサーバー側のシークレットキーからなる 2 組の [API キー](https://docs.stripe.com/keys.md)が生成されます。本番環境のキーを使用して実際の資金移動を開始するには、[Stripe アカウントを設定する](https://docs.stripe.com/get-started/account/set-up.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 キーを保存する Stripe は、ユースケースごとに異なるタイプの API キーに対応しています。これらのキーを安全に管理する責任はお客様にあります。特に、シークレットキーと[制限付き API キー](https://docs.stripe.com/keys/restricted-api-keys.md) (RAK) は機密情報として扱い、サーバー環境外に公開しないでください。ビジネスを安全に保つため、[シークレット API キーの管理に関するベストプラクティス](https://docs.stripe.com/keys-best-practices.md)を読んで理解してください。 本番環境のキーではなくサンドボックスキーを使用してアプリケーションを開発および[テスト](https://docs.stripe.com/testing.md)し、本番環境の顧客や支払いを誤って変更しないようにします。 | タイプ | 安全に公開可能 | デフォルトで生成 | 説明 | | ---------------------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | サンドボックスシークレットキー `sk_test_` | いいえ | はい | サンドボックスでテストする際に、サーバー上のリクエストを認証します。デフォルトでは、このキーを使用して制限なくあらゆる API リクエストを実行できます。 | | サンドボックス制限付き API キー (RAK)`rk_test_` | いいえ | いいえ | シークレットキーと似ていますが、Stripe API の権限を自分で制御できます。コードの異なる部分で異なる制限付き API キーを使用することで、アプリの各コンポーネントに必要な権限を正確に割り当てられます。本番環境の制限付き API キーを作成する前に、サンドボックスの制限付き API キーを使用してアプリの Stripe API 権限を調整します。 | | サンドボックス公開可能キー `pk_test_` | はい | はい | ウェブまたはモバイルアプリのクライアント側コードでリクエストをテストします。 | | 本番環境シークレットキー `sk_live_` | いいえ | はい | 本番環境でサーバー上のリクエストを認証します。デフォルトでは、このキーを使用して、あらゆる API リクエストを制限なく実行できます。 | | 本番環境の制限付き API キー (RAK)`rk_live_` | いいえ | いいえ | サーバー側のコンポーネントにカスタム権限を割り当てることで、アプリの各部分に必要な Stripe API 権限のみを付与できます。シークレットキーではなく RAK を使用すると、キーが誤って漏洩した場合やアプリが侵害された場合の被害を抑えることができます。 | | 本番環境公開可能キー `pk_live_` | はい | はい | アプリをリリースする準備が整ったら、Web やモバイルアプリのクライアント側コードでこのキーを使用します。 | Stripe ダッシュボードで [API キー](https://dashboard.stripe.com/apikeys)を確認できます。API キーを表示できず、アプリのキーを管理する必要がある場合は、Stripe アカウントのオーナーに、適切な権限でお客様を[チーム](https://docs.stripe.com/get-started/account/teams.md)に追加するよう依頼してください。 Stripe にログインしている場合、ドキュメントの一部には API の使用例を示すためにお客様のテスト API キーが表示されます。これらの値を確認できるのはお客様だけです。ログインしていない場合、コード例にはランダムに生成された API キーが含まれます。 > #### Webhook 署名シークレット > > Webhook 署名シークレットは API キーではなく、Webhook ごとのシークレットであり、Webhook の受信側がその Webhook が実際に Stripe から送信されたことを認証するために使用します。各 Webhook エンドポイントの署名シークレットは、ダッシュボードの [Webhooks](https://dashboard.stripe.com/webhooks) セクションで確認できます。 ## See also - [開発環境を設定する](https://docs.stripe.com/get-started/development-environment.md) - [Stripe Shell](https://docs.stripe.com/workbench/shell.md)