Class: Gateway::WebmoneyController
- Inherits:
-
Spree::BaseController
- Object
- Spree::BaseController
- Gateway::WebmoneyController
- Defined in:
- app/controllers/gateway/webmoney_controller.rb
Instance Method Summary collapse
Instance Method Details
#fail ⇒ Object
43 44 45 46 47 48 |
# File 'app/controllers/gateway/webmoney_controller.rb', line 43 def fail @order = Order.find_by_id(@payment_params[:payment_no]) flash.now[:error] = t("payment_fail") redirect_to @order.blank? ? root_url : edit_order_checkout_url(@order, :step => "payment") return end |
#result ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/controllers/gateway/webmoney_controller.rb', line 20 def result raise GatewayError, "Not found order" unless @order payment = @order.payments.first payment.state = "completed" payment.amount = @payment_params[:payment_amount].to_f payment.save @order.save! @order.next! until @order.state == "complete" render :text => "YES" end |
#show ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/controllers/gateway/webmoney_controller.rb', line 6 def show @order = Order.find(params[:order_id]) @gateway = @order.available_payment_methods.find{|x| x.id == params[:gateway_id].to_i } @order.payments.destroy_all payment = @order.payments.create!(:amount => 0, :payment_method_id => @gateway.id) if @order.blank? || @gateway.blank? flash[:error] = I18n.t("Invalid arguments") redirect_to :back else render :action => :show end end |
#success ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'app/controllers/gateway/webmoney_controller.rb', line 32 def success @order = Order.find_by_id(@payment_params[:payment_no]) if @order && @order.complete? session[:order_id] = nil redirect_to order_path(@order) else flash[:error] = t("payment_fail") redirect_to root_url end end |