Module: Effective::Providers::Ccbill

Extended by:
ActiveSupport::Concern
Included in:
OrdersController
Defined in:
app/controllers/effective/providers/ccbill.rb

Instance Method Summary collapse

Instance Method Details

#ccbill_postbackObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/effective/providers/ccbill.rb', line 14

def ccbill_postback
  postback = Effective::Providers::CcbillPostback.new(params)
  @order ||= Effective::Order.find(postback.order_id)

  (EffectiveOrders.authorized?(self, :update, @order) rescue false)

  if @order.present? && postback.verified?
    if @order.purchased?
      order_purchased(details: postback.order_details, provider: 'ccbill')
    elsif postback.approval? && postback.matches?(@order)
      order_purchased(details: postback.order_details, provider: 'ccbill')
    else
      order_declined(details: postback.order_details, provider: 'ccbill')
    end
  end

  head(:ok)
end