Class: CatarsePagarme::NotificationsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/catarse_pagarme/notifications_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/catarse_pagarme/notifications_controller.rb', line 6

def create
  if contribution
    contribution.payment_notifications.create(extra_data: params.to_json)

    if PagarMe::validate_fingerprint(contribution.try(:payment_id), params[:fingerprint])

      if params[:current_status] == 'paid' && params[:desired_status] == 'refunded'
        contribution.try(:invalid_refund)
      else
        delegator.change_status_by_transaction(params[:current_status])
        delegator.fill_acquirer_data
      end

      return render nothing: true, status: 200
    end
  end

  render nothing: true, status: 404
end