acquiring-sdk-ruby 0.1.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 (174) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +140 -0
  5. data/Rakefile +34 -0
  6. data/acquiring-sdk-ruby.gemspec +30 -0
  7. data/lib/worldline/acquiring/sdk/api_resource.rb +53 -0
  8. data/lib/worldline/acquiring/sdk/authentication/authenticator.rb +21 -0
  9. data/lib/worldline/acquiring/sdk/authentication/authorization_type.rb +17 -0
  10. data/lib/worldline/acquiring/sdk/authentication/oauth2_authenticator.rb +142 -0
  11. data/lib/worldline/acquiring/sdk/authentication/oauth2_exception.rb +15 -0
  12. data/lib/worldline/acquiring/sdk/authentication.rb +1 -0
  13. data/lib/worldline/acquiring/sdk/call_context.rb +9 -0
  14. data/lib/worldline/acquiring/sdk/client.rb +69 -0
  15. data/lib/worldline/acquiring/sdk/communication/communication_exception.rb +21 -0
  16. data/lib/worldline/acquiring/sdk/communication/connection.rb +50 -0
  17. data/lib/worldline/acquiring/sdk/communication/default_connection.rb +429 -0
  18. data/lib/worldline/acquiring/sdk/communication/metadata_provider.rb +162 -0
  19. data/lib/worldline/acquiring/sdk/communication/multipart_form_data_object.rb +54 -0
  20. data/lib/worldline/acquiring/sdk/communication/multipart_form_data_request.rb +15 -0
  21. data/lib/worldline/acquiring/sdk/communication/not_found_exception.rb +21 -0
  22. data/lib/worldline/acquiring/sdk/communication/param_request.rb +16 -0
  23. data/lib/worldline/acquiring/sdk/communication/pooled_connection.rb +28 -0
  24. data/lib/worldline/acquiring/sdk/communication/request_header.rb +64 -0
  25. data/lib/worldline/acquiring/sdk/communication/request_param.rb +30 -0
  26. data/lib/worldline/acquiring/sdk/communication/response_exception.rb +58 -0
  27. data/lib/worldline/acquiring/sdk/communication/response_header.rb +80 -0
  28. data/lib/worldline/acquiring/sdk/communication.rb +1 -0
  29. data/lib/worldline/acquiring/sdk/communicator.rb +506 -0
  30. data/lib/worldline/acquiring/sdk/communicator_configuration.rb +197 -0
  31. data/lib/worldline/acquiring/sdk/domain/data_object.rb +34 -0
  32. data/lib/worldline/acquiring/sdk/domain/shopping_cart_extension.rb +62 -0
  33. data/lib/worldline/acquiring/sdk/domain/uploadable_file.rb +35 -0
  34. data/lib/worldline/acquiring/sdk/domain.rb +1 -0
  35. data/lib/worldline/acquiring/sdk/factory.rb +183 -0
  36. data/lib/worldline/acquiring/sdk/json/default_marshaller.rb +36 -0
  37. data/lib/worldline/acquiring/sdk/json/marshaller.rb +29 -0
  38. data/lib/worldline/acquiring/sdk/json/marshaller_syntax_exception.rb +11 -0
  39. data/lib/worldline/acquiring/sdk/json.rb +1 -0
  40. data/lib/worldline/acquiring/sdk/logging/communicator_logger.rb +26 -0
  41. data/lib/worldline/acquiring/sdk/logging/log_message_builder.rb +91 -0
  42. data/lib/worldline/acquiring/sdk/logging/logging_capable.rb +19 -0
  43. data/lib/worldline/acquiring/sdk/logging/obfuscation/body_obfuscator.rb +101 -0
  44. data/lib/worldline/acquiring/sdk/logging/obfuscation/header_obfuscator.rb +54 -0
  45. data/lib/worldline/acquiring/sdk/logging/obfuscation/obfuscation_capable.rb +23 -0
  46. data/lib/worldline/acquiring/sdk/logging/obfuscation/obfuscation_rule.rb +49 -0
  47. data/lib/worldline/acquiring/sdk/logging/obfuscation.rb +1 -0
  48. data/lib/worldline/acquiring/sdk/logging/request_log_message_builder.rb +52 -0
  49. data/lib/worldline/acquiring/sdk/logging/response_log_message_builder.rb +43 -0
  50. data/lib/worldline/acquiring/sdk/logging/ruby_communicator_logger.rb +63 -0
  51. data/lib/worldline/acquiring/sdk/logging/stdout_communicator_logger.rb +33 -0
  52. data/lib/worldline/acquiring/sdk/logging.rb +1 -0
  53. data/lib/worldline/acquiring/sdk/proxy_configuration.rb +76 -0
  54. data/lib/worldline/acquiring/sdk/v1/acquirer/acquirer_client.rb +35 -0
  55. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/accountverifications/account_verifications_client.rb +60 -0
  56. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/accountverifications.rb +4 -0
  57. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/dynamiccurrencyconversion/dynamic_currency_conversion_client.rb +60 -0
  58. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/dynamiccurrencyconversion.rb +4 -0
  59. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/merchant_client.rb +66 -0
  60. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/payments/get_payment_status_params.rb +34 -0
  61. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/payments/payments_client.rb +224 -0
  62. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/payments.rb +4 -0
  63. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/refunds/get_refund_params.rb +34 -0
  64. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/refunds/refunds_client.rb +157 -0
  65. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/refunds.rb +4 -0
  66. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/technicalreversals/technical_reversals_client.rb +64 -0
  67. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/technicalreversals.rb +4 -0
  68. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant.rb +4 -0
  69. data/lib/worldline/acquiring/sdk/v1/acquirer.rb +4 -0
  70. data/lib/worldline/acquiring/sdk/v1/api_exception.rb +63 -0
  71. data/lib/worldline/acquiring/sdk/v1/authorization_exception.rb +23 -0
  72. data/lib/worldline/acquiring/sdk/v1/domain/address_verification_data.rb +41 -0
  73. data/lib/worldline/acquiring/sdk/v1/domain/amount_data.rb +48 -0
  74. data/lib/worldline/acquiring/sdk/v1/domain/api_account_verification_request.rb +70 -0
  75. data/lib/worldline/acquiring/sdk/v1/domain/api_account_verification_response.rb +87 -0
  76. data/lib/worldline/acquiring/sdk/v1/domain/api_action_response.rb +71 -0
  77. data/lib/worldline/acquiring/sdk/v1/domain/api_action_response_for_refund.rb +71 -0
  78. data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request.rb +75 -0
  79. data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request_for_refund.rb +43 -0
  80. data/lib/worldline/acquiring/sdk/v1/domain/api_increment_request.rb +61 -0
  81. data/lib/worldline/acquiring/sdk/v1/domain/api_increment_response.rb +43 -0
  82. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_error_response.rb +62 -0
  83. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_refund_request.rb +77 -0
  84. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_request.rb +95 -0
  85. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_resource.rb +103 -0
  86. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_response.rb +126 -0
  87. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_reversal_request.rb +61 -0
  88. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_summary_for_response.rb +66 -0
  89. data/lib/worldline/acquiring/sdk/v1/domain/api_references_for_responses.rb +48 -0
  90. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_request.rb +88 -0
  91. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_resource.rb +110 -0
  92. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_response.rb +133 -0
  93. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_summary_for_response.rb +66 -0
  94. data/lib/worldline/acquiring/sdk/v1/domain/api_reversal_response.rb +36 -0
  95. data/lib/worldline/acquiring/sdk/v1/domain/api_technical_reversal_request.rb +50 -0
  96. data/lib/worldline/acquiring/sdk/v1/domain/api_technical_reversal_response.rb +62 -0
  97. data/lib/worldline/acquiring/sdk/v1/domain/card_data_for_dcc.rb +48 -0
  98. data/lib/worldline/acquiring/sdk/v1/domain/card_on_file_data.rb +52 -0
  99. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data.rb +114 -0
  100. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_refund.rb +82 -0
  101. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_resource.rb +43 -0
  102. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_response.rb +52 -0
  103. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_verification.rb +91 -0
  104. data/lib/worldline/acquiring/sdk/v1/domain/dcc_data.rb +55 -0
  105. data/lib/worldline/acquiring/sdk/v1/domain/dcc_proposal.rb +60 -0
  106. data/lib/worldline/acquiring/sdk/v1/domain/e_commerce_data.rb +52 -0
  107. data/lib/worldline/acquiring/sdk/v1/domain/e_commerce_data_for_account_verification.rb +45 -0
  108. data/lib/worldline/acquiring/sdk/v1/domain/e_commerce_data_for_response.rb +41 -0
  109. data/lib/worldline/acquiring/sdk/v1/domain/get_dcc_rate_request.rb +75 -0
  110. data/lib/worldline/acquiring/sdk/v1/domain/get_dcc_rate_response.rb +57 -0
  111. data/lib/worldline/acquiring/sdk/v1/domain/initial_card_on_file_data.rb +41 -0
  112. data/lib/worldline/acquiring/sdk/v1/domain/merchant_data.rb +76 -0
  113. data/lib/worldline/acquiring/sdk/v1/domain/network_token_data.rb +41 -0
  114. data/lib/worldline/acquiring/sdk/v1/domain/payment_references.rb +48 -0
  115. data/lib/worldline/acquiring/sdk/v1/domain/plain_card_data.rb +48 -0
  116. data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data.rb +34 -0
  117. data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data_for_dcc.rb +41 -0
  118. data/lib/worldline/acquiring/sdk/v1/domain/rate_data.rb +64 -0
  119. data/lib/worldline/acquiring/sdk/v1/domain/sub_operation.rb +94 -0
  120. data/lib/worldline/acquiring/sdk/v1/domain/sub_operation_for_refund.rb +87 -0
  121. data/lib/worldline/acquiring/sdk/v1/domain/subsequent_card_on_file_data.rb +48 -0
  122. data/lib/worldline/acquiring/sdk/v1/domain/three_d_secure.rb +62 -0
  123. data/lib/worldline/acquiring/sdk/v1/domain/transaction_data_for_dcc.rb +52 -0
  124. data/lib/worldline/acquiring/sdk/v1/domain.rb +4 -0
  125. data/lib/worldline/acquiring/sdk/v1/exception_factory.rb +48 -0
  126. data/lib/worldline/acquiring/sdk/v1/ping/ping_client.rb +52 -0
  127. data/lib/worldline/acquiring/sdk/v1/ping.rb +4 -0
  128. data/lib/worldline/acquiring/sdk/v1/platform_exception.rb +23 -0
  129. data/lib/worldline/acquiring/sdk/v1/reference_exception.rb +23 -0
  130. data/lib/worldline/acquiring/sdk/v1/v1_client.rb +43 -0
  131. data/lib/worldline/acquiring/sdk/v1/validation_exception.rb +23 -0
  132. data/lib/worldline/acquiring/sdk/v1.rb +4 -0
  133. data/lib/worldline/acquiring/sdk.rb +1 -0
  134. data/spec/comparable_extension.rb +29 -0
  135. data/spec/fixtures/resources/authentication/oauth2AccessToken.expired.json +4 -0
  136. data/spec/fixtures/resources/authentication/oauth2AccessToken.invalidClient.json +4 -0
  137. data/spec/fixtures/resources/authentication/oauth2AccessToken.json +4 -0
  138. data/spec/fixtures/resources/communication/getWithQueryParams.json +3 -0
  139. data/spec/fixtures/resources/communication/getWithoutQueryParams.json +3 -0
  140. data/spec/fixtures/resources/communication/notFound.html +1 -0
  141. data/spec/fixtures/resources/communication/postWithBadRequestResponse.json +11 -0
  142. data/spec/fixtures/resources/communication/postWithCreatedResponse.json +6 -0
  143. data/spec/fixtures/resources/communication/unknownServerError.json +10 -0
  144. data/spec/fixtures/resources/logging/bodyNoObfuscation.json +7 -0
  145. data/spec/fixtures/resources/logging/bodyWithBinObfuscated.json +3 -0
  146. data/spec/fixtures/resources/logging/bodyWithBinOriginal.json +3 -0
  147. data/spec/fixtures/resources/logging/bodyWithCardCustomObfuscated.json +13 -0
  148. data/spec/fixtures/resources/logging/bodyWithCardObfuscated.json +13 -0
  149. data/spec/fixtures/resources/logging/bodyWithCardOriginal.json +13 -0
  150. data/spec/fixtures/resources/logging/bodyWithObjectObfuscated.json +5 -0
  151. data/spec/fixtures/resources/logging/bodyWithObjectOriginal.json +5 -0
  152. data/spec/fixtures/resources/properties.oauth2.yml +8 -0
  153. data/spec/fixtures/resources/properties.proxy.yml +14 -0
  154. data/spec/integration/connection_pooling_spec.rb +74 -0
  155. data/spec/integration/multipart_form_data_spec.rb +216 -0
  156. data/spec/integration/process_payment_spec.rb +43 -0
  157. data/spec/integration/request_dcc_rate_spec.rb +24 -0
  158. data/spec/integration/sdk_proxy_spec.rb +70 -0
  159. data/spec/integration_setup.rb +111 -0
  160. data/spec/lib/authentication/oauth2_authenticator_spec.rb +68 -0
  161. data/spec/lib/client_spec.rb +47 -0
  162. data/spec/lib/communication/default_connection_logger_spec.rb +484 -0
  163. data/spec/lib/communication/default_connection_spec.rb +352 -0
  164. data/spec/lib/communication/metadata_provider_spec.rb +93 -0
  165. data/spec/lib/communicator_configuration_spec.rb +181 -0
  166. data/spec/lib/communicator_spec.rb +34 -0
  167. data/spec/lib/factory_spec.rb +38 -0
  168. data/spec/lib/json/default_marshaller_spec.rb +39 -0
  169. data/spec/lib/logging/obfuscation/body_obfuscator_spec.rb +86 -0
  170. data/spec/lib/logging/obfuscation/header_obfuscator_spec.rb +100 -0
  171. data/spec/lib/logging/ruby_communicator_logger_spec.rb +92 -0
  172. data/spec/lib/logging/stdout_communicator_logger_spec.rb +64 -0
  173. data/spec/spec_helper.rb +32 -0
  174. metadata +375 -0
@@ -0,0 +1,60 @@
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_account_verification_response'
8
+ require 'worldline/acquiring/sdk/v1/domain/api_payment_error_response'
9
+
10
+ module Worldline
11
+ module Acquiring
12
+ module SDK
13
+ module V1
14
+ module Acquirer
15
+ module Merchant
16
+ module Accountverifications
17
+ # AccountVerifications client. Thread-safe.
18
+ class AccountVerificationsClient < Worldline::Acquiring::SDK::ApiResource
19
+
20
+ # @param parent [Worldline::Acquiring::SDK::ApiResource]
21
+ # @param path_context [Hash, nil]
22
+ def initialize(parent, path_context)
23
+ super(parent: parent, path_context: path_context)
24
+ end
25
+
26
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/account-verifications - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Account-Verifications/operation/processAccountVerification Verify account}
27
+ #
28
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::ApiAccountVerificationRequest]
29
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
30
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiAccountVerificationResponse]
31
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
32
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
33
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
34
+ # or there was a conflict (HTTP status code 404, 409 or 410)
35
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
36
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
37
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
38
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
39
+ def process_account_verification(body, context = nil)
40
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/account-verifications', nil)
41
+ @communicator.post(
42
+ uri,
43
+ nil,
44
+ nil,
45
+ body,
46
+ Worldline::Acquiring::SDK::V1::Domain::ApiAccountVerificationResponse,
47
+ context)
48
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
49
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
50
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
51
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'accountverifications', '*.rb')].each { |f| require f }
@@ -0,0 +1,60 @@
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/get_dcc_rate_response'
9
+
10
+ module Worldline
11
+ module Acquiring
12
+ module SDK
13
+ module V1
14
+ module Acquirer
15
+ module Merchant
16
+ module Dynamiccurrencyconversion
17
+ # DynamicCurrencyConversion client. Thread-safe.
18
+ class DynamicCurrencyConversionClient < Worldline::Acquiring::SDK::ApiResource
19
+
20
+ # @param parent [Worldline::Acquiring::SDK::ApiResource]
21
+ # @param path_context [Hash, nil]
22
+ def initialize(parent, path_context)
23
+ super(parent: parent, path_context: path_context)
24
+ end
25
+
26
+ # Resource /services/v1/!{acquirerId}/!{merchantId}/dcc-rates - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Dynamic-Currency-Conversion/operation/requestDccRate Request DCC rate}
27
+ #
28
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::GetDCCRateRequest]
29
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
30
+ # @return [Worldline::Acquiring::SDK::V1::Domain::GetDccRateResponse]
31
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
32
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
33
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
34
+ # or there was a conflict (HTTP status code 404, 409 or 410)
35
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
36
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
37
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
38
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
39
+ def request_dcc_rate(body, context = nil)
40
+ uri = instantiate_uri('/services/v1/{acquirerId}/{merchantId}/dcc-rates', nil)
41
+ @communicator.post(
42
+ uri,
43
+ nil,
44
+ nil,
45
+ body,
46
+ Worldline::Acquiring::SDK::V1::Domain::GetDccRateResponse,
47
+ context)
48
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
49
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
50
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
51
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'dynamiccurrencyconversion', '*.rb')].each { |f| require f }
@@ -0,0 +1,66 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/api_resource'
5
+ require 'worldline/acquiring/sdk/v1/acquirer/merchant/accountverifications/account_verifications_client'
6
+ require 'worldline/acquiring/sdk/v1/acquirer/merchant/dynamiccurrencyconversion/dynamic_currency_conversion_client'
7
+ require 'worldline/acquiring/sdk/v1/acquirer/merchant/payments/payments_client'
8
+ require 'worldline/acquiring/sdk/v1/acquirer/merchant/refunds/refunds_client'
9
+ require 'worldline/acquiring/sdk/v1/acquirer/merchant/technicalreversals/technical_reversals_client'
10
+
11
+ module Worldline
12
+ module Acquiring
13
+ module SDK
14
+ module V1
15
+ module Acquirer
16
+ module Merchant
17
+ # Merchant client. Thread-safe.
18
+ class MerchantClient < Worldline::Acquiring::SDK::ApiResource
19
+
20
+ # @param parent [Worldline::Acquiring::SDK::ApiResource]
21
+ # @param path_context [Hash, nil]
22
+ def initialize(parent, path_context)
23
+ super(parent: parent, path_context: path_context)
24
+ end
25
+
26
+ # Resource /processing/v1/{acquirerId}/{merchantId}/payments
27
+ #
28
+ # @return [Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Payments::PaymentsClient]
29
+ def payments
30
+ Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Payments::PaymentsClient.new(self, nil)
31
+ end
32
+
33
+ # Resource /processing/v1/{acquirerId}/{merchantId}/refunds
34
+ #
35
+ # @return [Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Refunds::RefundsClient]
36
+ def refunds
37
+ Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Refunds::RefundsClient.new(self, nil)
38
+ end
39
+
40
+ # Resource /processing/v1/{acquirerId}/{merchantId}/account-verifications
41
+ #
42
+ # @return [Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Accountverifications::AccountVerificationsClient]
43
+ def account_verifications
44
+ Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Accountverifications::AccountVerificationsClient.new(self, nil)
45
+ end
46
+
47
+ # Resource /processing/v1/{acquirerId}/{merchantId}/operations/{operationId}/reverse
48
+ #
49
+ # @return [Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Technicalreversals::TechnicalReversalsClient]
50
+ def technical_reversals
51
+ Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Technicalreversals::TechnicalReversalsClient.new(self, nil)
52
+ end
53
+
54
+ # Resource /services/v1/{acquirerId}/{merchantId}/dcc-rates
55
+ #
56
+ # @return [Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Dynamiccurrencyconversion::DynamicCurrencyConversionClient]
57
+ def dynamic_currency_conversion
58
+ Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Dynamiccurrencyconversion::DynamicCurrencyConversionClient.new(self, nil)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,34 @@
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 Acquirer
12
+ module Merchant
13
+ module Payments
14
+ # Query parameters for {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/getPaymentStatus Retrieve payment}
15
+ #
16
+ # @attr [true/false] return_operations
17
+ class GetPaymentStatusParams < Worldline::Acquiring::SDK::Communication::ParamRequest
18
+
19
+ attr_accessor :return_operations
20
+
21
+ # @return [Array<Worldline::Acquiring::SDK::Communication::RequestParam>] representing the attributes of this class
22
+ def to_request_parameters
23
+ result = []
24
+ result << RequestParam.new('returnOperations', @return_operations.to_s) unless @return_operations.nil?
25
+ result
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,224 @@
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_action_response'
8
+ require 'worldline/acquiring/sdk/v1/domain/api_action_response_for_refund'
9
+ require 'worldline/acquiring/sdk/v1/domain/api_increment_response'
10
+ require 'worldline/acquiring/sdk/v1/domain/api_payment_error_response'
11
+ require 'worldline/acquiring/sdk/v1/domain/api_payment_resource'
12
+ require 'worldline/acquiring/sdk/v1/domain/api_payment_response'
13
+ require 'worldline/acquiring/sdk/v1/domain/api_reversal_response'
14
+
15
+ module Worldline
16
+ module Acquiring
17
+ module SDK
18
+ module V1
19
+ module Acquirer
20
+ module Merchant
21
+ module Payments
22
+ # Payments client. Thread-safe.
23
+ class PaymentsClient < Worldline::Acquiring::SDK::ApiResource
24
+
25
+ # @param parent [Worldline::Acquiring::SDK::ApiResource]
26
+ # @param path_context [Hash, nil]
27
+ def initialize(parent, path_context)
28
+ super(parent: parent, path_context: path_context)
29
+ end
30
+
31
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/payments - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/processPayment Create payment}
32
+ #
33
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::ApiPaymentRequest]
34
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
35
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiPaymentResponse]
36
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
37
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
38
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
39
+ # or there was a conflict (HTTP status code 404, 409 or 410)
40
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
41
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
42
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
43
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
44
+ def process_payment(body, context = nil)
45
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/payments', nil)
46
+ @communicator.post(
47
+ uri,
48
+ nil,
49
+ nil,
50
+ body,
51
+ Worldline::Acquiring::SDK::V1::Domain::ApiPaymentResponse,
52
+ context)
53
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
54
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
55
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
56
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
57
+ end
58
+
59
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/payments/!{paymentId} - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/getPaymentStatus Retrieve payment}
60
+ #
61
+ # @param payment_id [String]
62
+ # @param query [Worldline::Acquiring::SDK::V1::Acquirer::Merchant::Payments::GetPaymentStatusParams]
63
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
64
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiPaymentResource]
65
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
66
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
67
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
68
+ # or there was a conflict (HTTP status code 404, 409 or 410)
69
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
70
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
71
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
72
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
73
+ def get_payment_status(payment_id, query, context = nil)
74
+ path_context = {
75
+ 'paymentId'.freeze => payment_id,
76
+ }
77
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/payments/{paymentId}', path_context)
78
+ @communicator.get(
79
+ uri,
80
+ nil,
81
+ query,
82
+ Worldline::Acquiring::SDK::V1::Domain::ApiPaymentResource,
83
+ context)
84
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
85
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
86
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
87
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
88
+ end
89
+
90
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/payments/!{paymentId}/captures - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/simpleCaptureOfPayment Capture payment}
91
+ #
92
+ # @param payment_id [String]
93
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::ApiCaptureRequest]
94
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
95
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiActionResponse]
96
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
97
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
98
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
99
+ # or there was a conflict (HTTP status code 404, 409 or 410)
100
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
101
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
102
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
103
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
104
+ def simple_capture_of_payment(payment_id, body, context = nil)
105
+ path_context = {
106
+ 'paymentId'.freeze => payment_id,
107
+ }
108
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/payments/{paymentId}/captures', path_context)
109
+ @communicator.post(
110
+ uri,
111
+ nil,
112
+ nil,
113
+ body,
114
+ Worldline::Acquiring::SDK::V1::Domain::ApiActionResponse,
115
+ context)
116
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
117
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
118
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
119
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
120
+ end
121
+
122
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/payments/!{paymentId}/authorization-reversals - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/reverseAuthorization Reverse authorization}
123
+ #
124
+ # @param payment_id [String]
125
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::ApiPaymentReversalRequest]
126
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
127
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiReversalResponse]
128
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
129
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
130
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
131
+ # or there was a conflict (HTTP status code 404, 409 or 410)
132
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
133
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
134
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
135
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
136
+ def reverse_authorization(payment_id, body, context = nil)
137
+ path_context = {
138
+ 'paymentId'.freeze => payment_id,
139
+ }
140
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/payments/{paymentId}/authorization-reversals', path_context)
141
+ @communicator.post(
142
+ uri,
143
+ nil,
144
+ nil,
145
+ body,
146
+ Worldline::Acquiring::SDK::V1::Domain::ApiReversalResponse,
147
+ context)
148
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
149
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
150
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
151
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
152
+ end
153
+
154
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/payments/!{paymentId}/increments - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/incrementPayment Increment authorization}
155
+ #
156
+ # @param payment_id [String]
157
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::ApiIncrementRequest]
158
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
159
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiIncrementResponse]
160
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
161
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
162
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
163
+ # or there was a conflict (HTTP status code 404, 409 or 410)
164
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
165
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
166
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
167
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
168
+ def increment_payment(payment_id, body, context = nil)
169
+ path_context = {
170
+ 'paymentId'.freeze => payment_id,
171
+ }
172
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/payments/{paymentId}/increments', path_context)
173
+ @communicator.post(
174
+ uri,
175
+ nil,
176
+ nil,
177
+ body,
178
+ Worldline::Acquiring::SDK::V1::Domain::ApiIncrementResponse,
179
+ context)
180
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
181
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
182
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
183
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
184
+ end
185
+
186
+ # Resource /processing/v1/!{acquirerId}/!{merchantId}/payments/!{paymentId}/refunds - {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Payments/operation/createRefund Refund payment}
187
+ #
188
+ # @param payment_id [String]
189
+ # @param body [Worldline::Acquiring::SDK::V1::Domain::ApiPaymentRefundRequest]
190
+ # @param context [Worldline::Acquiring::SDK::CallContext, nil]
191
+ # @return [Worldline::Acquiring::SDK::V1::Domain::ApiActionResponseForRefund]
192
+ # @raise [Worldline::Acquiring::SDK::V1::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
193
+ # @raise [Worldline::Acquiring::SDK::V1::AuthorizationException] if the request was not allowed (HTTP status code 403)
194
+ # @raise [Worldline::Acquiring::SDK::V1::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
195
+ # or there was a conflict (HTTP status code 404, 409 or 410)
196
+ # @raise [Worldline::Acquiring::SDK::V1::PlatformException] if something went wrong at the Worldline Acquiring platform,
197
+ # the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
198
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
199
+ # @raise [Worldline::Acquiring::SDK::V1::ApiException] if the Worldline Acquiring platform returned any other error
200
+ def create_refund(payment_id, body, context = nil)
201
+ path_context = {
202
+ 'paymentId'.freeze => payment_id,
203
+ }
204
+ uri = instantiate_uri('/processing/v1/{acquirerId}/{merchantId}/payments/{paymentId}/refunds', path_context)
205
+ @communicator.post(
206
+ uri,
207
+ nil,
208
+ nil,
209
+ body,
210
+ Worldline::Acquiring::SDK::V1::Domain::ApiActionResponseForRefund,
211
+ context)
212
+ rescue Worldline::Acquiring::SDK::Communication::ResponseException => e
213
+ error_type = Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse
214
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
215
+ raise Worldline::Acquiring::SDK::V1.create_exception(e.status_code, e.body, error_object, context)
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'payments', '*.rb')].each { |f| require f }
@@ -0,0 +1,34 @@
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 Acquirer
12
+ module Merchant
13
+ module Refunds
14
+ # Query parameters for {https://docs.acquiring.worldline-solutions.com/api-reference#tag/Refunds/operation/getRefund Retrieve refund}
15
+ #
16
+ # @attr [true/false] return_operations
17
+ class GetRefundParams < Worldline::Acquiring::SDK::Communication::ParamRequest
18
+
19
+ attr_accessor :return_operations
20
+
21
+ # @return [Array<Worldline::Acquiring::SDK::Communication::RequestParam>] representing the attributes of this class
22
+ def to_request_parameters
23
+ result = []
24
+ result << RequestParam.new('returnOperations', @return_operations.to_s) unless @return_operations.nil?
25
+ result
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end