Sha256: 214eb06403424b561d72531d993b477b91b9887ec83f0f3df7b742387add7fca

Contents?: true

Size: 905 Bytes

Versions: 1

Compression:

Stored size: 905 Bytes

Contents

module Spree
  class PagseguroTransaction < ActiveRecord::Base
    has_many :payments, :as => :source

    def actions
      []
    end

    def self.update_last_transaction(params)
      method = Spree::PaymentMethod.where(type: 'Spree::BillingIntegration::Pagseguro::Checkout').first

      notification_code = params[:notificationCode]
      notification = Spree::BillingIntegration::Pagseguro::Checkout.notification(method.preferred_email, method.preferred_token, notification_code)

      pagseguro_transaction = self.find_by_order_id(notification.id)
      pagseguro_transaction.params = params
      pagseguro_transaction.transaction_id = notification.transaction_id
      pagseguro_transaction.customer_id = notification_code # Todo refactor column name
      pagseguro_transaction.status = 'paid' if notification.approved?
      pagseguro_transaction.save!

      notification
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_pagseguro-2.1.3 app/models/spree/pagseguro_transaction.rb