Class: OnlinePaymentPlatform::Client::Transaction

Inherits:
Object
  • Object
show all
Includes:
Methods
Defined in:
lib/online_payment_platform/client/transaction.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Methods

#assert_one_of!, #assert_required_keys!, #fetch, #generate_uri, #post

Constructor Details

#initialize(merchant_uid, uid = nil) ⇒ Transaction

Returns a new instance of Transaction.



11
12
13
14
# File 'lib/online_payment_platform/client/transaction.rb', line 11

def initialize(merchant_uid, uid = nil)
  @merchant_uid = merchant_uid
  @uid = uid
end

Instance Attribute Details

#featuresObject

Returns the value of attribute features.



9
10
11
# File 'lib/online_payment_platform/client/transaction.rb', line 9

def features
  @features
end

#merchant_uidObject (readonly)

Returns the value of attribute merchant_uid.



8
9
10
# File 'lib/online_payment_platform/client/transaction.rb', line 8

def merchant_uid
  @merchant_uid
end

#uidObject (readonly)

Returns the value of attribute uid.



8
9
10
# File 'lib/online_payment_platform/client/transaction.rb', line 8

def uid
  @uid
end

Instance Method Details

#create(opts = {}) ⇒ Object



16
17
18
19
# File 'lib/online_payment_platform/client/transaction.rb', line 16

def create(opts = {})
  assert_required_keys!(opts, :total_price, :products)
  post generate_uri(:transactions), set_params(opts)
end

#find(uid) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/online_payment_platform/client/transaction.rb', line 21

def find(uid)
  response = fetch generate_uri(:transactions, uid)
  object = Transaction.new merchant_uid, uid
  object.features = response

  return object
end

#refund!(opts = {}) ⇒ Object



29
30
31
32
# File 'lib/online_payment_platform/client/transaction.rb', line 29

def refund!(opts = {})
  assert_required_keys!(opts, :amount)
  post generate_uri(:transactions, uid, :refunds), opts
end

#refundsObject



34
35
36
# File 'lib/online_payment_platform/client/transaction.rb', line 34

def refunds
  fetch generate_uri(:transactions, uid, :refunds)
end