Sha256: ed63f7831964aa37fe5b45937d15c2dcf4275b9bf65975b9aa2fd3264e0584d3

Contents?: true

Size: 830 Bytes

Versions: 2

Compression:

Stored size: 830 Bytes

Contents

module Zoop
  class Transaction < Zoop::Model
    alias :charge :create

    def initialize(response = {})
      super(response)

      self.currency         ||= 'BRL'
      self.payment_type     ||= 'credit'
      self.capture          ||= true
    end

    def capture!
      params = { amount: amount.convert_to_cents, on_behalf_of: on_behalf_of }
      update_model Zoop::Request.post(url('capture'), params: params).run
      self
    end

    def refund
      params = { amount: amount.convert_to_cents, on_behalf_of: on_behalf_of }
      update_model Zoop::Request.post(url('void'), params: params).run
      self
    end

    def receivables
      Zoop::Request.get( url 'receivables' ).call
    end

    def destroy
      raise NotImplementedError
    end

    class << self
      alias :charge :create
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zoop-0.2.1 lib/zoop/resources/transaction.rb
zoop-0.1.0 lib/zoop/resources/transaction.rb