1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【heroku】設定した環境変数が本番環境で反映されない

Posted at

はじめに

クレジット決済機能を用いた実装をした際に、ローカル環境での動作は問題なかったものの、本番環境(heroku)でエラーが出てしまったので、その時に行った解決までの手順を記事にしたいと思います。

エラーログの確認

まずは原因を探るためエラーログを確認しました。

ターミナル
% heroku logs --tail --app アプリ名

実行し、エラーログを読んでいくと気になる表示が…

ターミナル
〜省略〜
2021-04-29T05:23:03.659101+00:00 app[web.1]: [a5daeeac-209a-40b8-93b4-661fcec9677c] Payjp::AuthenticationError (Your API key is invalid, as it contains whitespace. (HINT: You can double-check your API key from the Payjp web interface. See https://pay.jp/api for details, or email support@pay.jp if you have any questions.)):
〜省略〜

ここからPAY.JPの環境変数の設定がうまくいっていないと仮説を立てました。

環境変数を確認

ターミナル
% heroku config

実行すると

ターミナル
=== アプリ名 Config Vars
〜省略〜
PAYJP_PUBLIC_KEY:         
pk_test_*************
PAYJP_SECRET_KEY:         
sk_test_*************
〜省略〜

PAYJP_PUBLIC_KEY:、PAYJP_SECRET_KEY:の後に改行が入ってしまっています。
これが原因みたいです。

対処法

環境変数を設定し直します。
コピペの際に余計な改行が入らないように注意しながら以下のコマンドを実行します。

ターミナル
% heroku config:set PAYJP_SECRET_KEY='sk_test_*************'
% heroku config:set PAYJP_PUBLIC_KEY='pk_test_*************'

正しく設定できているか確認します。

ターミナル
% heroku config

ここで改行が消えていることが確認できたら空のコミットを生成します。

ターミナル
% git commit --allow-empty -m "空のコミット"

最後にherokuへプッシュします。

ターミナル
% git push heroku master

もう一度動作を確認し、エラーが出なくなったことを確認しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?