###前提・実現したいこと
Ruby on Rails5でPayjpを利用したクレジット決済システムを作っています。
###発生している問題・エラーメッセージ
KeyError in UserInfosController#purchase key not found: :ciphers charge = Payjp::Charge.create( <= ここでエラーとなってしまいます。
###該当のソースコード
class UserInfosController < ApplicationController include UserInfosHelper before_action :set_post, only: [:show, :edit, :update, :destroy] def buy if user_signed_in? @userinfo = UserInfo.new else redirect_to new_user_registration_path end end def userinfos @userinfo = UserInfo.new(userinfos_params) @userinfo.user_id = current_user.id if @userinfo.save redirect_to confirm_path else render 'buy' end end def confirm @userinfo=current_user.user_infos.last end def purchase Payjp.api_key = 'テスト秘密キー' charge = Payjp::Charge.create( currency:'jpy', amount: total_price, card: purchse_params['payjp-token'] ) current_cart.cart_items.each do|cart_item| ProductUser.create(user_id: current_user.id, product_id: cart_item.id) end @userinfo = current_user.user_infos.last UserMailer.purchase_email(@userinfo).deliver UserMailer.admin_email(@userinfo).deliver session.delete(:cart_id) redirect_to root_path, notice: "支払いが完了しました" end private def set_post @user = User.find(current_user.id) end def purchse_params params.permit('payjp-token') end end
###該当のソースコード
購入画面のview <div class="container"> <h1>購入画面</h1> <%= @userinfo.name %> <%= form_tag(action: :purchase,method: :post) do %> <script type="text/javascript" src="https://checkout.pay.jp/" class="payjp-button" data-key="テスト公開鍵" data-on-created="onCreated" data-text="支払う" data-submit-text="支払う" ></script> <% end %> </div>
###試したこと
課題に対してアプローチしたことを記載してください
https://qiita.com/trn031/items/d7684ed91178adac7932
https://qiita.com/nekononeko_53/items/972e878e31b135b7a048
https://pay.jp/docs/api/#introduction
https://teratail.com/questions/91334
これらのサイトを参考に作成しました。
###補足情報(言語/FW/ツール等のバージョンなど)
Ruby on Rails5
ruby 2.40
一晩中調べたりして、自分なり頑張ってみたのですが、全く原因がわからず今回質問を投稿させていただきました。
プログラミング自体未経験でRailsを始めてまだ1ヶ月ほど、このサイトの利用も初めてです。
何か足らない情報などがあればご指摘お願いいたします。
どうかよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/01 14:23
2017/11/01 14:36