0
스트라이프를 사용하여 레일스로 간단한 체크 아웃을했습니다. 선택한 옵션/버튼을 기반으로 사용자에게 다른 금액이 청구되고 설명 및 목록 ID가 변경됩니다 (예 :레일 사용자 정의 금액으로 스트라이프 체크 아웃
<%= 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)는 생성 작업에 저장되는 금액을 표시합니다. –