Class: BasecommSdk::Client
- Inherits:
-
Object
- Object
- BasecommSdk::Client
- 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
Instance Attribute Summary collapse
-
#gateway_password ⇒ Object
readonly
Returns the value of attribute gateway_password.
-
#gateway_username ⇒ Object
readonly
Returns the value of attribute gateway_username.
-
#key ⇒ Object
readonly
Returns the value of attribute key.
-
#sandbox ⇒ Object
readonly
Returns the value of attribute sandbox.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Instance Method Summary collapse
- #add_bank_account(bank_account) ⇒ Object
- #add_bank_card(bank_card) ⇒ Object
- #get_bank_account_transaction(transaction_id) ⇒ Object
- #get_bank_card_transaction(transaction_id) ⇒ Object
-
#initialize(args) ⇒ Client
constructor
A new instance of Client.
- #process_bank_account_transaction(bat) ⇒ Object
- #process_bank_card_transaction(bct) ⇒ Object
Methods included from BasecommSdk
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_password ⇒ Object (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_username ⇒ Object (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 |
#key ⇒ Object (readonly)
Returns the value of attribute key.
8 9 10 |
# File 'lib/basecomm_sdk/client.rb', line 8 def key @key end |
#sandbox ⇒ Object (readonly)
Returns the value of attribute sandbox.
8 9 10 |
# File 'lib/basecomm_sdk/client.rb', line 8 def sandbox @sandbox end |
#url ⇒ Object (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 add_bank_account(bank_account) response = do_request( api_endpoint(__method__), encrypt_payload(bank_account.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 get_bank_account_transaction(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 process_bank_account_transaction(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 |