Class: Bscf::Core::VirtualAccountTransaction

Inherits:
ApplicationRecord show all
Defined in:
app/models/bscf/core/virtual_account_transaction.rb

Instance Method Summary collapse

Instance Method Details

#cancel!Object



60
61
62
63
64
65
66
67
68
# File 'app/models/bscf/core/virtual_account_transaction.rb', line 60

def cancel!
  return false unless pending?

  ActiveRecord::Base.transaction do
    update(status: :cancelled)
    paired_transaction&.update(status: :cancelled)
  end
  true
end

#process!Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'app/models/bscf/core/virtual_account_transaction.rb', line 43

def process!
  return false unless pending?

  ActiveRecord::Base.transaction do
    

    update!(status: :completed)
    paired_transaction&.update!(status: :completed)
  end
  true
rescue StandardError => e
  update(status: :failed)
  paired_transaction&.update(status: :failed)
  Rails.logger.error("Transaction processing failed: #{e.message}")
  false
end