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
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.
- #ping ⇒ Object
- #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.
11 12 13 14 15 16 17 18 19 |
# File 'lib/basecomm_sdk/client.rb', line 11 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
Returns the value of attribute url.
9 10 11 |
# File 'lib/basecomm_sdk/client.rb', line 9 def url @url end |
Instance Method Details
#add_bank_account(bank_account) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/basecomm_sdk/client.rb', line 39 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
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/basecomm_sdk/client.rb', line 51 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
30 31 32 33 34 35 36 37 |
# File 'lib/basecomm_sdk/client.rb', line 30 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
21 22 23 24 25 26 27 28 |
# File 'lib/basecomm_sdk/client.rb', line 21 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 |
#ping ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/basecomm_sdk/client.rb', line 93 def ping json = {'PING' => 'PING'}.to_json endpoint = '/pcms/?f=API_PingPong' begin response = do_request( endpoint, encrypt_payload(json) ) result = decrypt_payload_to_json( response.body, :success ) parsed_result = JSON.parse(result) parsed_result.fetch('success', 'failure') == 'success' rescue false end end |
#process_bank_account_transaction(bat) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/basecomm_sdk/client.rb', line 65 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
79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/basecomm_sdk/client.rb', line 79 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 |