Class: BasecommSdk::Client

Inherits:
Object
  • Object
show all
Includes:
BasecommSdk
Defined in:
lib/basecomm_sdk/client.rb

Constant Summary collapse

DEFAULT_BASE_URL =
'https://gateway.basecommerce.com'
DEFAULT_SANDBOX_URL =
'https://gateway.basecommercesandbox.com'

Constants included from BasecommSdk

VERSION

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from BasecommSdk

#logger, root

Constructor Details

#initialize(args) ⇒ Client

Returns a new instance of Client.



10
11
12
13
14
15
16
17
18
# File 'lib/basecomm_sdk/client.rb', line 10

def initialize(args)
  @gateway_username = args[:gateway_username]
  @gateway_password = args[:gateway_password]
  @key              = args[:key]
  @sandbox          = args[:sandbox]
  @url              = args.fetch(:url) do
    @sandbox ? DEFAULT_SANDBOX_URL : DEFAULT_BASE_URL
  end
end

Instance Attribute Details

#gateway_passwordObject (readonly)

Returns the value of attribute gateway_password.



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

def gateway_password
  @gateway_password
end

#gateway_usernameObject (readonly)

Returns the value of attribute gateway_username.



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

def gateway_username
  @gateway_username
end

#keyObject (readonly)

Returns the value of attribute key.



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

def key
  @key
end

#sandboxObject (readonly)

Returns the value of attribute sandbox.



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

def sandbox
  @sandbox
end

#urlObject (readonly)

Returns the value of attribute url.



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

def url
  @url
end

Instance Method Details

#add_bank_account(bank_account) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/basecomm_sdk/client.rb', line 38

def ()
  response = do_request(
    api_endpoint(__method__),
    encrypt_payload(.to_json)
  )
  decrypted_payload = decrypt_payload_to_json(
    response.body,
    :bank_account
  )
  BankAccount.from_json(decrypted_payload)
end

#add_bank_card(bank_card) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/basecomm_sdk/client.rb', line 50

def add_bank_card(bank_card)
  json = bank_card.to_json
  logger.debug("#{__method__}: #{json}")
  response = do_request(
    api_endpoint(__method__),
    encrypt_payload(json)
  )
  decrypted_payload = decrypt_payload_to_json(
    response.body,
    :bank_card
  )
  BankCard.from_json(decrypted_payload)
end

#get_bank_account_transaction(transaction_id) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/basecomm_sdk/client.rb', line 29

def (transaction_id)
  response = do_request(api_endpoint(__method__), transaction_id)
  decrypted_payload = decrypt_payload_to_json(
    response.body,
    :bank_account_transaction
  )
  BankAccountTransaction.from_json(decrypted_payload)
end

#get_bank_card_transaction(transaction_id) ⇒ Object



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

def get_bank_card_transaction(transaction_id)
  response = do_request(api_endpoint(__method__), transaction_id)
  decrypted_payload = decrypt_payload_to_json(
    response.body,
    :bank_card_transaction
  )
  BankCardTransaction.from_json(decrypted_payload)
end

#process_bank_account_transaction(bat) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/basecomm_sdk/client.rb', line 64

def (bat)
  json = bat.to_json
  logger.debug("#{__method__}: #{json}")
  response = do_request(
    api_endpoint(__method__),
    encrypt_payload(json)
  )
  decrypted_payload = decrypt_payload_to_json(
    response.body,
    :bank_account_transaction
  )
  BankAccountTransaction.from_json(decrypted_payload)
end

#process_bank_card_transaction(bct) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/basecomm_sdk/client.rb', line 78

def process_bank_card_transaction(bct)
  json = bct.to_json
  logger.debug("#{__method__}: #{json}")
  response = do_request(
    api_endpoint(__method__),
    encrypt_payload(json)
  )
  decrypted_payload = decrypt_payload_to_json(
    response.body,
    :bank_card_transaction
  )
  BankCardTransaction.from_json(decrypted_payload)
end