Module: VposModule

Included in:
Vpos
Defined in:
lib/vpos_module.rb,
lib/vpos/version.rb

Defined Under Namespace

Classes: Error

Constant Summary collapse

VERSION =
"2.0.2"

Instance Method Summary collapse

Instance Method Details

#get_request(request_id: required, token: @token) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/vpos_module.rb', line 56

def get_request(request_id: required, token: @token)
  conn = connection
  response = conn.get("requests/#{request_id}") do |req|
    req.headers['Authorization'] = "Bearer #{token}"
  end
  return_vpos_object(response)
end

#get_request_id(response) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/vpos_module.rb', line 41

def get_request_id(response)
  if response[:location].nil?
    conn = connection
    response = conn.get("references/invalid") do |req|
      req.headers['Authorization'] = "Bearer #{token}"
    end
  else
    if response[:status_code] == 202
      response[:location].gsub("/api/v1/requests/", "")
    else
      response[:location].gsub("/api/v1/transactions/", "")
    end
  end
end

#get_transaction(transaction_id: required, token: @token) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/vpos_module.rb', line 33

def get_transaction(transaction_id: required, token: @token)
  conn = connection
  response = conn.get("transactions/#{transaction_id}") do |req|
    req.headers['Authorization'] = "Bearer #{token}"
  end
  return_vpos_object(response)
end

#new_payment(customer: required, amount: required, pos_id: @pos_id, callback_url: @payment_callback_url, token: @token) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/vpos_module.rb', line 9

def new_payment(
  customer: required,
  amount: required,
  pos_id: @pos_id,
  callback_url: @payment_callback_url,
  token: @token
)
  conn = connection
  response = conn.post('transactions') do |req|
    req.headers['Authorization'] = "Bearer #{token}"
    req.body = { type: "payment", pos_id: pos_id, mobile: customer, amount: amount, callback_url: callback_url }.to_json
  end
  return_vpos_object(response)
end

#new_refund(parent_transaction_id: required, token: @token, callback_url: @refund_callback_url) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/vpos_module.rb', line 24

def new_refund(parent_transaction_id: required, token: @token, callback_url: @refund_callback_url)
  conn = connection
  response = conn.post('transactions') do |req|
    req.headers['Authorization'] = "Bearer #{token}"
    req.body = { type: "refund", parent_transaction_id: parent_transaction_id, callback_url: callback_url }.to_json
  end
  return_vpos_object(response)
end