tangocard-raas 1.1.2 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +28 -175
- data/README.md +38 -525
- data/lib/raas.rb +32 -19
- data/lib/raas/api_helper.rb +146 -54
- data/lib/raas/configuration.rb +22 -30
- data/lib/raas/controllers/accounts_controller.rb +146 -92
- data/lib/raas/controllers/base_controller.rb +32 -29
- data/lib/raas/controllers/catalog_controller.rb +31 -14
- data/lib/raas/controllers/customers_controller.rb +113 -72
- data/lib/raas/controllers/exchange_rates_controller.rb +40 -12
- data/lib/raas/controllers/fund_controller.rb +345 -0
- data/lib/raas/controllers/orders_controller.rb +166 -105
- data/lib/raas/controllers/status_controller.rb +31 -14
- data/lib/raas/exceptions/api_exception.rb +4 -2
- data/lib/raas/exceptions/raas_client_exception.rb +14 -12
- data/lib/raas/exceptions/raas_generic_exception.rb +9 -9
- data/lib/raas/exceptions/raas_server_exception.rb +14 -12
- data/lib/raas/http/auth/basic_auth.rb +7 -4
- data/lib/raas/http/faraday_client.rb +19 -7
- data/lib/raas/http/http_call_back.rb +11 -6
- data/lib/raas/http/http_client.rb +50 -32
- data/lib/raas/http/http_context.rb +5 -2
- data/lib/raas/http/http_method_enum.rb +6 -2
- data/lib/raas/http/http_request.rb +7 -3
- data/lib/raas/http/http_response.rb +3 -1
- data/lib/raas/models/account_model.rb +32 -23
- data/lib/raas/models/account_summary_model.rb +26 -17
- data/lib/raas/models/base_model.rb +11 -9
- data/lib/raas/models/billing_address_model.rb +105 -0
- data/lib/raas/models/brand_model.rb +39 -35
- data/lib/raas/models/catalog_model.rb +15 -13
- data/lib/raas/models/create_account_request_model.rb +14 -14
- data/lib/raas/models/create_credit_card_request_model.rb +96 -0
- data/lib/raas/models/create_customer_request_model.rb +12 -12
- data/lib/raas/models/create_order_request_model.rb +45 -35
- data/lib/raas/models/credit_card_model.rb +124 -0
- data/lib/raas/models/currency_breakdown_model.rb +18 -18
- data/lib/raas/models/customer_model.rb +24 -22
- data/lib/raas/models/deposit_request_model.rb +60 -0
- data/lib/raas/models/deposit_response_model.rb +80 -0
- data/lib/raas/models/exchange_rate_model.rb +18 -17
- data/lib/raas/models/exchange_rate_response_model.rb +17 -15
- data/lib/raas/models/full_name_email_model.rb +42 -0
- data/lib/raas/models/get_deposit_response_model.rb +80 -0
- data/lib/raas/models/get_orders_response_model.rb +16 -14
- data/lib/raas/models/item_model.rb +36 -34
- data/lib/raas/models/name_email_model.rb +14 -14
- data/lib/raas/models/new_credit_card_model.rb +51 -0
- data/lib/raas/models/order_model.rb +124 -92
- data/lib/raas/models/order_summary_model.rb +155 -0
- data/lib/raas/models/page_model.rb +16 -16
- data/lib/raas/models/raas_client_error_model.rb +16 -16
- data/lib/raas/models/raas_server_error_model.rb +12 -12
- data/lib/raas/models/resend_order_response_model.rb +11 -11
- data/lib/raas/models/reward_credential_model.rb +14 -14
- data/lib/raas/models/reward_model.rb +16 -14
- data/lib/raas/models/system_status_response_model.rb +10 -10
- data/lib/raas/models/unregister_credit_card_request_model.rb +51 -0
- data/lib/raas/models/unregister_credit_card_response_model.rb +53 -0
- data/lib/raas/raas_client.rb +36 -25
- data/test/controllers/controller_test_base.rb +31 -0
- data/test/controllers/test_accounts_controller.rb +79 -0
- data/test/controllers/test_catalog_controller.rb +65 -0
- data/test/controllers/test_customers_controller.rb +61 -0
- data/test/controllers/test_exchange_rates_controller.rb +35 -0
- data/test/controllers/test_fund_controller.rb +108 -0
- data/test/controllers/test_orders_controller.rb +86 -0
- data/test/controllers/test_status_controller.rb +27 -0
- data/test/http_response_catcher.rb +16 -0
- data/test/test_helper.rb +91 -0
- metadata +32 -10
@@ -1,96 +1,68 @@
|
|
1
|
-
# This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
|
1
|
+
# This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
|
2
|
+
# ( https://apimatic.io ).
|
2
3
|
|
3
4
|
module Raas
|
5
|
+
# CustomersController
|
4
6
|
class CustomersController < BaseController
|
5
|
-
|
6
|
-
# Singleton instance of the controller class
|
7
|
-
def self.instance
|
8
|
-
@@instance
|
9
|
-
end
|
7
|
+
@instance = CustomersController.new
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
def get_customer(customer_identifier)
|
15
|
-
begin
|
16
|
-
@logger.info("get_customer called.")
|
17
|
-
|
18
|
-
# validate required parameters
|
19
|
-
@logger.info("Validating required parameters for get_customer.")
|
20
|
-
validate_parameters({
|
21
|
-
'customer_identifier' => customer_identifier
|
22
|
-
})
|
23
|
-
|
24
|
-
# prepare query url
|
25
|
-
@logger.info("Preparing query URL for get_customer.")
|
26
|
-
_query_builder = Configuration.get_base_uri()
|
27
|
-
_query_builder << '/customers/{customerIdentifier}'
|
28
|
-
_query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
|
29
|
-
'customerIdentifier' => customer_identifier
|
30
|
-
}
|
31
|
-
_query_url = APIHelper.clean_url _query_builder
|
32
|
-
|
33
|
-
# prepare headers
|
34
|
-
@logger.info("Preparing headers for get_customer.")
|
35
|
-
_headers = {
|
36
|
-
'accept' => 'application/json'
|
37
|
-
}
|
38
|
-
|
39
|
-
# prepare and execute HttpRequest
|
40
|
-
@logger.info('Preparing and executing HttpRequest for get_customer.')
|
41
|
-
_request = @http_client.get _query_url, headers: _headers
|
42
|
-
BasicAuth.apply(_request)
|
43
|
-
_context = execute_request(_request, name: 'get_customer')
|
44
|
-
validate_response(_context)
|
45
|
-
|
46
|
-
# return appropriate response type
|
47
|
-
@logger.info("Returning response for get_customer.")
|
48
|
-
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
49
|
-
return CustomerModel.from_hash(decoded)
|
9
|
+
class << self
|
10
|
+
attr_accessor :instance
|
11
|
+
end
|
50
12
|
|
51
|
-
|
52
|
-
|
53
|
-
raise e
|
54
|
-
end
|
13
|
+
def instance
|
14
|
+
self.class.instance
|
55
15
|
end
|
56
16
|
|
57
|
-
#
|
58
|
-
# @param [CreateCustomerRequestModel] body Required parameter: Request
|
17
|
+
# Creates a new customer
|
18
|
+
# @param [CreateCustomerRequestModel] body Required parameter: Request
|
19
|
+
# Body
|
59
20
|
# @return CustomerModel response from the API call
|
60
21
|
def create_customer(body)
|
61
22
|
begin
|
62
23
|
@logger.info("create_customer called.")
|
63
|
-
|
64
|
-
# validate required parameters
|
24
|
+
# Validate required parameters.
|
65
25
|
@logger.info("Validating required parameters for create_customer.")
|
66
|
-
validate_parameters(
|
26
|
+
validate_parameters(
|
67
27
|
'body' => body
|
68
|
-
|
69
|
-
|
70
|
-
# prepare query url
|
28
|
+
)
|
29
|
+
# Prepare query url.
|
71
30
|
@logger.info("Preparing query URL for create_customer.")
|
72
|
-
_query_builder = Configuration.get_base_uri
|
31
|
+
_query_builder = Configuration.get_base_uri
|
73
32
|
_query_builder << '/customers'
|
74
33
|
_query_url = APIHelper.clean_url _query_builder
|
75
34
|
|
76
|
-
#
|
35
|
+
# Prepare headers.
|
77
36
|
@logger.info("Preparing headers for create_customer.")
|
78
37
|
_headers = {
|
79
38
|
'accept' => 'application/json',
|
80
39
|
'content-type' => 'application/json; charset=utf-8'
|
81
40
|
}
|
82
41
|
|
83
|
-
#
|
42
|
+
# Prepare and execute HttpRequest.
|
84
43
|
@logger.info('Preparing and executing HttpRequest for create_customer.')
|
85
|
-
_request = @http_client.post
|
44
|
+
_request = @http_client.post(
|
45
|
+
_query_url,
|
46
|
+
headers: _headers,
|
47
|
+
parameters: body.to_json
|
48
|
+
)
|
86
49
|
BasicAuth.apply(_request)
|
87
50
|
_context = execute_request(_request, name: 'create_customer')
|
51
|
+
|
52
|
+
# Validate response against endpoint and global error codes.
|
53
|
+
@logger.info("Validating response for create_customer.")
|
54
|
+
unless _context.response.status_code.between?(200, 208)
|
55
|
+
raise RaasGenericException.new(
|
56
|
+
'API Error',
|
57
|
+
_context
|
58
|
+
)
|
59
|
+
end
|
88
60
|
validate_response(_context)
|
89
61
|
|
90
|
-
#
|
62
|
+
# Return appropriate response type.
|
91
63
|
@logger.info("Returning response for create_customer.")
|
92
64
|
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
93
|
-
|
65
|
+
CustomerModel.from_hash(decoded)
|
94
66
|
|
95
67
|
rescue Exception => e
|
96
68
|
@logger.error(e)
|
@@ -98,35 +70,104 @@ module Raas
|
|
98
70
|
end
|
99
71
|
end
|
100
72
|
|
101
|
-
#
|
73
|
+
# Retrieves all customers under the platform
|
102
74
|
# @return List of CustomerModel response from the API call
|
103
75
|
def get_all_customers
|
104
76
|
begin
|
105
77
|
@logger.info("get_all_customers called.")
|
106
|
-
|
107
|
-
# prepare query url
|
78
|
+
# Prepare query url.
|
108
79
|
@logger.info("Preparing query URL for get_all_customers.")
|
109
|
-
_query_builder = Configuration.get_base_uri
|
80
|
+
_query_builder = Configuration.get_base_uri
|
110
81
|
_query_builder << '/customers'
|
111
82
|
_query_url = APIHelper.clean_url _query_builder
|
112
83
|
|
113
|
-
#
|
84
|
+
# Prepare headers.
|
114
85
|
@logger.info("Preparing headers for get_all_customers.")
|
115
86
|
_headers = {
|
116
87
|
'accept' => 'application/json'
|
117
88
|
}
|
118
89
|
|
119
|
-
#
|
90
|
+
# Prepare and execute HttpRequest.
|
120
91
|
@logger.info('Preparing and executing HttpRequest for get_all_customers.')
|
121
|
-
_request = @http_client.get
|
92
|
+
_request = @http_client.get(
|
93
|
+
_query_url,
|
94
|
+
headers: _headers
|
95
|
+
)
|
122
96
|
BasicAuth.apply(_request)
|
123
97
|
_context = execute_request(_request, name: 'get_all_customers')
|
98
|
+
|
99
|
+
# Validate response against endpoint and global error codes.
|
100
|
+
@logger.info("Validating response for get_all_customers.")
|
101
|
+
unless _context.response.status_code.between?(200, 208)
|
102
|
+
raise RaasGenericException.new(
|
103
|
+
'API Error',
|
104
|
+
_context
|
105
|
+
)
|
106
|
+
end
|
124
107
|
validate_response(_context)
|
125
108
|
|
126
|
-
#
|
109
|
+
# Return appropriate response type.
|
127
110
|
@logger.info("Returning response for get_all_customers.")
|
128
111
|
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
129
|
-
|
112
|
+
decoded.map { |element| CustomerModel.from_hash(element) }
|
113
|
+
|
114
|
+
rescue Exception => e
|
115
|
+
@logger.error(e)
|
116
|
+
raise e
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
# Retrieves a single customer
|
121
|
+
# @param [String] customer_identifier Required parameter: Customer
|
122
|
+
# Identifier
|
123
|
+
# @return CustomerModel response from the API call
|
124
|
+
def get_customer(customer_identifier)
|
125
|
+
begin
|
126
|
+
@logger.info("get_customer called.")
|
127
|
+
# Validate required parameters.
|
128
|
+
@logger.info("Validating required parameters for get_customer.")
|
129
|
+
validate_parameters(
|
130
|
+
'customer_identifier' => customer_identifier
|
131
|
+
)
|
132
|
+
# Prepare query url.
|
133
|
+
@logger.info("Preparing query URL for get_customer.")
|
134
|
+
_query_builder = Configuration.get_base_uri
|
135
|
+
_query_builder << '/customers/{customerIdentifier}'
|
136
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
137
|
+
_query_builder,
|
138
|
+
'customerIdentifier' => customer_identifier
|
139
|
+
)
|
140
|
+
_query_url = APIHelper.clean_url _query_builder
|
141
|
+
|
142
|
+
# Prepare headers.
|
143
|
+
@logger.info("Preparing headers for get_customer.")
|
144
|
+
_headers = {
|
145
|
+
'accept' => 'application/json'
|
146
|
+
}
|
147
|
+
|
148
|
+
# Prepare and execute HttpRequest.
|
149
|
+
@logger.info('Preparing and executing HttpRequest for get_customer.')
|
150
|
+
_request = @http_client.get(
|
151
|
+
_query_url,
|
152
|
+
headers: _headers
|
153
|
+
)
|
154
|
+
BasicAuth.apply(_request)
|
155
|
+
_context = execute_request(_request, name: 'get_customer')
|
156
|
+
|
157
|
+
# Validate response against endpoint and global error codes.
|
158
|
+
@logger.info("Validating response for get_customer.")
|
159
|
+
unless _context.response.status_code.between?(200, 208)
|
160
|
+
raise RaasGenericException.new(
|
161
|
+
'API Error',
|
162
|
+
_context
|
163
|
+
)
|
164
|
+
end
|
165
|
+
validate_response(_context)
|
166
|
+
|
167
|
+
# Return appropriate response type.
|
168
|
+
@logger.info("Returning response for get_customer.")
|
169
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
170
|
+
CustomerModel.from_hash(decoded)
|
130
171
|
|
131
172
|
rescue Exception => e
|
132
173
|
@logger.error(e)
|
@@ -1,31 +1,59 @@
|
|
1
|
-
# This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
|
1
|
+
# This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
|
2
|
+
# ( https://apimatic.io ).
|
2
3
|
|
3
4
|
module Raas
|
5
|
+
# ExchangeRatesController
|
4
6
|
class ExchangeRatesController < BaseController
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
@instance = ExchangeRatesController.new
|
8
|
+
|
9
|
+
class << self
|
10
|
+
attr_accessor :instance
|
11
|
+
end
|
12
|
+
|
13
|
+
def instance
|
14
|
+
self.class.instance
|
9
15
|
end
|
10
16
|
|
11
17
|
# Retrieve current exchange rates
|
12
|
-
# @return
|
18
|
+
# @return ExchangeRateResponseModel response from the API call
|
13
19
|
def get_exchange_rates
|
14
20
|
begin
|
15
21
|
@logger.info("get_exchange_rates called.")
|
16
|
-
|
17
|
-
# prepare query url
|
22
|
+
# Prepare query url.
|
18
23
|
@logger.info("Preparing query URL for get_exchange_rates.")
|
19
|
-
_query_builder = Configuration.get_base_uri
|
20
|
-
_query_builder << '/
|
24
|
+
_query_builder = Configuration.get_base_uri
|
25
|
+
_query_builder << '/exchangerates'
|
21
26
|
_query_url = APIHelper.clean_url _query_builder
|
22
27
|
|
23
|
-
#
|
28
|
+
# Prepare headers.
|
29
|
+
@logger.info("Preparing headers for get_exchange_rates.")
|
30
|
+
_headers = {
|
31
|
+
'accept' => 'application/json'
|
32
|
+
}
|
33
|
+
|
34
|
+
# Prepare and execute HttpRequest.
|
24
35
|
@logger.info('Preparing and executing HttpRequest for get_exchange_rates.')
|
25
|
-
_request = @http_client.get
|
36
|
+
_request = @http_client.get(
|
37
|
+
_query_url,
|
38
|
+
headers: _headers
|
39
|
+
)
|
26
40
|
BasicAuth.apply(_request)
|
27
41
|
_context = execute_request(_request, name: 'get_exchange_rates')
|
42
|
+
|
43
|
+
# Validate response against endpoint and global error codes.
|
44
|
+
@logger.info("Validating response for get_exchange_rates.")
|
45
|
+
unless _context.response.status_code.between?(200, 208)
|
46
|
+
raise RaasGenericException.new(
|
47
|
+
'API Error',
|
48
|
+
_context
|
49
|
+
)
|
50
|
+
end
|
28
51
|
validate_response(_context)
|
52
|
+
|
53
|
+
# Return appropriate response type.
|
54
|
+
@logger.info("Returning response for get_exchange_rates.")
|
55
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
56
|
+
ExchangeRateResponseModel.from_hash(decoded)
|
29
57
|
|
30
58
|
rescue Exception => e
|
31
59
|
@logger.error(e)
|
@@ -0,0 +1,345 @@
|
|
1
|
+
# This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
|
2
|
+
# ( https://apimatic.io ).
|
3
|
+
|
4
|
+
module Raas
|
5
|
+
# FundController
|
6
|
+
class FundController < BaseController
|
7
|
+
@instance = FundController.new
|
8
|
+
|
9
|
+
class << self
|
10
|
+
attr_accessor :instance
|
11
|
+
end
|
12
|
+
|
13
|
+
def instance
|
14
|
+
self.class.instance
|
15
|
+
end
|
16
|
+
|
17
|
+
# Unregister a credit card
|
18
|
+
# @param [UnregisterCreditCardRequestModel] body Required parameter:
|
19
|
+
# Example:
|
20
|
+
# @return UnregisterCreditCardResponseModel response from the API call
|
21
|
+
def create_unregister_credit_card(body)
|
22
|
+
begin
|
23
|
+
@logger.info("create_unregister_credit_card called.")
|
24
|
+
# Validate required parameters.
|
25
|
+
@logger.info("Validating required parameters for create_unregister_credit_card.")
|
26
|
+
validate_parameters(
|
27
|
+
'body' => body
|
28
|
+
)
|
29
|
+
# Prepare query url.
|
30
|
+
@logger.info("Preparing query URL for create_unregister_credit_card.")
|
31
|
+
_query_builder = Configuration.get_base_uri
|
32
|
+
_query_builder << '/creditCardUnregisters'
|
33
|
+
_query_url = APIHelper.clean_url _query_builder
|
34
|
+
|
35
|
+
# Prepare headers.
|
36
|
+
@logger.info("Preparing headers for create_unregister_credit_card.")
|
37
|
+
_headers = {
|
38
|
+
'accept' => 'application/json',
|
39
|
+
'content-type' => 'application/json; charset=utf-8'
|
40
|
+
}
|
41
|
+
|
42
|
+
# Prepare and execute HttpRequest.
|
43
|
+
@logger.info('Preparing and executing HttpRequest for create_unregister_credit_card.')
|
44
|
+
_request = @http_client.post(
|
45
|
+
_query_url,
|
46
|
+
headers: _headers,
|
47
|
+
parameters: body.to_json
|
48
|
+
)
|
49
|
+
BasicAuth.apply(_request)
|
50
|
+
_context = execute_request(_request, name: 'create_unregister_credit_card')
|
51
|
+
|
52
|
+
# Validate response against endpoint and global error codes.
|
53
|
+
@logger.info("Validating response for create_unregister_credit_card.")
|
54
|
+
unless _context.response.status_code.between?(200, 208)
|
55
|
+
raise RaasGenericException.new(
|
56
|
+
'API Error',
|
57
|
+
_context
|
58
|
+
)
|
59
|
+
end
|
60
|
+
validate_response(_context)
|
61
|
+
|
62
|
+
# Return appropriate response type.
|
63
|
+
@logger.info("Returning response for create_unregister_credit_card.")
|
64
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
65
|
+
UnregisterCreditCardResponseModel.from_hash(decoded)
|
66
|
+
|
67
|
+
rescue Exception => e
|
68
|
+
@logger.error(e)
|
69
|
+
raise e
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Get details for a specific credit card deposit
|
74
|
+
# @param [String] deposit_id Required parameter: The reference deposit id
|
75
|
+
# @return GetDepositResponseModel response from the API call
|
76
|
+
def get_deposit(deposit_id)
|
77
|
+
begin
|
78
|
+
@logger.info("get_deposit called.")
|
79
|
+
# Validate required parameters.
|
80
|
+
@logger.info("Validating required parameters for get_deposit.")
|
81
|
+
validate_parameters(
|
82
|
+
'deposit_id' => deposit_id
|
83
|
+
)
|
84
|
+
# Prepare query url.
|
85
|
+
@logger.info("Preparing query URL for get_deposit.")
|
86
|
+
_query_builder = Configuration.get_base_uri
|
87
|
+
_query_builder << '/creditCardDeposits/{depositId}'
|
88
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
89
|
+
_query_builder,
|
90
|
+
'depositId' => deposit_id
|
91
|
+
)
|
92
|
+
_query_url = APIHelper.clean_url _query_builder
|
93
|
+
|
94
|
+
# Prepare headers.
|
95
|
+
@logger.info("Preparing headers for get_deposit.")
|
96
|
+
_headers = {
|
97
|
+
'accept' => 'application/json'
|
98
|
+
}
|
99
|
+
|
100
|
+
# Prepare and execute HttpRequest.
|
101
|
+
@logger.info('Preparing and executing HttpRequest for get_deposit.')
|
102
|
+
_request = @http_client.get(
|
103
|
+
_query_url,
|
104
|
+
headers: _headers
|
105
|
+
)
|
106
|
+
BasicAuth.apply(_request)
|
107
|
+
_context = execute_request(_request, name: 'get_deposit')
|
108
|
+
|
109
|
+
# Validate response against endpoint and global error codes.
|
110
|
+
@logger.info("Validating response for get_deposit.")
|
111
|
+
unless _context.response.status_code.between?(200, 208)
|
112
|
+
raise RaasGenericException.new(
|
113
|
+
'API Error',
|
114
|
+
_context
|
115
|
+
)
|
116
|
+
end
|
117
|
+
validate_response(_context)
|
118
|
+
|
119
|
+
# Return appropriate response type.
|
120
|
+
@logger.info("Returning response for get_deposit.")
|
121
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
122
|
+
GetDepositResponseModel.from_hash(decoded)
|
123
|
+
|
124
|
+
rescue Exception => e
|
125
|
+
@logger.error(e)
|
126
|
+
raise e
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# Funds an account via credit card
|
131
|
+
# @param [DepositRequestModel] body Required parameter: Example:
|
132
|
+
# @return DepositResponseModel response from the API call
|
133
|
+
def add_funds(body)
|
134
|
+
begin
|
135
|
+
@logger.info("add_funds called.")
|
136
|
+
# Validate required parameters.
|
137
|
+
@logger.info("Validating required parameters for add_funds.")
|
138
|
+
validate_parameters(
|
139
|
+
'body' => body
|
140
|
+
)
|
141
|
+
# Prepare query url.
|
142
|
+
@logger.info("Preparing query URL for add_funds.")
|
143
|
+
_query_builder = Configuration.get_base_uri
|
144
|
+
_query_builder << '/creditCardDeposits'
|
145
|
+
_query_url = APIHelper.clean_url _query_builder
|
146
|
+
|
147
|
+
# Prepare headers.
|
148
|
+
@logger.info("Preparing headers for add_funds.")
|
149
|
+
_headers = {
|
150
|
+
'accept' => 'application/json',
|
151
|
+
'content-type' => 'application/json; charset=utf-8'
|
152
|
+
}
|
153
|
+
|
154
|
+
# Prepare and execute HttpRequest.
|
155
|
+
@logger.info('Preparing and executing HttpRequest for add_funds.')
|
156
|
+
_request = @http_client.post(
|
157
|
+
_query_url,
|
158
|
+
headers: _headers,
|
159
|
+
parameters: body.to_json
|
160
|
+
)
|
161
|
+
BasicAuth.apply(_request)
|
162
|
+
_context = execute_request(_request, name: 'add_funds')
|
163
|
+
|
164
|
+
# Validate response against endpoint and global error codes.
|
165
|
+
@logger.info("Validating response for add_funds.")
|
166
|
+
unless _context.response.status_code.between?(200, 208)
|
167
|
+
raise RaasGenericException.new(
|
168
|
+
'API Error',
|
169
|
+
_context
|
170
|
+
)
|
171
|
+
end
|
172
|
+
validate_response(_context)
|
173
|
+
|
174
|
+
# Return appropriate response type.
|
175
|
+
@logger.info("Returning response for add_funds.")
|
176
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
177
|
+
DepositResponseModel.from_hash(decoded)
|
178
|
+
|
179
|
+
rescue Exception => e
|
180
|
+
@logger.error(e)
|
181
|
+
raise e
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
# Retrieves all credit cards registered on the platform
|
186
|
+
# @return List of CreditCardModel response from the API call
|
187
|
+
def get_credit_cards
|
188
|
+
begin
|
189
|
+
@logger.info("get_credit_cards called.")
|
190
|
+
# Prepare query url.
|
191
|
+
@logger.info("Preparing query URL for get_credit_cards.")
|
192
|
+
_query_builder = Configuration.get_base_uri
|
193
|
+
_query_builder << '/creditCards'
|
194
|
+
_query_url = APIHelper.clean_url _query_builder
|
195
|
+
|
196
|
+
# Prepare headers.
|
197
|
+
@logger.info("Preparing headers for get_credit_cards.")
|
198
|
+
_headers = {
|
199
|
+
'accept' => 'application/json'
|
200
|
+
}
|
201
|
+
|
202
|
+
# Prepare and execute HttpRequest.
|
203
|
+
@logger.info('Preparing and executing HttpRequest for get_credit_cards.')
|
204
|
+
_request = @http_client.get(
|
205
|
+
_query_url,
|
206
|
+
headers: _headers
|
207
|
+
)
|
208
|
+
BasicAuth.apply(_request)
|
209
|
+
_context = execute_request(_request, name: 'get_credit_cards')
|
210
|
+
|
211
|
+
# Validate response against endpoint and global error codes.
|
212
|
+
@logger.info("Validating response for get_credit_cards.")
|
213
|
+
unless _context.response.status_code.between?(200, 208)
|
214
|
+
raise RaasGenericException.new(
|
215
|
+
'API Error',
|
216
|
+
_context
|
217
|
+
)
|
218
|
+
end
|
219
|
+
validate_response(_context)
|
220
|
+
|
221
|
+
# Return appropriate response type.
|
222
|
+
@logger.info("Returning response for get_credit_cards.")
|
223
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
224
|
+
decoded.map { |element| CreditCardModel.from_hash(element) }
|
225
|
+
|
226
|
+
rescue Exception => e
|
227
|
+
@logger.error(e)
|
228
|
+
raise e
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
# Retrieves details for a single credit card
|
233
|
+
# @param [String] token Required parameter: Credit Card Token
|
234
|
+
# @return CreditCardModel response from the API call
|
235
|
+
def get_credit_card(token)
|
236
|
+
begin
|
237
|
+
@logger.info("get_credit_card called.")
|
238
|
+
# Validate required parameters.
|
239
|
+
@logger.info("Validating required parameters for get_credit_card.")
|
240
|
+
validate_parameters(
|
241
|
+
'token' => token
|
242
|
+
)
|
243
|
+
# Prepare query url.
|
244
|
+
@logger.info("Preparing query URL for get_credit_card.")
|
245
|
+
_query_builder = Configuration.get_base_uri
|
246
|
+
_query_builder << '/creditCards/{token}'
|
247
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
248
|
+
_query_builder,
|
249
|
+
'token' => token
|
250
|
+
)
|
251
|
+
_query_url = APIHelper.clean_url _query_builder
|
252
|
+
|
253
|
+
# Prepare headers.
|
254
|
+
@logger.info("Preparing headers for get_credit_card.")
|
255
|
+
_headers = {
|
256
|
+
'accept' => 'application/json'
|
257
|
+
}
|
258
|
+
|
259
|
+
# Prepare and execute HttpRequest.
|
260
|
+
@logger.info('Preparing and executing HttpRequest for get_credit_card.')
|
261
|
+
_request = @http_client.get(
|
262
|
+
_query_url,
|
263
|
+
headers: _headers
|
264
|
+
)
|
265
|
+
BasicAuth.apply(_request)
|
266
|
+
_context = execute_request(_request, name: 'get_credit_card')
|
267
|
+
|
268
|
+
# Validate response against endpoint and global error codes.
|
269
|
+
@logger.info("Validating response for get_credit_card.")
|
270
|
+
unless _context.response.status_code.between?(200, 208)
|
271
|
+
raise RaasGenericException.new(
|
272
|
+
'API Error',
|
273
|
+
_context
|
274
|
+
)
|
275
|
+
end
|
276
|
+
validate_response(_context)
|
277
|
+
|
278
|
+
# Return appropriate response type.
|
279
|
+
@logger.info("Returning response for get_credit_card.")
|
280
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
281
|
+
CreditCardModel.from_hash(decoded)
|
282
|
+
|
283
|
+
rescue Exception => e
|
284
|
+
@logger.error(e)
|
285
|
+
raise e
|
286
|
+
end
|
287
|
+
end
|
288
|
+
|
289
|
+
# Registers a new credit card
|
290
|
+
# @param [CreateCreditCardRequestModel] body Required parameter: A
|
291
|
+
# CreateCreditCardRequest object
|
292
|
+
# @return CreditCardModel response from the API call
|
293
|
+
def create_register_credit_card(body)
|
294
|
+
begin
|
295
|
+
@logger.info("create_register_credit_card called.")
|
296
|
+
# Validate required parameters.
|
297
|
+
@logger.info("Validating required parameters for create_register_credit_card.")
|
298
|
+
validate_parameters(
|
299
|
+
'body' => body
|
300
|
+
)
|
301
|
+
# Prepare query url.
|
302
|
+
@logger.info("Preparing query URL for create_register_credit_card.")
|
303
|
+
_query_builder = Configuration.get_base_uri
|
304
|
+
_query_builder << '/creditCards'
|
305
|
+
_query_url = APIHelper.clean_url _query_builder
|
306
|
+
|
307
|
+
# Prepare headers.
|
308
|
+
@logger.info("Preparing headers for create_register_credit_card.")
|
309
|
+
_headers = {
|
310
|
+
'accept' => 'application/json',
|
311
|
+
'content-type' => 'application/json; charset=utf-8'
|
312
|
+
}
|
313
|
+
|
314
|
+
# Prepare and execute HttpRequest.
|
315
|
+
@logger.info('Preparing and executing HttpRequest for create_register_credit_card.')
|
316
|
+
_request = @http_client.post(
|
317
|
+
_query_url,
|
318
|
+
headers: _headers,
|
319
|
+
parameters: body.to_json
|
320
|
+
)
|
321
|
+
BasicAuth.apply(_request)
|
322
|
+
_context = execute_request(_request, name: 'create_register_credit_card')
|
323
|
+
|
324
|
+
# Validate response against endpoint and global error codes.
|
325
|
+
@logger.info("Validating response for create_register_credit_card.")
|
326
|
+
unless _context.response.status_code.between?(200, 208)
|
327
|
+
raise RaasGenericException.new(
|
328
|
+
'API Error',
|
329
|
+
_context
|
330
|
+
)
|
331
|
+
end
|
332
|
+
validate_response(_context)
|
333
|
+
|
334
|
+
# Return appropriate response type.
|
335
|
+
@logger.info("Returning response for create_register_credit_card.")
|
336
|
+
decoded = APIHelper.json_deserialize(_context.response.raw_body)
|
337
|
+
CreditCardModel.from_hash(decoded)
|
338
|
+
|
339
|
+
rescue Exception => e
|
340
|
+
@logger.error(e)
|
341
|
+
raise e
|
342
|
+
end
|
343
|
+
end
|
344
|
+
end
|
345
|
+
end
|