Sha256: 9a1a482cd3df3132ca600333904609b1ebbac62937b68a9d1d8fd8c403a830fd
Contents?: true
Size: 813 Bytes
Versions: 2
Compression:
Stored size: 813 Bytes
Contents
module Moneytree class Transaction < Moneytree::ApplicationRecord belongs_to :payment_gateway belongs_to :order, polymorphic: true validates_presence_of :psp_error, if: :failed? enum status: %i[initialized pending completed failed] serialize :details delegate :payment_provider, to: :payment_gateway after_create_commit :execute_transaction def card payment_provider.card_for(self) end def process_response(response) if response.success? update!( status: :completed, psp_error: response.message, details: (details || {}).merge(response.body) ) else # FIXME: pending state update!( status: :failed, psp_error: response.message ) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
moneytree-rails-0.1.11 | app/models/moneytree/transaction.rb |
moneytree-rails-0.1.10 | app/models/moneytree/transaction.rb |