テストモードとライブモード
PAY.JP のテストモードとライブモードの違いと使い分け
テストモードとライブモード
PAY.JP にはテストモードとライブモードの2つの動作モードがあります。 開発中はテストモードで動作確認を行い、本番環境ではライブモードで実際の決済を処理します。
| 項目 | テストモード | ライブモード |
|---|---|---|
| 用途 | 開発・動作確認 | 本番運用 |
| 実際の決済 | 行われない | 行われる |
| API キー | pk_test_、sk_test_ | pk_live_、sk_live_ |
| テストカード | 使用可能 | 使用不可 |
| 支払い方法の作成 | Payment Method を API で直接作成可能 | Setup Flow / Payment Flow 経由のみ |
| 本番申請 | 不要 | 必要 |
API キーの種類
PAY.JP では、モードごとに異なる API キーが発行されます。API キーのプレフィックスでモードを判別できます。
| キータイプ | テストモード | ライブモード | 用途 |
|---|---|---|---|
| 公開キー | pk_test_ | pk_live_ | フロントエンドで使用(payments.js など) |
| 秘密キー | sk_test_ | sk_live_ | バックエンドで使用(API リクエスト) |
秘密キーの取り扱い
秘密キー(sk_ で始まるキー)は絶対にフロントエンドや公開リポジトリに含めないでください。秘密キーが漏洩した場合は、PAY.JP 管理画面から直ちに再発行してください。
詳しくはテスト秘密鍵と本番秘密鍵についてをご確認ください。
データの分離
テストモードとライブモードのデータは完全に分離されています。
- テストモードで作成した顧客、支払い方法、支払いなどのデータはライブモードには存在しません
- 同様に、ライブモードのデータはテストモードからは参照できません
- Webhook もモードごとに個別に設定します
テストモードの制限
テストカードの使用
テストモードではテストカードを使用して、様々な決済シナリオをシミュレートできます。
- 正常な支払い
- カード拒否などのエラーケース
- 3D セキュア認証フロー
テストカードはライブモードでは使用できません。ライブモードでテストカードを使用すると test_card_on_livemode エラーが返されます。
3D セキュアのテスト
テストモードで 3D セキュア認証が必要な支払いを行うと、テスト専用の認証画面が表示されます。 この画面では認証結果(成功・失敗など)を選択でき、様々な認証シナリオをシミュレートできます。
ライブモードでは実際のカード発行会社の認証画面にリダイレクトされ、本人認証が行われます。
ライブモードの有効化
ライブモードで決済するには、本番申請が必要です。
- PAY.JP 管理画面にログイン
- 本番申請フォームから必要事項を入力して申請
- 審査完了後、ライブモードが有効化されます
審査には通常数営業日かかります。審査状況は PAY.JP 管理画面で確認できます。
モードの切り替え
PAY.JP 管理画面での切り替え
PAY.JP 管理画面の画面右上にあるトグルスイッチでモードを切り替えられます。 表示されるデータや設定は選択中のモードに応じて変わります。
プログラムからの切り替え
使用する API キーを変更することでモードが切り替わります。