acquiring-sdk-ruby 2.0.0 → 4.0.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.
- checksums.yaml +4 -4
- data/README.md +13 -11
- data/acquiring-sdk-ruby.gemspec +11 -9
- data/lib/worldline/acquiring/sdk/authentication/oauth2_scopes.rb +8 -1
- data/lib/worldline/acquiring/sdk/communication/metadata_provider.rb +1 -1
- data/lib/worldline/acquiring/sdk/communicator.rb +3 -3
- data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/cardrefunds/get_refund_params.rb +1 -1
- data/lib/worldline/acquiring/sdk/v1/disputedocuments/dispute_documents_client.rb +89 -0
- data/lib/worldline/acquiring/sdk/v1/disputedocuments/upload_dispute_document_request.rb +30 -0
- data/lib/worldline/acquiring/sdk/v1/disputedocuments.rb +4 -0
- data/lib/worldline/acquiring/sdk/v1/disputeentries/dispute_entries_client.rb +56 -0
- data/lib/worldline/acquiring/sdk/v1/disputeentries.rb +4 -0
- data/lib/worldline/acquiring/sdk/v1/disputemanagement/dispute_management_client.rb +152 -0
- data/lib/worldline/acquiring/sdk/v1/disputemanagement/get_dispute_params.rb +30 -0
- data/lib/worldline/acquiring/sdk/v1/disputemanagement.rb +4 -0
- data/lib/worldline/acquiring/sdk/v1/domain/accept_dispute_liability_request.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/aes_ukpt_pin_encryption_data.rb +57 -0
- data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request.rb +9 -0
- data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request_for_refund.rb +9 -0
- data/lib/worldline/acquiring/sdk/v1/domain/by_acquirer_ids.rb +54 -0
- data/lib/worldline/acquiring/sdk/v1/domain/by_merchant_ids.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/by_merchant_root_ids.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/capture_point_of_sale_data.rb +39 -0
- data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_refund.rb +9 -0
- data/lib/worldline/acquiring/sdk/v1/domain/customer_service_data.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/date_range.rb +43 -0
- data/lib/worldline/acquiring/sdk/v1/domain/date_time_range.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_case.rb +144 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_case_with_entries.rb +39 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_date_time_data.rb +57 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_document.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_document_id_item.rb +34 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_entry.rb +142 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_entry_resources.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_entry_with_dispute_summary.rb +43 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_merchant_data.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_merchant_data_base.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_references.rb +41 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_response.rb +43 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dispute_summary.rb +80 -0
- data/lib/worldline/acquiring/sdk/v1/domain/dukpt_pin_encryption_data.rb +50 -0
- data/lib/worldline/acquiring/sdk/v1/domain/merchant_data.rb +30 -0
- data/lib/worldline/acquiring/sdk/v1/domain/merchant_id_item.rb +41 -0
- data/lib/worldline/acquiring/sdk/v1/domain/merchant_root_id_item.rb +41 -0
- data/lib/worldline/acquiring/sdk/v1/domain/merchant_scope.rb +36 -0
- data/lib/worldline/acquiring/sdk/v1/domain/online_pin_data.rb +50 -0
- data/lib/worldline/acquiring/sdk/v1/domain/original_transaction_data.rb +97 -0
- data/lib/worldline/acquiring/sdk/v1/domain/original_transaction_references.rb +41 -0
- data/lib/worldline/acquiring/sdk/v1/domain/original_transaction_summary_data.rb +66 -0
- data/lib/worldline/acquiring/sdk/v1/domain/pagination_request.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/pagination_response.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/payment_method_data.rb +34 -0
- data/lib/worldline/acquiring/sdk/v1/domain/payment_method_data_base.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/pin_encryption_data.rb +36 -0
- data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data.rb +7 -12
- data/lib/worldline/acquiring/sdk/v1/domain/search_dispute_entries_request.rb +104 -0
- data/lib/worldline/acquiring/sdk/v1/domain/search_disputes_request.rb +179 -0
- data/lib/worldline/acquiring/sdk/v1/domain/search_disputes_response.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/signed_amount_data.rb +55 -0
- data/lib/worldline/acquiring/sdk/v1/domain/submit_evidence_request.rb +69 -0
- data/lib/worldline/acquiring/sdk/v1/domain/terminal_data.rb +7 -0
- data/lib/worldline/acquiring/sdk/v1/domain/transaction_references_base.rb +48 -0
- data/lib/worldline/acquiring/sdk/v1/domain/transaction_references_dispute.rb +76 -0
- data/lib/worldline/acquiring/sdk/v1/domain/upload_document_response.rb +41 -0
- data/lib/worldline/acquiring/sdk/v1/domain/zpk_pin_encryption_data.rb +50 -0
- data/lib/worldline/acquiring/sdk/v1/v1_client.rb +24 -0
- metadata +104 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e630894f879bf0934f8f276d7b8067e044d783c173a14474598371b6adb062f9
|
|
4
|
+
data.tar.gz: b66dd4f3884f5282c973fda9355f397cf2e7b16a86d00f9a97a43c1b06189faa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0ab66f1faffb4963b62dcd7403296bf87eafa4216ae8b19170eae704d410101aeb887a0053679a0ad32b67670cd1cd16e62f3a9bda725a44bb49889502d7a22a
|
|
7
|
+
data.tar.gz: 2fb8478924d01047d83184e30b084dc43da0526a5f956c7797a0bded277ebb8d7a0fb5313eccbc706e9e9427d4fd939dd1a4ec2e12421f0dc14f0aacdcd8d325
|
data/README.md
CHANGED
|
@@ -24,12 +24,13 @@ Note that the source code of the unit tests and integration tests can only be fo
|
|
|
24
24
|
|
|
25
25
|
## Requirements
|
|
26
26
|
|
|
27
|
-
Ruby 2
|
|
28
|
-
As for JRuby, version
|
|
27
|
+
Ruby 3.2 or higher is required.
|
|
28
|
+
As for JRuby, version 10.0.0.0 and higher are supported.
|
|
29
29
|
In addition, the following packages are required:
|
|
30
30
|
|
|
31
|
-
* [httpclient](https://github.com/nahi/httpclient) 2.
|
|
32
|
-
* [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) 1.
|
|
31
|
+
* [httpclient](https://github.com/nahi/httpclient) 2.9 or higher
|
|
32
|
+
* [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) 1.3.5 or higher
|
|
33
|
+
* [base64](https://github.com/ruby/base64) 0.3 or higher
|
|
33
34
|
|
|
34
35
|
## Installation
|
|
35
36
|
|
|
@@ -88,15 +89,16 @@ In addition, to run the proxy integration tests, the proxy URI, username and pas
|
|
|
88
89
|
|
|
89
90
|
In order to run the unit and integration tests, some additional dependencies are required:
|
|
90
91
|
|
|
91
|
-
* [rake](https://ruby.github.io/rake/)
|
|
92
|
-
* [rspec](https://github.com/rspec/rspec) 3.
|
|
93
|
-
* [webmock](https://github.com/bblimke/webmock)
|
|
94
|
-
* [sinatra](https://github.com/sinatra/sinatra) 2
|
|
95
|
-
* [webrick](https://github.com/ruby/webrick) 1.
|
|
92
|
+
* [rake](https://ruby.github.io/rake/) 13.4 or higher
|
|
93
|
+
* [rspec](https://github.com/rspec/rspec) 3.13 or higher
|
|
94
|
+
* [webmock](https://github.com/bblimke/webmock) 3.26 or higher
|
|
95
|
+
* [sinatra](https://github.com/sinatra/sinatra) 4.2 or higher
|
|
96
|
+
* [webrick](https://github.com/ruby/webrick) 1.9 or higher
|
|
97
|
+
* [rackup](https://github.com/rack/rackup) 2.2 or higher
|
|
96
98
|
|
|
97
99
|
They can be installed using the following command:
|
|
98
100
|
|
|
99
|
-
gem install rake rspec webmock sinatra
|
|
101
|
+
gem install rake rspec webmock sinatra webrick rackup
|
|
100
102
|
|
|
101
103
|
*Note: if rake is already installed as part of the Ruby installation, this will cause a conflict error. This can safely be ignored.*
|
|
102
104
|
|
|
@@ -124,7 +126,7 @@ The following commands can now be executed from the root directory of the SDK fo
|
|
|
124
126
|
|
|
125
127
|
Documentation can be generated with YARD. YARD can be installed as a gem. The gems required to generate documentation are:
|
|
126
128
|
|
|
127
|
-
* [rake](https://ruby.github.io/rake/)
|
|
129
|
+
* [rake](https://ruby.github.io/rake/) 13.4 or higher
|
|
128
130
|
* [yard](https://github.com/lsegal/yard) 0.9.5 or higher
|
|
129
131
|
|
|
130
132
|
They can be installed using the following command:
|
data/acquiring-sdk-ruby.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |spec|
|
|
2
2
|
spec.name = 'acquiring-sdk-ruby'
|
|
3
|
-
spec.version = '
|
|
3
|
+
spec.version = '4.0.0'
|
|
4
4
|
spec.authors = ['Worldline Acquiring']
|
|
5
5
|
spec.email = ['github.acquiring@worldline.com']
|
|
6
6
|
spec.summary = %q{SDK to communicate with the Worldline Acquiring platform using the Worldline Acquiring API}
|
|
@@ -15,16 +15,18 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)\/})
|
|
16
16
|
spec.require_paths = ['lib']
|
|
17
17
|
|
|
18
|
-
spec.required_ruby_version = '>= 2
|
|
18
|
+
spec.required_ruby_version = '>= 3.2'
|
|
19
19
|
|
|
20
|
-
spec.add_dependency 'httpclient', '~> 2.
|
|
21
|
-
spec.add_dependency 'concurrent-ruby', '~>1.
|
|
20
|
+
spec.add_dependency 'httpclient', '~> 2.9'
|
|
21
|
+
spec.add_dependency 'concurrent-ruby', '~> 1.3', '>= 1.3.5'
|
|
22
|
+
spec.add_dependency 'base64', '~> 0.3'
|
|
22
23
|
|
|
23
24
|
spec.add_development_dependency 'yard', '~> 0.9'
|
|
24
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
|
25
|
-
spec.add_development_dependency 'webmock', '~>
|
|
26
|
-
spec.add_development_dependency 'sinatra', '~> 2
|
|
27
|
-
spec.add_development_dependency 'webrick', '~> 1.
|
|
28
|
-
spec.add_development_dependency '
|
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.13'
|
|
26
|
+
spec.add_development_dependency 'webmock', '~> 3.26'
|
|
27
|
+
spec.add_development_dependency 'sinatra', '~> 4.2'
|
|
28
|
+
spec.add_development_dependency 'webrick', '~> 1.9'
|
|
29
|
+
spec.add_development_dependency 'rackup', '~> 2.2'
|
|
30
|
+
spec.add_development_dependency 'rake', '~> 13.4'
|
|
29
31
|
# spec.metadata['yard.run'] = 'yri' # compiles yard doc on install
|
|
30
32
|
end
|
|
@@ -24,7 +24,14 @@ module Worldline
|
|
|
24
24
|
"processBalanceInquiry" => ["processing_balanceinquiry"],
|
|
25
25
|
"technicalReversal" => ["processing_operation_reverse"],
|
|
26
26
|
"requestDccRate" => ["processing_dcc_rate"],
|
|
27
|
-
"ping" => ["services_ping"]
|
|
27
|
+
"ping" => ["services_ping"],
|
|
28
|
+
"searchDisputes" => ["disputes_retrieve"],
|
|
29
|
+
"getDispute" => ["disputes_retrieve"],
|
|
30
|
+
"acceptDisputeLiability" => ["disputes_manage"],
|
|
31
|
+
"submitEvidence" => ["disputes_manage"],
|
|
32
|
+
"uploadDisputeDocument" => ["disputes_manage"],
|
|
33
|
+
"getDisputeDocument" => ["disputes_retrieve"],
|
|
34
|
+
"searchDisputeEntries" => ["disputes_retrieve"]
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
|
|
@@ -14,7 +14,7 @@ module Worldline
|
|
|
14
14
|
class MetadataProvider
|
|
15
15
|
private
|
|
16
16
|
|
|
17
|
-
SDK_VERSION = '
|
|
17
|
+
SDK_VERSION = '4.0.0'.freeze
|
|
18
18
|
SERVER_META_INFO_HEADER = 'X-WL-ServerMetaInfo'.freeze
|
|
19
19
|
PROHIBITED_HEADERS = [SERVER_META_INFO_HEADER, 'Date', 'Content-Type', 'Authorization'].sort!.freeze
|
|
20
20
|
CHARSET = 'utf-8'.freeze
|
|
@@ -366,13 +366,13 @@ module Worldline
|
|
|
366
366
|
# Closes any connections idle for more than _idle_time_ seconds.
|
|
367
367
|
# Will not have any effect if the connection is not a pooled connection (an instance of {Worldline::Acquiring::SDK::Communication::PooledConnection}).
|
|
368
368
|
def close_idle_connections(idle_time)
|
|
369
|
-
@connection.close_idle_connections(idle_time) if @connection.is_a? PooledConnection
|
|
369
|
+
@connection.close_idle_connections(idle_time) if @connection.is_a? Communication::PooledConnection
|
|
370
370
|
end
|
|
371
371
|
|
|
372
372
|
# Closes any connections that have expired.
|
|
373
373
|
# Will not have any effect if the connection is not a pooled connection (an instance of {Worldline::Acquiring::SDK::Communication::PooledConnection}).
|
|
374
374
|
def close_expired_connections
|
|
375
|
-
@connection.close_expired_connections if @connection.is_a? PooledConnection
|
|
375
|
+
@connection.close_expired_connections if @connection.is_a? Communication::PooledConnection
|
|
376
376
|
end
|
|
377
377
|
|
|
378
378
|
# Sets the current body obfuscator to use.
|
|
@@ -460,7 +460,7 @@ module Worldline
|
|
|
460
460
|
end
|
|
461
461
|
|
|
462
462
|
def process_binary_response(status, body, headers, context)
|
|
463
|
-
update_context(
|
|
463
|
+
update_context(headers, context) unless context.nil?
|
|
464
464
|
|
|
465
465
|
if status < 400
|
|
466
466
|
yield headers, body
|
|
@@ -21,7 +21,7 @@ module Worldline
|
|
|
21
21
|
# @return [Array<Worldline::Acquiring::SDK::Communication::RequestParam>] representing the attributes of this class
|
|
22
22
|
def to_request_parameters
|
|
23
23
|
result = []
|
|
24
|
-
result << RequestParam.new('returnOperations', @return_operations.to_s) unless @return_operations.nil?
|
|
24
|
+
result << Worldline::Acquiring::SDK::Communication::RequestParam.new('returnOperations', @return_operations.to_s) unless @return_operations.nil?
|
|
25
25
|
result
|
|
26
26
|
end
|
|
27
27
|
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/api_resource'
|
|
5
|
+
require 'worldline/acquiring/sdk/communication/response_exception'
|
|
6
|
+
require 'worldline/acquiring/sdk/v1/exception_factory'
|
|
7
|
+
require 'worldline/acquiring/sdk/v1/domain/api_payment_error_response'
|
|
8
|
+
require 'worldline/acquiring/sdk/v1/domain/upload_document_response'
|
|
9
|
+
|
|
10
|
+
module Worldline
|
|
11
|
+
module Acquiring
|
|
12
|
+
module SDK
|
|
13
|
+
module V1
|
|
14
|
+
module Disputedocuments
|
|
15
|
+
# DisputeDocuments client. Thread-safe.
|
|
16
|
+
class DisputeDocumentsClient < Worldline::Acquiring::SDK::ApiResource
|
|
17
|
+
|
|
18
|
+
# @param parent [Worldline::Acquiring::SDK::ApiResource]
|
|
19
|
+
# @param path_context [Hash, nil]
|
|
20
|
+
def initialize(parent, path_context)
|
|
21
|
+
super(parent: parent, path_context: path_context)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Resource /dispute-management/v1/documents - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Documents/operation/uploadDisputeDocument Upload Dispute Document}
|
|
25
|
+
#
|
|
26
|
+
# @param body [Worldline::Acquiring::SDK::V1::Disputedocuments::UploadDisputeDocumentRequest]
|
|
27
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
28
|
+
# @return [Worldline::Acquiring::SDK::V1::Domain::UploadDocumentResponse]
|
|
29
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
30
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
31
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
32
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
33
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
34
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
35
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
36
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
37
|
+
def upload_dispute_document(body, context = nil)
|
|
38
|
+
uri = instantiate_uri('/dispute-management/v1/documents', nil)
|
|
39
|
+
@communicator.post(
|
|
40
|
+
uri,
|
|
41
|
+
nil,
|
|
42
|
+
nil,
|
|
43
|
+
body,
|
|
44
|
+
Worldline::Acquiring::SDK::V1::Domain::UploadDocumentResponse,
|
|
45
|
+
context)
|
|
46
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
47
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
48
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
49
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Resource /dispute-management/v1/disputes/!{disputeId}/documents/!{documentId} - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Documents/operation/getDisputeDocument Retrieve Dispute Document}
|
|
53
|
+
#
|
|
54
|
+
# @param dispute_id [String]
|
|
55
|
+
# @param document_id [String]
|
|
56
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
57
|
+
# @yield [Array<Worldline::Acquiring::SDK::Communication::ResponseHeader>, IO] The response headers and body.
|
|
58
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
59
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
60
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
61
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
62
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
63
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
64
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
65
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
66
|
+
def get_dispute_document(dispute_id, document_id, context = nil)
|
|
67
|
+
path_context = {
|
|
68
|
+
'disputeId'.freeze => dispute_id,
|
|
69
|
+
'documentId'.freeze => document_id,
|
|
70
|
+
}
|
|
71
|
+
uri = instantiate_uri('/dispute-management/v1/disputes/{disputeId}/documents/{documentId}', path_context)
|
|
72
|
+
@communicator.get_with_binary_response(
|
|
73
|
+
uri,
|
|
74
|
+
nil,
|
|
75
|
+
nil,
|
|
76
|
+
context) do |headers, response_body|
|
|
77
|
+
yield headers, response_body
|
|
78
|
+
end
|
|
79
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
80
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
81
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
82
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/communication/multipart_form_data_object'
|
|
5
|
+
require 'worldline/acquiring/sdk/communication/multipart_form_data_request'
|
|
6
|
+
|
|
7
|
+
module Worldline
|
|
8
|
+
module Acquiring
|
|
9
|
+
module SDK
|
|
10
|
+
module V1
|
|
11
|
+
module Disputedocuments
|
|
12
|
+
# Multipart/form-data parameters for {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Documents/operation/uploadDisputeDocument Upload Dispute Document}
|
|
13
|
+
#
|
|
14
|
+
# @attr [Worldline::Acquiring::SDK::Domain::UploadableFile] file
|
|
15
|
+
class UploadDisputeDocumentRequest < Worldline::Acquiring::SDK::Communication::MultipartFormDataRequest
|
|
16
|
+
|
|
17
|
+
attr_accessor :file
|
|
18
|
+
|
|
19
|
+
# @return [Worldline::Acquiring::SDK::Communication::MultipartFormDataObject] representing the attributes of this class
|
|
20
|
+
def to_multipart_form_data_object
|
|
21
|
+
result = MultipartFormDataObject.new
|
|
22
|
+
result.add_file('file', @file) unless @file.nil?
|
|
23
|
+
result
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/api_resource'
|
|
5
|
+
require 'worldline/acquiring/sdk/communication/response_exception'
|
|
6
|
+
require 'worldline/acquiring/sdk/v1/exception_factory'
|
|
7
|
+
require 'worldline/acquiring/sdk/v1/domain/api_payment_error_response'
|
|
8
|
+
require 'worldline/acquiring/sdk/v1/domain/dispute_entry_resources'
|
|
9
|
+
|
|
10
|
+
module Worldline
|
|
11
|
+
module Acquiring
|
|
12
|
+
module SDK
|
|
13
|
+
module V1
|
|
14
|
+
module Disputeentries
|
|
15
|
+
# DisputeEntries client. Thread-safe.
|
|
16
|
+
class DisputeEntriesClient < Worldline::Acquiring::SDK::ApiResource
|
|
17
|
+
|
|
18
|
+
# @param parent [Worldline::Acquiring::SDK::ApiResource]
|
|
19
|
+
# @param path_context [Hash, nil]
|
|
20
|
+
def initialize(parent, path_context)
|
|
21
|
+
super(parent: parent, path_context: path_context)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Resource /dispute-management/v1/dispute-entries/search - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Entries/operation/searchDisputeEntries Search Dispute Entries}
|
|
25
|
+
#
|
|
26
|
+
# @param body [Worldline::Acquiring::SDK::V1::Domain::SearchDisputeEntriesRequest]
|
|
27
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
28
|
+
# @return [Worldline::Acquiring::SDK::V1::Domain::DisputeEntryResources]
|
|
29
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
30
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
31
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
32
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
33
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
34
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
35
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
36
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
37
|
+
def search_dispute_entries(body, context = nil)
|
|
38
|
+
uri = instantiate_uri('/dispute-management/v1/dispute-entries/search', nil)
|
|
39
|
+
@communicator.post(
|
|
40
|
+
uri,
|
|
41
|
+
nil,
|
|
42
|
+
nil,
|
|
43
|
+
body,
|
|
44
|
+
Worldline::Acquiring::SDK::V1::Domain::DisputeEntryResources,
|
|
45
|
+
context)
|
|
46
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
47
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
48
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
49
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/api_resource'
|
|
5
|
+
require 'worldline/acquiring/sdk/communication/response_exception'
|
|
6
|
+
require 'worldline/acquiring/sdk/v1/exception_factory'
|
|
7
|
+
require 'worldline/acquiring/sdk/v1/domain/api_payment_error_response'
|
|
8
|
+
require 'worldline/acquiring/sdk/v1/domain/dispute_response'
|
|
9
|
+
require 'worldline/acquiring/sdk/v1/domain/search_disputes_response'
|
|
10
|
+
|
|
11
|
+
module Worldline
|
|
12
|
+
module Acquiring
|
|
13
|
+
module SDK
|
|
14
|
+
module V1
|
|
15
|
+
module Disputemanagement
|
|
16
|
+
# DisputeManagement client. Thread-safe.
|
|
17
|
+
class DisputeManagementClient < Worldline::Acquiring::SDK::ApiResource
|
|
18
|
+
|
|
19
|
+
# @param parent [Worldline::Acquiring::SDK::ApiResource]
|
|
20
|
+
# @param path_context [Hash, nil]
|
|
21
|
+
def initialize(parent, path_context)
|
|
22
|
+
super(parent: parent, path_context: path_context)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Resource /dispute-management/v1/disputes/search - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Management/operation/searchDisputes Search Disputes}
|
|
26
|
+
#
|
|
27
|
+
# @param body [Worldline::Acquiring::SDK::V1::Domain::SearchDisputesRequest]
|
|
28
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
29
|
+
# @return [Worldline::Acquiring::SDK::V1::Domain::SearchDisputesResponse]
|
|
30
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
31
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
32
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
33
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
34
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
35
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
36
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
37
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
38
|
+
def search_disputes(body, context = nil)
|
|
39
|
+
uri = instantiate_uri('/dispute-management/v1/disputes/search', nil)
|
|
40
|
+
@communicator.post(
|
|
41
|
+
uri,
|
|
42
|
+
nil,
|
|
43
|
+
nil,
|
|
44
|
+
body,
|
|
45
|
+
Worldline::Acquiring::SDK::V1::Domain::SearchDisputesResponse,
|
|
46
|
+
context)
|
|
47
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
48
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
49
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
50
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Resource /dispute-management/v1/disputes/!{disputeId} - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Management/operation/getDispute Retrieve Dispute}
|
|
54
|
+
#
|
|
55
|
+
# @param dispute_id [String]
|
|
56
|
+
# @param query [Worldline::Acquiring::SDK::V1::Disputemanagement::GetDisputeParams]
|
|
57
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
58
|
+
# @return [Worldline::Acquiring::SDK::V1::Domain::DisputeResponse]
|
|
59
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
60
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
61
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
62
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
63
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
64
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
65
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
66
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
67
|
+
def get_dispute(dispute_id, query, context = nil)
|
|
68
|
+
path_context = {
|
|
69
|
+
'disputeId'.freeze => dispute_id,
|
|
70
|
+
}
|
|
71
|
+
uri = instantiate_uri('/dispute-management/v1/disputes/{disputeId}', path_context)
|
|
72
|
+
@communicator.get(
|
|
73
|
+
uri,
|
|
74
|
+
nil,
|
|
75
|
+
query,
|
|
76
|
+
Worldline::Acquiring::SDK::V1::Domain::DisputeResponse,
|
|
77
|
+
context)
|
|
78
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
79
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
80
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
81
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Resource /dispute-management/v1/disputes/!{disputeId}/accept - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Management/operation/acceptDisputeLiability Accept Liability}
|
|
85
|
+
#
|
|
86
|
+
# @param dispute_id [String]
|
|
87
|
+
# @param body [Worldline::Acquiring::SDK::V1::Domain::AcceptDisputeLiabilityRequest]
|
|
88
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
89
|
+
# @return [Worldline::Acquiring::SDK::V1::Domain::DisputeResponse]
|
|
90
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
91
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
92
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
93
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
94
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
95
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
96
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
97
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
98
|
+
def accept_dispute_liability(dispute_id, body, context = nil)
|
|
99
|
+
path_context = {
|
|
100
|
+
'disputeId'.freeze => dispute_id,
|
|
101
|
+
}
|
|
102
|
+
uri = instantiate_uri('/dispute-management/v1/disputes/{disputeId}/accept', path_context)
|
|
103
|
+
@communicator.post(
|
|
104
|
+
uri,
|
|
105
|
+
nil,
|
|
106
|
+
nil,
|
|
107
|
+
body,
|
|
108
|
+
Worldline::Acquiring::SDK::V1::Domain::DisputeResponse,
|
|
109
|
+
context)
|
|
110
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
111
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
112
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
113
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Resource /dispute-management/v1/disputes/!{disputeId}/submit-evidence - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Management/operation/submitEvidence Submit Evidence}
|
|
117
|
+
#
|
|
118
|
+
# @param dispute_id [String]
|
|
119
|
+
# @param body [Worldline::Acquiring::SDK::V1::Domain::SubmitEvidenceRequest]
|
|
120
|
+
# @param context [Worldline::Acquiring::SDK::CallContext, nil]
|
|
121
|
+
# @return [Worldline::Acquiring::SDK::V1::Domain::DisputeResponse]
|
|
122
|
+
# @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
|
|
123
|
+
# @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
|
|
124
|
+
# @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
|
|
125
|
+
# or there was a conflict (HTTP status code 404, 409 or 410)
|
|
126
|
+
# @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
|
|
127
|
+
# the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
|
|
128
|
+
# or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
|
|
129
|
+
# @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
|
|
130
|
+
def submit_evidence(dispute_id, body, context = nil)
|
|
131
|
+
path_context = {
|
|
132
|
+
'disputeId'.freeze => dispute_id,
|
|
133
|
+
}
|
|
134
|
+
uri = instantiate_uri('/dispute-management/v1/disputes/{disputeId}/submit-evidence', path_context)
|
|
135
|
+
@communicator.post(
|
|
136
|
+
uri,
|
|
137
|
+
nil,
|
|
138
|
+
nil,
|
|
139
|
+
body,
|
|
140
|
+
Worldline::Acquiring::SDK::V1::Domain::DisputeResponse,
|
|
141
|
+
context)
|
|
142
|
+
rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
|
|
143
|
+
error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
|
|
144
|
+
error_object = @communicator.marshaller.unmarshal(e.body, error_type)
|
|
145
|
+
raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/communication/param_request'
|
|
5
|
+
require 'worldline/acquiring/sdk/communication/request_param'
|
|
6
|
+
|
|
7
|
+
module Worldline
|
|
8
|
+
module Acquiring
|
|
9
|
+
module SDK
|
|
10
|
+
module V1
|
|
11
|
+
module Disputemanagement
|
|
12
|
+
# Query parameters for {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dispute-Management/operation/getDispute Retrieve Dispute}
|
|
13
|
+
#
|
|
14
|
+
# @attr [true/false] include_entries
|
|
15
|
+
class GetDisputeParams < Worldline::Acquiring::SDK::Communication::ParamRequest
|
|
16
|
+
|
|
17
|
+
attr_accessor :include_entries
|
|
18
|
+
|
|
19
|
+
# @return [Array<Worldline::Acquiring::SDK::Communication::RequestParam>] representing the attributes of this class
|
|
20
|
+
def to_request_parameters
|
|
21
|
+
result = []
|
|
22
|
+
result << Worldline::Acquiring::SDK::Communication::RequestParam.new('includeEntries', @include_entries.to_s) unless @include_entries.nil?
|
|
23
|
+
result
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/domain/data_object'
|
|
5
|
+
|
|
6
|
+
module Worldline
|
|
7
|
+
module Acquiring
|
|
8
|
+
module SDK
|
|
9
|
+
module V1
|
|
10
|
+
module Domain
|
|
11
|
+
# @attr [true/false] include_entries
|
|
12
|
+
# @attr [String] message_text
|
|
13
|
+
# @attr [String] user_id
|
|
14
|
+
class AcceptDisputeLiabilityRequest < Worldline::Acquiring::SDK::Domain::DataObject
|
|
15
|
+
|
|
16
|
+
attr_accessor :include_entries
|
|
17
|
+
|
|
18
|
+
attr_accessor :message_text
|
|
19
|
+
|
|
20
|
+
attr_accessor :user_id
|
|
21
|
+
|
|
22
|
+
# @return (Hash)
|
|
23
|
+
def to_h
|
|
24
|
+
hash = super
|
|
25
|
+
hash['includeEntries'] = @include_entries unless @include_entries.nil?
|
|
26
|
+
hash['messageText'] = @message_text unless @message_text.nil?
|
|
27
|
+
hash['userId'] = @user_id unless @user_id.nil?
|
|
28
|
+
hash
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def from_hash(hash)
|
|
32
|
+
super
|
|
33
|
+
if hash.has_key? 'includeEntries'
|
|
34
|
+
@include_entries = hash['includeEntries']
|
|
35
|
+
end
|
|
36
|
+
if hash.has_key? 'messageText'
|
|
37
|
+
@message_text = hash['messageText']
|
|
38
|
+
end
|
|
39
|
+
if hash.has_key? 'userId'
|
|
40
|
+
@user_id = hash['userId']
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file was automatically generated.
|
|
3
|
+
#
|
|
4
|
+
require 'worldline/acquiring/sdk/v1/domain/pin_encryption_data'
|
|
5
|
+
|
|
6
|
+
module Worldline
|
|
7
|
+
module Acquiring
|
|
8
|
+
module SDK
|
|
9
|
+
module V1
|
|
10
|
+
module Domain
|
|
11
|
+
# @attr [Integer] key_generation
|
|
12
|
+
# @attr [String] random_value
|
|
13
|
+
class AesUkptPinEncryptionData < Worldline::Acquiring::SDK::V1::Domain::PinEncryptionData
|
|
14
|
+
|
|
15
|
+
PIN_ENCRYPTION_TYPE = 'AES_UKPT'.freeze
|
|
16
|
+
|
|
17
|
+
undef_method :pin_encryption_type=
|
|
18
|
+
|
|
19
|
+
attr_accessor :key_generation
|
|
20
|
+
|
|
21
|
+
attr_accessor :random_value
|
|
22
|
+
|
|
23
|
+
def initialize
|
|
24
|
+
super
|
|
25
|
+
@pin_encryption_type = PIN_ENCRYPTION_TYPE
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @return [String]
|
|
29
|
+
def pin_encryption_type
|
|
30
|
+
PIN_ENCRYPTION_TYPE
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return (Hash)
|
|
34
|
+
def to_h
|
|
35
|
+
hash = super
|
|
36
|
+
hash['keyGeneration'] = @key_generation unless @key_generation.nil?
|
|
37
|
+
hash['randomValue'] = @random_value unless @random_value.nil?
|
|
38
|
+
hash['pinEncryptionType'] = PIN_ENCRYPTION_TYPE
|
|
39
|
+
hash
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def from_hash(hash)
|
|
43
|
+
super
|
|
44
|
+
@pin_encryption_type = PIN_ENCRYPTION_TYPE
|
|
45
|
+
if hash.has_key? 'keyGeneration'
|
|
46
|
+
@key_generation = hash['keyGeneration']
|
|
47
|
+
end
|
|
48
|
+
if hash.has_key? 'randomValue'
|
|
49
|
+
@random_value = hash['randomValue']
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|