Class: Bscf::Core::VirtualAccountTransaction
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Bscf::Core::VirtualAccountTransaction
- 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_account_balance 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.}") false end |