1週間ほど悩んで解決した
Pay.PJがローカル環境ではしっかり動作するのに本番環境では決済ができない原因を忘れないうちに書いておきます。
Pay.JPの決済がうまくできない原因はエラー文が出ないのでかなり時間がかかりました…
動作環境
ruby 2.6.5
Rails 6.0.3.2
heroku 7.42.13
#エラーの原因
エラーが起こっていた原因は簡単にまとめると
Herokuに設定した環境変数が本番環境に反映されていなかった
ことが原因です
どういうことか説明していきます。
ターミナルにて
heroku config:set PAYJP_PUBLIC_KEY='ご自身のテスト公開鍵'
と
heroku config:set PAYJP_SECRET_KEY='ご自身のテスト秘密鍵'
を入力されるかと思います。
しっかり入力できているかどうかは
heroku config
で確認していただければ確認できます。
確認するとしっかり入っているんです。
入っているんです!!
これに騙されました…
Herokuの環境変数の中身を変えましたがこれまだ適応できていないのです。。
#Heroku環境変数の適応の仕方
結論から申します
git push heroku master
を入力してくださいこれでGitHubのマスターがプッシュされて環境変数が適応され本番環境でもしっかりと決済が行われます。
しかし、中には
Everything up-to-date
と、すでに最新の状態ですと帰ってくる方もいらっしゃると思います。自分もそうでした。
git commit --allow-empty -m "空のcommit"
そんなときはこれを入力してGitHubのマスターをもう一度最新の状態にして
git push heroku master
してみてください!
きっと解決できると思います
ご高覧ありがとうございました。