STRIPEのAPIキーが、Laravelで読み込めない時に、このエラーがでます。
トラブルの原因と状況によって、対策が異なります。
3つの対策を紹介するので、状況にあった方法をお試しください。
Stripe Invlid API Key provided: LaravelでAPIキーが読み込めない時の3つの対策
① STRIPEのキーを確認する
まずはblade.phpファイルで直接、APIキーを読み込んでみましょう。
1 2 3 4 5 |
<script> var stripe = Stripe ('APIキー') </script> |
これで ソースファイルをチェックして、APIキーが正しく表示されていればOK。
ここで間違えていたら、APIキーそのものがあっていない可能性があります。
Stripeにログインして、APIキーを正しくコピーできているか、ご確認ください。
APIキーは、左側の 開発者/API より取得できます。
なお、テスト用と本番用では、APIキーが異なります。
本番環境も開設している場合は、ご利用になるほうを正しくコピペできているか、チェックしてみてください。
② 設定方法を確認する
もし無事に値が取れているようなら、設定のどこかで、入力ミスがある可能性があります。
APIキーの入力は次の3ステップとなります。
設定の仕方や、設定値が間違っていないか、チェックしてみてください。
ステップ1:.envファイルに入力
APIキーは、Laravelの.envファイルに入れます。
ステップ2:configへ入力
この値を app/config の services.php に追加します。
ステップ3:blade.phpへ入力
最後に、configヘルパ関数を使って、blade.phpファイルでキーを呼び出します。
<script></script>内に入れるなら、下記のように入力します。
1 |
var stripe = Stripe('{{ config('services.stripe.pb_key') }}'); |
configのあとは、まずファイル名をいれ、そのあとに設定値をいれます。
変数名やファイル名はお好きに設定してください。
上記は一例になります。
③ キャッシュをクリアする
①でも②でもダメなら、キャッシュクリアという方法があります。
下記のコマンドをお試しください。
アプリケーションのキャッシュクリア
1 |
php artisan cache:clear |
設定ファイルのキャッシュクリア
1 |
php artisan config:clear |
設定情報の統合
1 |
php artisan config:cache |
なお、config:cache を行うと、.envから直接キーを読み込んでいる部分が無効になってしまいます。
ご利用前には、ご注意ください。
「なんのこと?」と思ったら、キャッシュ前に、こちらの記事をどうぞ。
トラブルの解決を願っております!