0
私はストライプを使ってRailsで簡単なチェックアウトをしています。 選択/選択されたオプションに基づいて、ユーザーには異なる金額の請求、明細書の変更、リストIDなどが請求されます。Railsカスタム金額のストライプチェックアウト
<%= link_to "Pay To Activate",
new_charge_path(:id => listing.id, :amount => 123, :desc => "Option A"),
class: "btn btn-primary btn-sm", :method=> :get %>
私はパラメータの量、説明とIDを取得していますChargesControllerにこれを送る:
http://localhost:3000/charges/new?amount=123&desc=Option+A&id=45
明らかにこれは、ユーザーがURLで金額を変更することができますので、安全ではないです。
アクションを作成するには、以下のようになります。
def create
customer = Stripe::Customer.create(
:email => params[:stripeEmail],
:source => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => @description,
:currency => 'eur'
)
redirect_to thankyou_path
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to new_charge_path
end
私はそれをより安全にするために自分のコードを変更する必要がありますどのように?
を支援するために、私は問題の一部は、ビューの代わりに、コントローラに量を設定していることかもしれないと思います。 [Stripe docs](https://stripe.com/docs/checkout/rails)は、作成アクションに保存されている金額を表示します。 –