質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

1回答

1921閲覧

Pay.JPをHerokuにあげると動作しなくなる問題について

EleAco

総合スコア15

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2020/09/21 05:06

前提・実現したいこと

Heroku上にあげたアプリにてPay.JPを使った決済を行いたい.
ローカル環境ではしっかりと動作しPay.JPのサイトにもしっかりと取引の内容が記録されているが
Heroku上だと決済のボタンを押しても決済されません。
これを解決したいです

発生している問題・エラーメッセージ

原因は何かコントローラーにて保存される前にbinding.pryを用いてしっかり保存されているか確認したところ

[5] pry(#<BuysController>)> pay_item Payjp::InvalidRequestError: Token "tok_トークンの詳細が書かれてます" has already been used. from /Users/ユーザー名/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/payjp-0.0.7/lib/payjp.rb:237:in `handle_api_error' Caused by RestClient::BadRequest: 400 Bad Request from /Users/ユーザー名/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rest-client-2.1.0/lib/restclient/abstract_response.rb:249:in `exception_with_response'

とエラー文が出ました。
意味はトークンが使用されていますよ。
という意味だと理解できました。

これをどの様に解決したら良いか教えて頂きたいです!

ruby 2.6.5
Rails 6.0.3.2

仮説

一度herokuのアプリを消去して作り直しているためトークンは使用されていますよと出ているのかもしれないと考えています

###最後に
皆様のお力をお貸しください!
どうぞよろしくお願いいたします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

EleAcoさんが思っていらっしゃるとうりそのトークンは一度使われているので使用できませんよというものです
EleAcoさんの作られているものがどのようなものかわかりませんので例え話になってしまいますが
例えばアマゾンなど通販サイトで商品を購入する時pay.jpを使用されていれば必要項目を記入後新しくクレジットカードなどの情報が入ったトークンを精製してそれを使って会計を行います、しかしここで現在作成されたトークンが再び使えてしまうとその購入者のクレジットカードの情報で他の人が悪さができてしまいます。
それが起こるとととてもまずいので再び同じトークンを使用しようとした際今回のようなエラーが出るようになっているのです。

これを踏まえて簡潔にいうと私の例えでいうとその商品は自分で既に購入しているということです。
なので新しく商品を用意してそれを購入してみてください。
そうすると今回のようなエラーは発生しないかと思われます

投稿2020/09/30 08:24

teruan7110

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問