Sha256: 5409648bf1039105530c2d38436275d6e413d6fe4d3eb74db65a0582e7156ad5

Contents?: true

Size: 604 Bytes

Versions: 5

Compression:

Stored size: 604 Bytes

Contents

module SolidusMp
  class PixPaymentSource < Spree::PaymentSource
    def actions
      %w[capture void credit]
    end

    def can_capture?(payment)
      payment.pending? || payment.checkout?
    end

    def can_void?(payment)
      payment.can_void?
    end

    def can_credit?(payment)
      payment.completed? && payment.credit_allowed > 0
    end

    def usable?
      status == "pending" && external_id.present? && expiration_date&.future?
    end

    def expired?
      expiration_date.past?
    end

    def retrieve_from_api
      payment_method.find_payment(external_id)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_mp-1.1.8 app/models/solidus_mp/pix_payment_source.rb
solidus_mp-1.1.7 app/models/solidus_mp/pix_payment_source.rb
solidus_mp-1.1.6 app/models/solidus_mp/pix_payment_source.rb
solidus_mp-1.1.5 app/models/solidus_mp/pix_payment_source.rb
solidus_mp-1.1.4 app/models/solidus_mp/pix_payment_source.rb