← ブログ一覧に戻る

Stripeダッシュボード操作ガイド(テスト/本番切替・APIキー確認・動作チェック)

Stripe決済APIキーバックエンドSaaS

Stripe の操作で詰まりやすいのは、**「テスト環境/本番環境の切り替え」**と、そこで表示される API キー(公開キー/シークレットキー) の場所です。この記事では、ダッシュボード上での確認手順と、キーが本当に正しいかを短時間で検証する方法までまとめます。

1. Stripeのアカウント名(Name)を変更する

Stripe ダッシュボードで次の順に進みます。

  • 左上三本線(メニュー)
  • 設定
  • ビジネス
  • アカウントの詳細
  • アカウント名

2. テスト環境に切り替える(テストモード ON)

Stripe ダッシュボードで次の操作をします。

  • 左上三本線(メニュー)
  • テスト環境をオンにする

以後、ダッシュボード上のデータ(顧客・支払い・商品など)や API キーが テスト用 の表示に切り替わります。

3. 本番環境に切り替える(テストモード OFF)

Stripe ダッシュボードで次の操作をします。

  • 左上三本線(メニュー)
  • テスト環境をオフにする

以後、ダッシュボード上のデータや API キーが 本番用 の表示に切り替わります。

4. テスト環境の公開キー・シークレットキーの確認方法

まず テスト環境をオン にしてから、次のどちらかで確認します。

  • 開発者(左下)
    • 概要 → 下にスクロール
    • APIキー

5. 本番環境の公開キー・シークレットキーの確認方法

まず テスト環境をオフ にしてから、次のどちらかで確認します。

  • 開発者(左下)
    • 概要 → 下にスクロール
    • APIキー

6. 公開キーとシークレットキーの違い(超重要)

  • 公開キー(Publishable key)
    • 例: pk_test_... / pk_live_...
    • ブラウザ(フロント)で使ってよいキーです(「トークン化」など)
  • シークレットキー(Secret key)
    • 例: sk_test_... / sk_live_...
    • サーバー側だけ で使うキーです(課金・返金・サブスク作成など)

実装上は、多くのプロジェクトで次のように環境変数に置きます(例)。

STRIPE_SECRET_KEY=sk_test_xxxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxxx

注意点:

  • シークレットキーは絶対にフロントへ渡さない(漏洩すると不正課金などのリスク)
  • .env.local は Git に含めない(このリポジトリは .env* が ignore 対象です)

7. Stripe決済処理の全体像(理解用)

典型的なカード決済の流れは次の通りです。

  1. ユーザーがカード情報を入力
  2. ブラウザが 公開キー で Stripe に送信
  3. Stripe が トークン(または PaymentMethod など)を返す
  4. そのトークンをサーバーへ送る
  5. サーバーが シークレットキー を使う
  6. サーバーが Stripe に「このトークンで課金して」と命令
  7. 決済完了

8. Stripeの簡単セットアップ(初回導線)について

Stripe ダッシュボード初回に出る「簡単セットアップ」は、必須でなければ 閉じてOK です(あとから設定できます)。

9. 公開キーが正しいかを最短で確認する(check.html)

目的: 「公開キーが正しいか」「ブラウザから Stripe.js が動くか」を素早く確認します。

9.1 check.html を作る

手元に check.html を作って、Stripe("ここ") の部分を あなたの公開キー に置き換えます。

<!doctype html>
<html>
<body>

<script src="https://js.stripe.com/v3/"></script>

<div id="card" style="border:1px solid #ccc;padding:10px;width:300px;"></div>
<button id="btn">test</button>
<pre id="out"></pre>

<script>
  const stripe = Stripe("あなたの開発環境または本番環境の公開キー");
  // ここを、pk_test_... もしくは pk_live_... に置き換える

  const elements = stripe.elements();
  const card = elements.create("card");
  card.mount("#card");

  document.getElementById("btn").onclick = async () => {
    const result = await stripe.createToken(card);
    document.getElementById("out").textContent =
      JSON.stringify(result, null, 2);
  };
</script>

</body>
</html>

9.2 ブラウザで開いてテストする

入力例(テストモードの場合):

  • Card number: 4242 4242 4242 4242
  • 期限: 12 / 30
  • CVC: 123
  • ZIP: 12345

9.3 結果を確認する

クリック後に、エラーではなくトークン情報など 必要な結果が返ってきていれば OK です。

補足:

  • テスト用のカード番号はテストモードでのみ 使えます
  • 本番モードでこのテストカードを使うとエラーになります(それが正常です)

10. シークレットキーが正しいかを確認する(Stripe CLI)

目的: 「シークレットキーが有効か」をサーバー実装前に確認します。

Stripe CLI が入っている前提で、次を実行します(あなたの... を置き換え)。

stripe balance retrieve --api-key あなたの開発環境または本番環境のシークレットキー

結果が取得できれば、そのキーは少なくとも API 呼び出しに使える状態です。

11. 価格ID(Price ID)の確認方法(本番運用で必須になりがち)

サブスクや固定料金を扱う場合、アプリ側で Price ID を保持することが多いです。

  • 左メニュー
  • 商品カタログ
  • 対象商品の ...
  • 価格ID

12. 返金方法(メモ)

返金は、まず以下から辿れます。

  • 左メニュー
  • 取引

(返金の詳細手順は、実際の画面キャプチャや運用フローに合わせて追記していくのがおすすめです)