はじめに
最近、仕事でpayjpを使い、決済を実装していたら起こった事象を紹介します。
Payjpで決済を実装
こちらを参考にpayjpを実装
https://payjp.hatenablog.com/entry/2017/11/21/191916
payjpのgemをインストール
gem 'payjp'
HTMLを以下のように設定
<form action="/pay" method="post">
<!-- 注文情報などの情報ここから -->
:
<!-- 注文情報などの情報ここまで -->
<script src="https://checkout.pay.jp/" class="payjp-button" data-key="YOUR_PUBLIC_KEY"></script>
</form>
payjpのボタンが表示され、モーダルも表示された。これで決済が実装できた!すごい!
と思いきや
なぜかサーバーが落ちる
カード情報を入力し、カードで支払うをクリックすると、
このサイトにアクセスできません。
となる。
プロンプトを確認してみると、サーバーがなぜか落ちてる。
解決
その後、数日原因を調査してみるもわからず。byebugでデバッグしてみても、わからない。
自分はWindowsのコマンドプロンプトでrails sしてサーバーを動かしていたのですが、これがなぜかLinuxのターミナルで動かすと上手くいくことが判明しました。
なので、以下の記事を参考にWindows環境にUbuntuを入れて、そこでrails sし、もう一度決済すると、できました。
Windows 10でLinuxプログラムを利用可能にするWSLをインストールする
誰か原因知っている人いれば教えてください・・・。
まとめ
railsで開発している時はWindowsのコマンドプロンプトでやらない方が良い。
数日無駄にしました。
ちなみに、同様の決済サービスであるOmise、Stripeでも同様の操作をしてみました。
OmiseではPayjpと同様に決済をするとサーバーが落ちました。
しかし、Stripeでは決済をしてもサーバーが落ちませんでした。
全く原因がわかりません。。。