Class: Killbill::Plugin::ActiveMerchant::ActiveRecord::Transaction
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Killbill::Plugin::ActiveMerchant::ActiveRecord::Transaction
show all
- Extended by:
- Helpers
- Defined in:
- lib/killbill/helpers/active_merchant/active_record/models/transaction.rb
Constant Summary
collapse
- @@quotes_cache =
build_quotes_cache
Class Method Summary
collapse
Methods included from Helpers
build_quotes_cache, extract, shared_activerecord_options, with_connection, with_connection_and_transaction
Class Method Details
.find_candidate_transaction_for_refund(kb_payment_id, kb_tenant_id, transaction_type = nil) ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/killbill/helpers/active_merchant/active_record/models/transaction.rb', line 56
def find_candidate_transaction_for_refund(kb_payment_id, kb_tenant_id, transaction_type = nil)
if transaction_type.nil?
find_candidate_transaction_for_refund(kb_payment_id, kb_tenant_id, :AUTHORIZE) || find_candidate_transaction_for_refund(kb_payment_id, kb_tenant_id, :PURCHASE)
else
do_find_candidate_transaction_for_refund(transaction_type, kb_payment_id, kb_tenant_id)
end
end
|
.find_candidate_transaction_for_void(kb_payment_id, kb_tenant_id, linked_transaction_type = nil) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/killbill/helpers/active_merchant/active_record/models/transaction.rb', line 36
def find_candidate_transaction_for_void(kb_payment_id, kb_tenant_id, linked_transaction_type = nil)
transactions = transaction_from_kb_payment_id(nil, kb_payment_id, kb_tenant_id, :multiple).to_a
tx_to_void = 0
transactions.reverse.each do |t|
if t.transaction_type == 'VOID'
tx_to_void += 1
else
if tx_to_void > 0
tx_to_void -= 1
elsif linked_transaction_type.nil? || t.transaction_type.downcase == linked_transaction_type.to_s.downcase
return t
end
end
end
nil
end
|
.from_kb_payment_transaction_id(kb_payment_transaction_id, kb_tenant_id) ⇒ Object
32
33
34
|
# File 'lib/killbill/helpers/active_merchant/active_record/models/transaction.rb', line 32
def from_kb_payment_transaction_id(kb_payment_transaction_id, kb_tenant_id)
transaction_from_kb_payment_transaction_id(nil, kb_payment_transaction_id, kb_tenant_id, :single)
end
|
.transactions_from_kb_payment_id(kb_payment_id, kb_tenant_id) ⇒ Object
19
20
21
|
# File 'lib/killbill/helpers/active_merchant/active_record/models/transaction.rb', line 19
def transactions_from_kb_payment_id(kb_payment_id, kb_tenant_id)
where(:kb_payment_id => kb_payment_id, :kb_tenant_id => kb_tenant_id).order(:created_at)
end
|