app/controllers/spree/api/payments_controller.rb in spree_api-2.0.5 vs app/controllers/spree/api/payments_controller.rb in spree_api-2.0.6
- old
+ new
@@ -2,11 +2,11 @@
module Api
class PaymentsController < Spree::Api::BaseController
respond_to :json
before_filter :find_order
- before_filter :find_payment, :only => [:show, :authorize, :purchase, :capture, :void, :credit]
+ before_filter :find_payment, only: [:update, :show, :authorize, :purchase, :capture, :void, :credit]
def index
@payments = @order.payments.ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
respond_with(@payments)
end
@@ -23,10 +23,21 @@
else
invalid_resource!(@payment)
end
end
+ def update
+ authorize! params[:action], @payment
+ if !@payment.pending?
+ render 'update_forbidden', status: 403
+ elsif @payment.update_attributes(params[:payment])
+ respond_with(@payment, default_template: :show)
+ else
+ invalid_resource!(@payment)
+ end
+ end
+
def show
respond_with(@payment)
end
def authorize
@@ -45,10 +56,10 @@
perform_payment_action(:void_transaction)
end
def credit
if params[:amount].to_f > @payment.credit_allowed
- render "spree/api/payments/credit_over_limit", :status => 422
+ render 'credit_over_limit', status: 422
else
perform_payment_action(:credit, params[:amount])
end
end