Module: Opay::Payable

Extended by:
ActiveModel::Callbacks, ActiveSupport::Concern
Defined in:
lib/opay/payable.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#finishObject



15
16
17
18
19
# File 'lib/opay/payable.rb', line 15

def finish
  run_callbacks :payment do
    payment.update_attribute(:finished, true)
  end
end

#finished?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/opay/payable.rb', line 11

def finished?
  payment.present? && payment.finished?
end

#payment_session_idObject



31
32
33
34
# File 'lib/opay/payable.rb', line 31

def payment_session_id
  raise 'Resource must be prepared before payment' if payment.blank?
  payment.session_id
end

#prepare_paymentObject



21
22
23
24
25
26
27
28
29
# File 'lib/opay/payable.rb', line 21

def prepare_payment
  if payment.blank?
    create_payment!(provider: 'payu', amount: amount, payable: self)
  else
    raise 'Payment was finished' if payment.finished?
    payment.update_attribute(:session_id, Payment.generate_session_id)
    payment
  end
end