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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -11
  3. data/acquiring-sdk-ruby.gemspec +11 -9
  4. data/lib/worldline/acquiring/sdk/authentication/oauth2_scopes.rb +8 -1
  5. data/lib/worldline/acquiring/sdk/communication/metadata_provider.rb +1 -1
  6. data/lib/worldline/acquiring/sdk/communicator.rb +3 -3
  7. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/cardrefunds/get_refund_params.rb +1 -1
  8. data/lib/worldline/acquiring/sdk/v1/disputedocuments/dispute_documents_client.rb +89 -0
  9. data/lib/worldline/acquiring/sdk/v1/disputedocuments/upload_dispute_document_request.rb +30 -0
  10. data/lib/worldline/acquiring/sdk/v1/disputedocuments.rb +4 -0
  11. data/lib/worldline/acquiring/sdk/v1/disputeentries/dispute_entries_client.rb +56 -0
  12. data/lib/worldline/acquiring/sdk/v1/disputeentries.rb +4 -0
  13. data/lib/worldline/acquiring/sdk/v1/disputemanagement/dispute_management_client.rb +152 -0
  14. data/lib/worldline/acquiring/sdk/v1/disputemanagement/get_dispute_params.rb +30 -0
  15. data/lib/worldline/acquiring/sdk/v1/disputemanagement.rb +4 -0
  16. data/lib/worldline/acquiring/sdk/v1/domain/accept_dispute_liability_request.rb +48 -0
  17. data/lib/worldline/acquiring/sdk/v1/domain/aes_ukpt_pin_encryption_data.rb +57 -0
  18. data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request.rb +9 -0
  19. data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request_for_refund.rb +9 -0
  20. data/lib/worldline/acquiring/sdk/v1/domain/by_acquirer_ids.rb +54 -0
  21. data/lib/worldline/acquiring/sdk/v1/domain/by_merchant_ids.rb +55 -0
  22. data/lib/worldline/acquiring/sdk/v1/domain/by_merchant_root_ids.rb +55 -0
  23. data/lib/worldline/acquiring/sdk/v1/domain/capture_point_of_sale_data.rb +39 -0
  24. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_refund.rb +9 -0
  25. data/lib/worldline/acquiring/sdk/v1/domain/customer_service_data.rb +48 -0
  26. data/lib/worldline/acquiring/sdk/v1/domain/date_range.rb +43 -0
  27. data/lib/worldline/acquiring/sdk/v1/domain/date_time_range.rb +55 -0
  28. data/lib/worldline/acquiring/sdk/v1/domain/dispute_case.rb +144 -0
  29. data/lib/worldline/acquiring/sdk/v1/domain/dispute_case_with_entries.rb +39 -0
  30. data/lib/worldline/acquiring/sdk/v1/domain/dispute_date_time_data.rb +57 -0
  31. data/lib/worldline/acquiring/sdk/v1/domain/dispute_document.rb +48 -0
  32. data/lib/worldline/acquiring/sdk/v1/domain/dispute_document_id_item.rb +34 -0
  33. data/lib/worldline/acquiring/sdk/v1/domain/dispute_entry.rb +142 -0
  34. data/lib/worldline/acquiring/sdk/v1/domain/dispute_entry_resources.rb +55 -0
  35. data/lib/worldline/acquiring/sdk/v1/domain/dispute_entry_with_dispute_summary.rb +43 -0
  36. data/lib/worldline/acquiring/sdk/v1/domain/dispute_merchant_data.rb +55 -0
  37. data/lib/worldline/acquiring/sdk/v1/domain/dispute_merchant_data_base.rb +48 -0
  38. data/lib/worldline/acquiring/sdk/v1/domain/dispute_references.rb +41 -0
  39. data/lib/worldline/acquiring/sdk/v1/domain/dispute_response.rb +43 -0
  40. data/lib/worldline/acquiring/sdk/v1/domain/dispute_summary.rb +80 -0
  41. data/lib/worldline/acquiring/sdk/v1/domain/dukpt_pin_encryption_data.rb +50 -0
  42. data/lib/worldline/acquiring/sdk/v1/domain/merchant_data.rb +30 -0
  43. data/lib/worldline/acquiring/sdk/v1/domain/merchant_id_item.rb +41 -0
  44. data/lib/worldline/acquiring/sdk/v1/domain/merchant_root_id_item.rb +41 -0
  45. data/lib/worldline/acquiring/sdk/v1/domain/merchant_scope.rb +36 -0
  46. data/lib/worldline/acquiring/sdk/v1/domain/online_pin_data.rb +50 -0
  47. data/lib/worldline/acquiring/sdk/v1/domain/original_transaction_data.rb +97 -0
  48. data/lib/worldline/acquiring/sdk/v1/domain/original_transaction_references.rb +41 -0
  49. data/lib/worldline/acquiring/sdk/v1/domain/original_transaction_summary_data.rb +66 -0
  50. data/lib/worldline/acquiring/sdk/v1/domain/pagination_request.rb +48 -0
  51. data/lib/worldline/acquiring/sdk/v1/domain/pagination_response.rb +48 -0
  52. data/lib/worldline/acquiring/sdk/v1/domain/payment_method_data.rb +34 -0
  53. data/lib/worldline/acquiring/sdk/v1/domain/payment_method_data_base.rb +48 -0
  54. data/lib/worldline/acquiring/sdk/v1/domain/pin_encryption_data.rb +36 -0
  55. data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data.rb +7 -12
  56. data/lib/worldline/acquiring/sdk/v1/domain/search_dispute_entries_request.rb +104 -0
  57. data/lib/worldline/acquiring/sdk/v1/domain/search_disputes_request.rb +179 -0
  58. data/lib/worldline/acquiring/sdk/v1/domain/search_disputes_response.rb +55 -0
  59. data/lib/worldline/acquiring/sdk/v1/domain/signed_amount_data.rb +55 -0
  60. data/lib/worldline/acquiring/sdk/v1/domain/submit_evidence_request.rb +69 -0
  61. data/lib/worldline/acquiring/sdk/v1/domain/terminal_data.rb +7 -0
  62. data/lib/worldline/acquiring/sdk/v1/domain/transaction_references_base.rb +48 -0
  63. data/lib/worldline/acquiring/sdk/v1/domain/transaction_references_dispute.rb +76 -0
  64. data/lib/worldline/acquiring/sdk/v1/domain/upload_document_response.rb +41 -0
  65. data/lib/worldline/acquiring/sdk/v1/domain/zpk_pin_encryption_data.rb +50 -0
  66. data/lib/worldline/acquiring/sdk/v1/v1_client.rb +24 -0
  67. metadata +104 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8041ddd7561cc302b3a967da4a2a3701b75a03ec5560e527937ec6eaa9fdf9d1
4
- data.tar.gz: 636c5df9c914fa5948a54f4858bf7441061881db7cbf82dbbe004f3ffd98376f
3
+ metadata.gz: e630894f879bf0934f8f276d7b8067e044d783c173a14474598371b6adb062f9
4
+ data.tar.gz: b66dd4f3884f5282c973fda9355f397cf2e7b16a86d00f9a97a43c1b06189faa
5
5
  SHA512:
6
- metadata.gz: e411a7611e8ccc226fd58993d96f322406e3a1db1a1581bd9a6393172475c86dcfa86a2d110bd4e47e49cd4058f60520b05a427e08d067c3672ff96765a55d1c
7
- data.tar.gz: 35f03a8815c59a3f64f4de56ecc96a37fce13cf64a679a403d744713ab70e35059344495bb0193bab85259973b76266d4565686373b4dfb65e6c323f10c64e1e
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.3 or higher is required.
28
- As for JRuby, version 9.0.0.0 and higher are supported.
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.8 or higher
32
- * [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) 1.0 or higher
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/) 12.3.3 or higher
92
- * [rspec](https://github.com/rspec/rspec) 3.5 or higher
93
- * [webmock](https://github.com/bblimke/webmock) 2.1 or higher
94
- * [sinatra](https://github.com/sinatra/sinatra) 2.1 or higher
95
- * [webrick](https://github.com/ruby/webrick) 1.7 or higher
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/) 12.3.3 or higher
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:
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'acquiring-sdk-ruby'
3
- spec.version = '2.0.0'
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.0'
18
+ spec.required_ruby_version = '>= 3.2'
19
19
 
20
- spec.add_dependency 'httpclient', '~> 2.8'
21
- spec.add_dependency 'concurrent-ruby', '~>1.0'
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.5'
25
- spec.add_development_dependency 'webmock', '~> 2.1'
26
- spec.add_development_dependency 'sinatra', '~> 2.1'
27
- spec.add_development_dependency 'webrick', '~> 1.7'
28
- spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
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 = '2.0.0'.freeze
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(response.headers, context) unless context.nil?
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,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'disputedocuments', '*.rb')].each { |f| require f }
@@ -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,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'disputeentries', '*.rb')].each { |f| require f }
@@ -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,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'disputemanagement', '*.rb')].each { |f| require f }
@@ -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