Class: Gateway::MainpayController
- Inherits:
-
Spree::BaseController
- Object
- Spree::BaseController
- Gateway::MainpayController
- Defined in:
- app/controllers/gateway/mainpay_controller.rb
Instance Method Summary collapse
Instance Method Details
#fail ⇒ Object
46 47 48 49 |
# File 'app/controllers/gateway/mainpay_controller.rb', line 46 def fail flash[:error] = t('.payment_fail') redirect_to @order.blank? ? root_url : checkout_state_path('payment') end |
#handler ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/controllers/gateway/mainpay_controller.rb', line 17 def handler if @order && @gateway && response_valid? payment = @order.payments.build(:payment_method => @order.payment_method) payment.state = 'completed' payment.amount = params[:system_income].to_f payment.save @order.save! @order.next! until @order.state == 'complete' @order.update! render :text => "OK#{@order.id}" else render :text => 'Bad response' end end |
#show ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'app/controllers/gateway/mainpay_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 } unless @order || @gateway flash[:error] = t('.invalid_arguments') redirect_to :back end end |
#success ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'app/controllers/gateway/mainpay_controller.rb', line 36 def success if @order && @gateway && response_valid? && @order.complete? session[:order_id] = nil redirect_to order_path(@order), t('.payment_success') else flash[:error] = t('.payment_fail') redirect_to root_url end end |