vrpayment-ruby-sdk 6.2.0 → 6.4.0

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +56 -14
  3. data/LICENSE +1 -1
  4. data/README.md +57 -29
  5. data/lib/vrpayment-ruby-sdk/api_client.rb +1 -1
  6. data/lib/vrpayment-ruby-sdk/api_exception_error_codes.rb +60 -0
  7. data/lib/vrpayment-ruby-sdk/models/bogus_express_checkout_approval_request.rb +230 -0
  8. data/lib/vrpayment-ruby-sdk/models/bogus_express_checkout_payment_data.rb +241 -0
  9. data/lib/vrpayment-ruby-sdk/models/express_checkout_approval_response.rb +270 -0
  10. data/lib/vrpayment-ruby-sdk/models/express_checkout_create_response.rb +13 -4
  11. data/lib/vrpayment-ruby-sdk/models/express_checkout_session.rb +39 -1
  12. data/lib/vrpayment-ruby-sdk/models/express_checkout_session_create.rb +21 -1
  13. data/lib/vrpayment-ruby-sdk/models/express_checkout_shipping_address_change_request.rb +239 -0
  14. data/lib/vrpayment-ruby-sdk/models/express_checkout_shipping_address_change_response.rb +241 -0
  15. data/lib/vrpayment-ruby-sdk/models/express_checkout_shipping_method_change_request.rb +231 -0
  16. data/lib/vrpayment-ruby-sdk/models/express_checkout_shipping_method_change_response.rb +241 -0
  17. data/lib/vrpayment-ruby-sdk/models/express_checkout_shipping_option.rb +1 -1
  18. data/lib/vrpayment-ruby-sdk/models/payment_terminal_address.rb +43 -5
  19. data/lib/vrpayment-ruby-sdk/models/payment_terminal_dcc_transaction_sum.rb +302 -0
  20. data/lib/vrpayment-ruby-sdk/models/payment_terminal_transaction_sum.rb +332 -0
  21. data/lib/vrpayment-ruby-sdk/models/payment_terminal_transaction_summary.rb +347 -0
  22. data/lib/vrpayment-ruby-sdk/models/refund.rb +13 -1
  23. data/lib/vrpayment-ruby-sdk/models/refund_create.rb +13 -1
  24. data/lib/vrpayment-ruby-sdk/models/rendered_terminal_transaction_summary.rb +241 -0
  25. data/lib/vrpayment-ruby-sdk/models/scope.rb +15 -15
  26. data/lib/vrpayment-ruby-sdk/models/subscription_update_request.rb +22 -45
  27. data/lib/vrpayment-ruby-sdk/models/terminal_transaction_summary_list_response.rb +253 -0
  28. data/lib/vrpayment-ruby-sdk/models/terminal_transaction_summary_search_response.rb +263 -0
  29. data/lib/vrpayment-ruby-sdk/models/transaction_completion.rb +13 -1
  30. data/lib/vrpayment-ruby-sdk/models/transaction_completion_details.rb +26 -4
  31. data/lib/vrpayment-ruby-sdk/models/transaction_user_interface_type.rb +2 -1
  32. data/lib/vrpayment-ruby-sdk/sdk_exception_error_codes.rb +55 -0
  33. data/lib/vrpayment-ruby-sdk/service/bogus_express_checkout_service.rb +114 -0
  34. data/lib/vrpayment-ruby-sdk/service/express_checkout_service.rb +162 -0
  35. data/lib/vrpayment-ruby-sdk/service/payment_terminal_transaction_summaries_service.rb +372 -0
  36. data/lib/vrpayment-ruby-sdk/service/webhook_encryption_keys_service.rb +2 -2
  37. data/lib/vrpayment-ruby-sdk/utils/encryption_util.rb +5 -5
  38. data/lib/vrpayment-ruby-sdk/version.rb +1 -1
  39. data/lib/vrpayment-ruby-sdk/vrpayment_sdk_exception.rb +2 -33
  40. data/lib/vrpayment-ruby-sdk.rb +20 -1
  41. data/test/test_querying.rb +11 -0
  42. metadata +19 -2
@@ -30,6 +30,168 @@ module VrpaymentRubySdk
30
30
  def initialize(api_client = ApiClient.default)
31
31
  @api_client = api_client
32
32
  end
33
+ # Change shipping address
34
+ # @param session_token [String]
35
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
36
+ # @param express_checkout_shipping_address_change_request [ExpressCheckoutShippingAddressChangeRequest]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [ExpressCheckoutShippingAddressChangeResponse]
39
+ def patch_express_checkout_shipping_address_change(session_token, space, express_checkout_shipping_address_change_request, opts = {})
40
+ data, _status_code, _headers = patch_express_checkout_shipping_address_change_with_http_info(session_token, space, express_checkout_shipping_address_change_request, opts)
41
+ data
42
+ end
43
+
44
+ # Change shipping address
45
+
46
+ # @param session_token [String]
47
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
48
+ # @param express_checkout_shipping_address_change_request [ExpressCheckoutShippingAddressChangeRequest]
49
+ # @param [Hash] opts the optional parameters
50
+ # @return [Array<(ExpressCheckoutShippingAddressChangeResponse, Integer, Hash)>] ExpressCheckoutShippingAddressChangeResponse data, response status code and response headers
51
+ def patch_express_checkout_shipping_address_change_with_http_info(session_token, space, express_checkout_shipping_address_change_request, opts = {})
52
+ if @api_client.config.debugging
53
+ @api_client.config.logger.debug 'Calling API: ExpressCheckoutService.patch_express_checkout_shipping_address_change ...'
54
+ end
55
+ # verify the required parameter 'session_token' is set
56
+ if @api_client.config.client_side_validation && session_token.nil?
57
+ fail ArgumentError, "Missing the required parameter 'session_token' when calling ExpressCheckoutService.patch_express_checkout_shipping_address_change"
58
+ end
59
+ # verify the required parameter 'space' is set
60
+ if @api_client.config.client_side_validation && space.nil?
61
+ fail ArgumentError, "Missing the required parameter 'space' when calling ExpressCheckoutService.patch_express_checkout_shipping_address_change"
62
+ end
63
+ # verify the required parameter 'express_checkout_shipping_address_change_request' is set
64
+ if @api_client.config.client_side_validation && express_checkout_shipping_address_change_request.nil?
65
+ fail ArgumentError, "Missing the required parameter 'express_checkout_shipping_address_change_request' when calling ExpressCheckoutService.patch_express_checkout_shipping_address_change"
66
+ end
67
+ # resource path
68
+ local_var_path = '/express-checkout/shipping/address-change'
69
+
70
+ # query parameters
71
+ query_params = opts[:query_params] || {}
72
+ query_params[:'sessionToken'] = session_token
73
+
74
+ # header parameters
75
+ header_params = opts[:header_params] || {}
76
+ # HTTP header 'Accept' (if needed)
77
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
78
+ # HTTP header 'Content-Type'
79
+ content_type = @api_client.select_header_content_type(['application/json'])
80
+ if !content_type.nil?
81
+ header_params['Content-Type'] = content_type
82
+ end
83
+ header_params[:'Space'] = space
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # connection timeout
89
+ connection_timeout = @api_client.config.timeout
90
+
91
+ # http body (model)
92
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(express_checkout_shipping_address_change_request)
93
+
94
+ # return_type
95
+ return_type = opts[:debug_return_type] || 'ExpressCheckoutShippingAddressChangeResponse'
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"ExpressCheckoutService.patch_express_checkout_shipping_address_change",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :return_type => return_type
104
+ )
105
+
106
+ data, status_code, headers = @api_client.call_api(:PATCH.to_sym.downcase, local_var_path, new_options, connection_timeout)
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug "API called: ExpressCheckoutService#patch_express_checkout_shipping_address_change\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}\nConnection Timeout: #{connection_timeout}"
109
+ end
110
+ return data, status_code, headers
111
+ end
112
+
113
+
114
+ # Change shipping method
115
+ # @param session_token [String]
116
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
117
+ # @param express_checkout_shipping_method_change_request [ExpressCheckoutShippingMethodChangeRequest]
118
+ # @param [Hash] opts the optional parameters
119
+ # @return [ExpressCheckoutShippingMethodChangeResponse]
120
+ def patch_express_checkout_shipping_method_change(session_token, space, express_checkout_shipping_method_change_request, opts = {})
121
+ data, _status_code, _headers = patch_express_checkout_shipping_method_change_with_http_info(session_token, space, express_checkout_shipping_method_change_request, opts)
122
+ data
123
+ end
124
+
125
+ # Change shipping method
126
+
127
+ # @param session_token [String]
128
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
129
+ # @param express_checkout_shipping_method_change_request [ExpressCheckoutShippingMethodChangeRequest]
130
+ # @param [Hash] opts the optional parameters
131
+ # @return [Array<(ExpressCheckoutShippingMethodChangeResponse, Integer, Hash)>] ExpressCheckoutShippingMethodChangeResponse data, response status code and response headers
132
+ def patch_express_checkout_shipping_method_change_with_http_info(session_token, space, express_checkout_shipping_method_change_request, opts = {})
133
+ if @api_client.config.debugging
134
+ @api_client.config.logger.debug 'Calling API: ExpressCheckoutService.patch_express_checkout_shipping_method_change ...'
135
+ end
136
+ # verify the required parameter 'session_token' is set
137
+ if @api_client.config.client_side_validation && session_token.nil?
138
+ fail ArgumentError, "Missing the required parameter 'session_token' when calling ExpressCheckoutService.patch_express_checkout_shipping_method_change"
139
+ end
140
+ # verify the required parameter 'space' is set
141
+ if @api_client.config.client_side_validation && space.nil?
142
+ fail ArgumentError, "Missing the required parameter 'space' when calling ExpressCheckoutService.patch_express_checkout_shipping_method_change"
143
+ end
144
+ # verify the required parameter 'express_checkout_shipping_method_change_request' is set
145
+ if @api_client.config.client_side_validation && express_checkout_shipping_method_change_request.nil?
146
+ fail ArgumentError, "Missing the required parameter 'express_checkout_shipping_method_change_request' when calling ExpressCheckoutService.patch_express_checkout_shipping_method_change"
147
+ end
148
+ # resource path
149
+ local_var_path = '/express-checkout/shipping/method-change'
150
+
151
+ # query parameters
152
+ query_params = opts[:query_params] || {}
153
+ query_params[:'sessionToken'] = session_token
154
+
155
+ # header parameters
156
+ header_params = opts[:header_params] || {}
157
+ # HTTP header 'Accept' (if needed)
158
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
159
+ # HTTP header 'Content-Type'
160
+ content_type = @api_client.select_header_content_type(['application/json'])
161
+ if !content_type.nil?
162
+ header_params['Content-Type'] = content_type
163
+ end
164
+ header_params[:'Space'] = space
165
+
166
+ # form parameters
167
+ form_params = opts[:form_params] || {}
168
+
169
+ # connection timeout
170
+ connection_timeout = @api_client.config.timeout
171
+
172
+ # http body (model)
173
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(express_checkout_shipping_method_change_request)
174
+
175
+ # return_type
176
+ return_type = opts[:debug_return_type] || 'ExpressCheckoutShippingMethodChangeResponse'
177
+
178
+ new_options = opts.merge(
179
+ :operation => :"ExpressCheckoutService.patch_express_checkout_shipping_method_change",
180
+ :header_params => header_params,
181
+ :query_params => query_params,
182
+ :form_params => form_params,
183
+ :body => post_body,
184
+ :return_type => return_type
185
+ )
186
+
187
+ data, status_code, headers = @api_client.call_api(:PATCH.to_sym.downcase, local_var_path, new_options, connection_timeout)
188
+ if @api_client.config.debugging
189
+ @api_client.config.logger.debug "API called: ExpressCheckoutService#patch_express_checkout_shipping_method_change\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}\nConnection Timeout: #{connection_timeout}"
190
+ end
191
+ return data, status_code, headers
192
+ end
193
+
194
+
33
195
  # Create a new Express Checkout Session
34
196
  # @param space [Integer] Specifies the ID of the space the operation should be executed in.
35
197
  # @param express_checkout_session_create [ExpressCheckoutSessionCreate]
@@ -0,0 +1,372 @@
1
+ =begin
2
+ # VR Payment Ruby SDK
3
+ #
4
+ # This library allows to interact with the VR Payment payment service.
5
+ #
6
+ # Copyright owner: Wallee AG
7
+ # Website: https://www.vr-payment.de
8
+ # Developer email: ecosystem-team@wallee.com
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License");
11
+ # you may not use this file except in compliance with the License.
12
+ # You may obtain a copy of the License at
13
+ #
14
+ # http://www.apache.org/licenses/LICENSE-2.0
15
+ #
16
+ # Unless required by applicable law or agreed to in writing, software
17
+ # distributed under the License is distributed on an "AS IS" BASIS,
18
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ # See the License for the specific language governing permissions and
20
+ # limitations under the License.
21
+ =end
22
+
23
+ require 'cgi'
24
+
25
+ module VrpaymentRubySdk
26
+ class PaymentTerminalTransactionSummariesService
27
+ attr_accessor :api_client
28
+
29
+
30
+ def initialize(api_client = ApiClient.default)
31
+ @api_client = api_client
32
+ end
33
+ # List all summaries
34
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
35
+ # @param [Hash] opts the optional parameters
36
+ # @option opts [Integer] :after Set to an object&#39;s ID to retrieve the page of objects coming immediately after the named object.
37
+ # @option opts [Integer] :before Set to an object&#39;s ID to retrieve the page of objects coming immediately before the named object.
38
+ # @option opts [Array<String>] :expand
39
+ # @option opts [Integer] :limit A limit on the number of objects to be returned, between 1 and 100. Default is 10.
40
+ # @option opts [SortingOrder] :order Specify to retrieve objects in chronological (ASC) or reverse chronological (DESC) order.
41
+ # @return [TerminalTransactionSummaryListResponse]
42
+ def get_payment_terminals_transaction_summaries(space, opts = {})
43
+ data, _status_code, _headers = get_payment_terminals_transaction_summaries_with_http_info(space, opts)
44
+ data
45
+ end
46
+
47
+ # List all summaries
48
+
49
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
50
+ # @param [Hash] opts the optional parameters
51
+ # @option opts [Integer] :after Set to an object&#39;s ID to retrieve the page of objects coming immediately after the named object.
52
+ # @option opts [Integer] :before Set to an object&#39;s ID to retrieve the page of objects coming immediately before the named object.
53
+ # @option opts [Array<String>] :expand
54
+ # @option opts [Integer] :limit A limit on the number of objects to be returned, between 1 and 100. Default is 10.
55
+ # @option opts [SortingOrder] :order Specify to retrieve objects in chronological (ASC) or reverse chronological (DESC) order.
56
+ # @return [Array<(TerminalTransactionSummaryListResponse, Integer, Hash)>] TerminalTransactionSummaryListResponse data, response status code and response headers
57
+ def get_payment_terminals_transaction_summaries_with_http_info(space, opts = {})
58
+ if @api_client.config.debugging
59
+ @api_client.config.logger.debug 'Calling API: PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries ...'
60
+ end
61
+ # verify the required parameter 'space' is set
62
+ if @api_client.config.client_side_validation && space.nil?
63
+ fail ArgumentError, "Missing the required parameter 'space' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries"
64
+ end
65
+ if @api_client.config.client_side_validation && !opts[:'after'].nil? && opts[:'after'] < 1
66
+ fail ArgumentError, 'invalid value for "opts[:"after"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries, must be greater than or equal to 1.'
67
+ end
68
+
69
+ if @api_client.config.client_side_validation && !opts[:'before'].nil? && opts[:'before'] < 1
70
+ fail ArgumentError, 'invalid value for "opts[:"before"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries, must be greater than or equal to 1.'
71
+ end
72
+
73
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
74
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries, must be smaller than or equal to 100.'
75
+ end
76
+
77
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
78
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries, must be greater than or equal to 1.'
79
+ end
80
+
81
+ # resource path
82
+ local_var_path = '/payment/terminals/transaction-summaries'
83
+
84
+ # query parameters
85
+ query_params = opts[:query_params] || {}
86
+ query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
87
+ query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
88
+ query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if !opts[:'expand'].nil?
89
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
90
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
91
+
92
+ # header parameters
93
+ header_params = opts[:header_params] || {}
94
+ # HTTP header 'Accept' (if needed)
95
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
96
+ header_params[:'Space'] = space
97
+
98
+ # form parameters
99
+ form_params = opts[:form_params] || {}
100
+
101
+ # connection timeout
102
+ connection_timeout = @api_client.config.timeout
103
+
104
+ # http body (model)
105
+ post_body = opts[:debug_body]
106
+
107
+ # return_type
108
+ return_type = opts[:debug_return_type] || 'TerminalTransactionSummaryListResponse'
109
+
110
+ new_options = opts.merge(
111
+ :operation => :"PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries",
112
+ :header_params => header_params,
113
+ :query_params => query_params,
114
+ :form_params => form_params,
115
+ :body => post_body,
116
+ :return_type => return_type
117
+ )
118
+
119
+ data, status_code, headers = @api_client.call_api(:GET.to_sym.downcase, local_var_path, new_options, connection_timeout)
120
+ if @api_client.config.debugging
121
+ @api_client.config.logger.debug "API called: PaymentTerminalTransactionSummariesService#get_payment_terminals_transaction_summaries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}\nConnection Timeout: #{connection_timeout}"
122
+ end
123
+ return data, status_code, headers
124
+ end
125
+
126
+
127
+ # Retrieve a summary
128
+ # @param id [Integer]
129
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
130
+ # @param [Hash] opts the optional parameters
131
+ # @option opts [Array<String>] :expand
132
+ # @return [PaymentTerminalTransactionSummary]
133
+ def get_payment_terminals_transaction_summaries_id(id, space, opts = {})
134
+ data, _status_code, _headers = get_payment_terminals_transaction_summaries_id_with_http_info(id, space, opts)
135
+ data
136
+ end
137
+
138
+ # Retrieve a summary
139
+
140
+ # @param id [Integer]
141
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
142
+ # @param [Hash] opts the optional parameters
143
+ # @option opts [Array<String>] :expand
144
+ # @return [Array<(PaymentTerminalTransactionSummary, Integer, Hash)>] PaymentTerminalTransactionSummary data, response status code and response headers
145
+ def get_payment_terminals_transaction_summaries_id_with_http_info(id, space, opts = {})
146
+ if @api_client.config.debugging
147
+ @api_client.config.logger.debug 'Calling API: PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id ...'
148
+ end
149
+ # verify the required parameter 'id' is set
150
+ if @api_client.config.client_side_validation && id.nil?
151
+ fail ArgumentError, "Missing the required parameter 'id' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id"
152
+ end
153
+ # verify the required parameter 'space' is set
154
+ if @api_client.config.client_side_validation && space.nil?
155
+ fail ArgumentError, "Missing the required parameter 'space' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id"
156
+ end
157
+ # resource path
158
+ local_var_path = '/payment/terminals/transaction-summaries/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
159
+
160
+ # query parameters
161
+ query_params = opts[:query_params] || {}
162
+ query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if !opts[:'expand'].nil?
163
+
164
+ # header parameters
165
+ header_params = opts[:header_params] || {}
166
+ # HTTP header 'Accept' (if needed)
167
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
168
+ header_params[:'Space'] = space
169
+
170
+ # form parameters
171
+ form_params = opts[:form_params] || {}
172
+
173
+ # connection timeout
174
+ connection_timeout = @api_client.config.timeout
175
+
176
+ # http body (model)
177
+ post_body = opts[:debug_body]
178
+
179
+ # return_type
180
+ return_type = opts[:debug_return_type] || 'PaymentTerminalTransactionSummary'
181
+
182
+ new_options = opts.merge(
183
+ :operation => :"PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id",
184
+ :header_params => header_params,
185
+ :query_params => query_params,
186
+ :form_params => form_params,
187
+ :body => post_body,
188
+ :return_type => return_type
189
+ )
190
+
191
+ data, status_code, headers = @api_client.call_api(:GET.to_sym.downcase, local_var_path, new_options, connection_timeout)
192
+ if @api_client.config.debugging
193
+ @api_client.config.logger.debug "API called: PaymentTerminalTransactionSummariesService#get_payment_terminals_transaction_summaries_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}\nConnection Timeout: #{connection_timeout}"
194
+ end
195
+ return data, status_code, headers
196
+ end
197
+
198
+
199
+ # Retrieve a rendered summary receipt
200
+ # @param id [Integer]
201
+ # @param format [TerminalReceiptFormat] The format specifies how the receipt will be presented in the response.
202
+ # @param width [Integer] The width defines the dimensions for rendering the document. For PDF format, the width is specified in millimeters, while for text format, it represents the number of characters per line.
203
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
204
+ # @param [Hash] opts the optional parameters
205
+ # @return [RenderedTerminalTransactionSummary]
206
+ def get_payment_terminals_transaction_summaries_id_receipt(id, format, width, space, opts = {})
207
+ data, _status_code, _headers = get_payment_terminals_transaction_summaries_id_receipt_with_http_info(id, format, width, space, opts)
208
+ data
209
+ end
210
+
211
+ # Retrieve a rendered summary receipt
212
+
213
+ # @param id [Integer]
214
+ # @param format [TerminalReceiptFormat] The format specifies how the receipt will be presented in the response.
215
+ # @param width [Integer] The width defines the dimensions for rendering the document. For PDF format, the width is specified in millimeters, while for text format, it represents the number of characters per line.
216
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
217
+ # @param [Hash] opts the optional parameters
218
+ # @return [Array<(RenderedTerminalTransactionSummary, Integer, Hash)>] RenderedTerminalTransactionSummary data, response status code and response headers
219
+ def get_payment_terminals_transaction_summaries_id_receipt_with_http_info(id, format, width, space, opts = {})
220
+ if @api_client.config.debugging
221
+ @api_client.config.logger.debug 'Calling API: PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id_receipt ...'
222
+ end
223
+ # verify the required parameter 'id' is set
224
+ if @api_client.config.client_side_validation && id.nil?
225
+ fail ArgumentError, "Missing the required parameter 'id' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id_receipt"
226
+ end
227
+ # verify the required parameter 'format' is set
228
+ if @api_client.config.client_side_validation && format.nil?
229
+ fail ArgumentError, "Missing the required parameter 'format' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id_receipt"
230
+ end
231
+ # verify the required parameter 'width' is set
232
+ if @api_client.config.client_side_validation && width.nil?
233
+ fail ArgumentError, "Missing the required parameter 'width' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id_receipt"
234
+ end
235
+ # verify the required parameter 'space' is set
236
+ if @api_client.config.client_side_validation && space.nil?
237
+ fail ArgumentError, "Missing the required parameter 'space' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id_receipt"
238
+ end
239
+ # resource path
240
+ local_var_path = '/payment/terminals/transaction-summaries/{id}/receipt'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
241
+
242
+ # query parameters
243
+ query_params = opts[:query_params] || {}
244
+ query_params[:'format'] = format
245
+ query_params[:'width'] = width
246
+
247
+ # header parameters
248
+ header_params = opts[:header_params] || {}
249
+ # HTTP header 'Accept' (if needed)
250
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
251
+ header_params[:'Space'] = space
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # connection timeout
257
+ connection_timeout = @api_client.config.timeout
258
+
259
+ # http body (model)
260
+ post_body = opts[:debug_body]
261
+
262
+ # return_type
263
+ return_type = opts[:debug_return_type] || 'RenderedTerminalTransactionSummary'
264
+
265
+ new_options = opts.merge(
266
+ :operation => :"PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_id_receipt",
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :return_type => return_type
272
+ )
273
+
274
+ data, status_code, headers = @api_client.call_api(:GET.to_sym.downcase, local_var_path, new_options, connection_timeout)
275
+ if @api_client.config.debugging
276
+ @api_client.config.logger.debug "API called: PaymentTerminalTransactionSummariesService#get_payment_terminals_transaction_summaries_id_receipt\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}\nConnection Timeout: #{connection_timeout}"
277
+ end
278
+ return data, status_code, headers
279
+ end
280
+
281
+
282
+ # Search summaries
283
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
284
+ # @param [Hash] opts the optional parameters
285
+ # @option opts [Array<String>] :expand
286
+ # @option opts [Integer] :limit A limit on the number of objects to be returned, between 1 and 100. Default is 10.
287
+ # @option opts [Integer] :offset A cursor for pagination, specifies the number of objects to skip.
288
+ # @option opts [String] :order The fields and order to sort the objects by.
289
+ # @option opts [String] :query The search query to filter the objects by.
290
+ # @return [TerminalTransactionSummarySearchResponse]
291
+ def get_payment_terminals_transaction_summaries_search(space, opts = {})
292
+ data, _status_code, _headers = get_payment_terminals_transaction_summaries_search_with_http_info(space, opts)
293
+ data
294
+ end
295
+
296
+ # Search summaries
297
+
298
+ # @param space [Integer] Specifies the ID of the space the operation should be executed in.
299
+ # @param [Hash] opts the optional parameters
300
+ # @option opts [Array<String>] :expand
301
+ # @option opts [Integer] :limit A limit on the number of objects to be returned, between 1 and 100. Default is 10.
302
+ # @option opts [Integer] :offset A cursor for pagination, specifies the number of objects to skip.
303
+ # @option opts [String] :order The fields and order to sort the objects by.
304
+ # @option opts [String] :query The search query to filter the objects by.
305
+ # @return [Array<(TerminalTransactionSummarySearchResponse, Integer, Hash)>] TerminalTransactionSummarySearchResponse data, response status code and response headers
306
+ def get_payment_terminals_transaction_summaries_search_with_http_info(space, opts = {})
307
+ if @api_client.config.debugging
308
+ @api_client.config.logger.debug 'Calling API: PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_search ...'
309
+ end
310
+ # verify the required parameter 'space' is set
311
+ if @api_client.config.client_side_validation && space.nil?
312
+ fail ArgumentError, "Missing the required parameter 'space' when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_search"
313
+ end
314
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
315
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_search, must be smaller than or equal to 100.'
316
+ end
317
+
318
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
319
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_search, must be greater than or equal to 1.'
320
+ end
321
+
322
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] > 10000
323
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_search, must be smaller than or equal to 10000.'
324
+ end
325
+
326
+ # resource path
327
+ local_var_path = '/payment/terminals/transaction-summaries/search'
328
+
329
+ # query parameters
330
+ query_params = opts[:query_params] || {}
331
+ query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if !opts[:'expand'].nil?
332
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
333
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
334
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
335
+ query_params[:'query'] = opts[:'query'] if !opts[:'query'].nil?
336
+
337
+ # header parameters
338
+ header_params = opts[:header_params] || {}
339
+ # HTTP header 'Accept' (if needed)
340
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
341
+ header_params[:'Space'] = space
342
+
343
+ # form parameters
344
+ form_params = opts[:form_params] || {}
345
+
346
+ # connection timeout
347
+ connection_timeout = @api_client.config.timeout
348
+
349
+ # http body (model)
350
+ post_body = opts[:debug_body]
351
+
352
+ # return_type
353
+ return_type = opts[:debug_return_type] || 'TerminalTransactionSummarySearchResponse'
354
+
355
+ new_options = opts.merge(
356
+ :operation => :"PaymentTerminalTransactionSummariesService.get_payment_terminals_transaction_summaries_search",
357
+ :header_params => header_params,
358
+ :query_params => query_params,
359
+ :form_params => form_params,
360
+ :body => post_body,
361
+ :return_type => return_type
362
+ )
363
+
364
+ data, status_code, headers = @api_client.call_api(:GET.to_sym.downcase, local_var_path, new_options, connection_timeout)
365
+ if @api_client.config.debugging
366
+ @api_client.config.logger.debug "API called: PaymentTerminalTransactionSummariesService#get_payment_terminals_transaction_summaries_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}\nConnection Timeout: #{connection_timeout}"
367
+ end
368
+ return data, status_code, headers
369
+ end
370
+
371
+ end
372
+ end
@@ -113,7 +113,7 @@ module VrpaymentRubySdk
113
113
  public_key = CACHE[public_key_id]
114
114
  else
115
115
  fetched_key, = get_webhooks_encryption_keys_id_with_http_info(public_key_id)
116
- raise VRPaymentSdkException.new(ErrorCode::UNKNOWN_WEBHOOK_ENCRYPTION_PUBLIC_KEY,
116
+ raise VRPaymentSdkException.new(SdkExceptionErrorCodes::UNKNOWN_WEBHOOK_ENCRYPTION_PUBLIC_KEY,
117
117
  "Could not retrieve public key with ID: #{public_key_id}") if fetched_key.nil? || fetched_key.strip.empty?
118
118
 
119
119
  CACHE[public_key_id] = fetched_key
@@ -127,7 +127,7 @@ module VrpaymentRubySdk
127
127
  signature_algorithm
128
128
  )
129
129
  else
130
- raise VRPaymentSdkException.new(ErrorCode::INVALID_WEBHOOK_ENCRYPTION_HEADER_FORMAT,
130
+ raise VRPaymentSdkException.new(SdkExceptionErrorCodes::INVALID_WEBHOOK_ENCRYPTION_HEADER_FORMAT,
131
131
  "Invalid webhook encryption header format. Expected format: 'algorithm=<algorithm>, keyId=<keyId>, signature=<signature>'")
132
132
  end
133
133
  end
@@ -29,14 +29,14 @@ module VrpaymentRubySdk
29
29
 
30
30
  if encryption_algorithm.nil? || encryption_algorithm.empty?
31
31
  raise VRPaymentSdkException.new(
32
- ErrorCode::MISSING_WEBHOOK_ENCRYPTION_ALGORYTHM,
32
+ SdkExceptionErrorCodes::MISSING_WEBHOOK_ENCRYPTION_ALGORYTHM,
33
33
  "Webhook signature algorithm was not provided"
34
34
  )
35
35
  end
36
36
 
37
37
  algorithm_class = get_algorithm_class(encryption_algorithm)
38
38
  if algorithm_class.nil?
39
- raise WalleeSdkException.new(ErrorCode::UNSUPPORTED_WEBHOOK_ENCRYPTION_ALGORYTHM,
39
+ raise WalleeSdkException.new(SdkExceptionErrorCodes::UNSUPPORTED_WEBHOOK_ENCRYPTION_ALGORYTHM,
40
40
  "Unsupported webhook signature algorithm: '#{encryption_algorithm}'. " \
41
41
  "This may indicate that the REST API is using a new encryption algorithm for webhooks. " \
42
42
  "Please check whether a newer version of the SDK is available.")
@@ -45,20 +45,20 @@ module VrpaymentRubySdk
45
45
  begin
46
46
  signature = Base64.decode64(signature)
47
47
  rescue ArgumentError
48
- raise VRPaymentSdkException.new(ErrorCode::INVALID_WEBHOOK_ENCRYPTION_CONTENT_SIGNATURE, 'Invalid signature value format')
48
+ raise VRPaymentSdkException.new(SdkExceptionErrorCodes::INVALID_WEBHOOK_ENCRYPTION_CONTENT_SIGNATURE, 'Invalid signature value format')
49
49
  end
50
50
 
51
51
  begin
52
52
  public_key_bytes = Base64.decode64(public_key)
53
53
  rescue ArgumentError
54
- raise VRPaymentSdkException.new(ErrorCode::INVALID_WEBHOOK_ENCRYPTION_PUBLIC_KEY, 'Invalid public key value format')
54
+ raise VRPaymentSdkException.new(SdkExceptionErrorCodes::INVALID_WEBHOOK_ENCRYPTION_PUBLIC_KEY, 'Invalid public key value format')
55
55
  end
56
56
 
57
57
  begin
58
58
  public_key = OpenSSL::PKey.read(public_key_bytes)
59
59
  rescue OpenSSL::PKey::PKeyError
60
60
  raise VRPaymentSdkException.new(
61
- ErrorCode::INVALID_WEBHOOK_ENCRYPTION_PUBLIC_KEY,
61
+ SdkExceptionErrorCodes::INVALID_WEBHOOK_ENCRYPTION_PUBLIC_KEY,
62
62
  'Invalid public key: unsupported or unparseable format'
63
63
  )
64
64
  end
@@ -21,5 +21,5 @@
21
21
  =end
22
22
 
23
23
  module VrpaymentRubySdk
24
- VERSION = '6.2.0'
24
+ VERSION = '6.4.0'
25
25
  end
@@ -20,42 +20,11 @@
20
20
  # limitations under the License.
21
21
  =end
22
22
 
23
- # The `ErrorCode` module defines potential error codes that may be raised by the VRPayment SDK.
24
- #
25
- # ## Error Code Ranges:
26
- # - **1000–1999**: Client-side errors – typically due to invalid input (e.g., malformed headers, bad keys).
27
- # - **2000–2999**: Server-side errors – typically due to incorrect data provided by the server.
28
- # - **404**: Not Found – used when an endpoint returns an empty response.
29
- #
30
- module ErrorCode
31
- # 404
32
- UNKNOWN_WEBHOOK_ENCRYPTION_PUBLIC_KEY = { code: 404, description: "Unknown webhook signature public key" }
33
-
34
- # 1000–1999
35
- WEBHOOK_ENCRYPTION_GENERAL_ERROR = { code: 1000, description: "General webhook encryption error" }
36
- INVALID_WEBHOOK_ENCRYPTION_PUBLIC_KEY = { code: 1001, description: "Invalid webhook signature public key" }
37
- INVALID_WEBHOOK_ENCRYPTION_HEADER_FORMAT = { code: 1002, description: "Invalid webhook signature header" }
38
- UNSUPPORTED_WEBHOOK_ENCRYPTION_ALGORYTHM = { code: 1003, description: "Unsupported webhook signature algorithm" }
39
- UNKNOWN_WEBHOOK_ENCRYPTION_PROVIDER = { code: 1004, description: "Unknown webhook encryption provider" }
40
- WEBHOOK_ENCRYPTION_VERIFIER_INIT_ERROR = { code: 1005, description: "Encryption verifier initialization error" }
41
- WEBHOOK_ENCRYPTION_VERIFIER_CONTENT_UPDATE_ERROR = { code: 1006, description: "Error during content update in encryption verifier" }
42
- WEBHOOK_ENCRYPTION_SIGNATURE_VERIFICATION_FAILED = { code: 1007, description: "Encryption signature verification failed" }
43
- INVALID_WEBHOOK_ENCRYPTION_CONTENT_SIGNATURE = { code: 1008, description: "Invalid webhook content signature" }
44
-
45
- # 2000–2999
46
- MISSING_WEBHOOK_ENCRYPTION_ALGORYTHM = { code: 2000, description: "Missing webhook signature algorithm value" }
47
-
48
- def self.to_s(error)
49
- "#{error[:code]}: #{error[:description]}"
50
- end
51
- end
52
-
53
23
  class VRPaymentSdkException < StandardError
54
24
  attr_reader :code
55
25
 
56
26
  def initialize(code, message)
57
27
  @code = code
58
- full_message = "Error code: #{code[:code]}. #{message}"
59
- super(full_message)
28
+ super("Error code: #{code}. #{message}")
60
29
  end
61
- end
30
+ end