Class: Datatrans::JSON::Transaction::Settle

Inherits:
Object
  • Object
show all
Defined in:
lib/datatrans/json/transaction/settle.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(datatrans, params) ⇒ Settle

Returns a new instance of Settle.



9
10
11
12
# File 'lib/datatrans/json/transaction/settle.rb', line 9

def initialize(datatrans, params)
  @datatrans = datatrans
  @params = params
end

Instance Attribute Details

#datatransObject



7
8
9
# File 'lib/datatrans/json/transaction/settle.rb', line 7

def datatrans
  @datatrans
end

#paramsObject



7
8
9
# File 'lib/datatrans/json/transaction/settle.rb', line 7

def params
  @params
end

Instance Method Details

#post(url, options = {}) ⇒ Object



14
15
16
17
18
19
# File 'lib/datatrans/json/transaction/settle.rb', line 14

def post(url, options = {})
  options = options
    .merge(datatrans.proxy)
    .merge(basic_auth: {username: datatrans.merchant_id, password: datatrans.password})
  HTTParty.post(url, **options)
end

#processObject



21
22
23
24
25
# File 'lib/datatrans/json/transaction/settle.rb', line 21

def process
  post(datatrans.url(:json_settle_url, transaction_id: params[:transaction_id]),
    headers: {"Content-Type" => "application/json"},
    body: request_body.to_json).parsed_response
end

#request_bodyObject



27
28
29
30
31
32
33
# File 'lib/datatrans/json/transaction/settle.rb', line 27

def request_body
  {
    currency: params[:currency],
    amount: params[:amount],
    refno: params[:refno]
  }
end