Class: Spree::PaymentSource

Inherits:
Base
  • Object
show all
Defined in:
app/models/spree/payment_source.rb

Direct Known Subclasses

CreditCard, StoreCredit

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

display_includes

Methods included from Core::Permalinks

#generate_permalink, #save_permalink

Instance Attribute Details

#importedObject

Returns the value of attribute imported.



12
13
14
# File 'app/models/spree/payment_source.rb', line 12

def imported
  @imported
end

Instance Method Details

#actionsArray<String>

Returns the actions available on this payment source.

Returns:

  • (Array<String>)

    the actions available on this payment source



15
16
17
# File 'app/models/spree/payment_source.rb', line 15

def actions
  %w(capture void credit)
end

#can_capture?(payment) ⇒ Boolean

Returns true when the payment is in the pending or checkout states.

Parameters:

  • payment (Spree::Payment)

    the payment we want to know if can be captured

Returns:

  • (Boolean)

    true when the payment is in the pending or checkout states



21
22
23
# File 'app/models/spree/payment_source.rb', line 21

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

#can_credit?(payment) ⇒ Boolean

Indicates whether its possible to credit the payment. Note that most gateways require that the payment be settled first which generally happens within 12-24 hours of the transaction.

Parameters:

  • payment (Spree::Payment)

    the payment we want to know if can be credited

Returns:

  • (Boolean)

    true when the payment is completed and can be credited



37
38
39
# File 'app/models/spree/payment_source.rb', line 37

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

#can_void?(payment) ⇒ Boolean

Returns true when the payment is not failed, voided or invalid.

Parameters:

  • payment (Spree::Payment)

    the payment we want to know if can be voided

Returns:

  • (Boolean)

    true when the payment is not failed, voided or invalid



27
28
29
# File 'app/models/spree/payment_source.rb', line 27

def can_void?(payment)
  payment.can_void?
end

#reusable?Boolean

Indicates whether this payment source can be used more than once. E.g. a credit card with a ‘payment profile’.

Returns:

  • (Boolean)


43
44
45
# File 'app/models/spree/payment_source.rb', line 43

def reusable?
  false
end