API キーを管理して Smartpay でリクエストを認証しましょう。
Smartpay API では、API キーを使ってリクエストを認証します。API キーは、Smartpay ダッシュボードで確認および管理できます。API リクエスト時にキーを含めなかった場合や誤ったキーや古いキーを使用した場合、Smartpayは 401 unauthorized
を返します。
テストモードとライブモード
すべての Smartpay API リクエストは、テストモードまたはライブモードのどちらかで実行されます。一方のモードの API オブジェクト (チェックアウトセッションや注文など) に、もう一方のモードからアクセスすることはできません。
モード | 使用するタイミング | オブジェクト | 使用方法 |
---|---|---|---|
テストモード | このモードはの構築時に使用します。支払い処理は行われません。 | API 呼び出しにより、シミュレートされた注文、支払い、返金、クーポンなどを返します。 | テスト用のお客様アカウントでテスト用のクレジットカードやその他の支払い方法を使用します。 |
ライブモード | このモードは、公開する準備ができた際に使用します。すべての支払い処理が実行されます。 | API 呼び出しにより、実際の注文、支払い、返金、クーポンなどを返します。 | 有効なお客様アカウントで実際のクレジットカードやその他の支払い方法を使用します。 |
API キー
すべてのアカウントに、合計4つのキー (テストモード用とライブモード用それぞれの公開キーと秘密キーのペア) が付与されます。Smartpay API では、秘密キーを使用してサーバー上のリクエストを認証します。デフォルトでは、アカウントの秘密キーを使用して、すべての API リクエストを制限なく実行できます。キーは Smartpay ダッシュボードの API キーのページでご確認いただけます。
キー | 値 | 使用するタイミング |
---|---|---|
公開 | pk_test_PCLEGPw9RrKIAlRcK504Bj |
クライアント側:Web やモバイルアプリのクライアント側のコード(checkout など)でパブリックにアクセスできます。 |
秘密 | sk_test_Ho1BrYTcg3gAX4vTKk1taz |
サーバー側:Smartpay API を呼び出すには、Web またはモバイルアプリのサーバー側のコード(環境変数やシークレットマネージャーなど)に安全に保存されている必要があります。 |
API キーには多くの権限が含まれているため、必ず安全な場所に保管してしてください!GitHub やクライアント側のコードなど公開されている場所では、決して秘密 API キーを共有しないでください。
認証スキーム
API への認証は、HTTP Basic Auth または Bearer Auth のいずれかで行われます。
- HTTP Basic Auth: API キーを Basic Auth のユーザー名の値として指定します。パスワードを入力する必要はありません。例:
-u sk_test_Ho1BrYTcg3gAX4vTKk1taz
- Bearer Auth: 特定の状況で(クロスオリジンリクエストを行う必要がある場合など)必要な場合があります。例:
-H "Authorization: Bearer sk_test_Ho1BrYTcg3gAX4vTKk1taz"
API リクエストはすべて HTTPS 経由で行われる必要があります。通常の HTTP 経由で行われた呼び出しは失敗します。認証されていない API リクエストも失敗します。
キーの安全性の確保
秘密 API キーを使用すると、アカウントの代わりに注文の作成や返金の実行など、すべての API 呼び出しを実行できます。そのため、秘密 API キーはパスワードと同様に扱ってください。必要なユーザーにのみアクセス権を付与し、ご使用のバージョン管理システムからは除外されていることを確認してください。パスワードマネージャーや秘密管理サービスを使って、キーへのアクセスを管理してください。