adyen-ruby-api-library 7.0.0 → 7.0.2

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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/release.yml +18 -0
  4. data/.github/workflows/gh_release.yml +16 -0
  5. data/.github/workflows/release_request.yml +15 -0
  6. data/.github/workflows/ruby.yml +1 -1
  7. data/.github/workflows/services.yml +28 -0
  8. data/.rubocop.yml +8 -0
  9. data/Gemfile +7 -7
  10. data/Makefile +14 -10
  11. data/README.md +13 -10
  12. data/Rakefile +3 -3
  13. data/adyen-ruby-api-library.gemspec +6 -3
  14. data/bin/console +2 -2
  15. data/lib/adyen/client.rb +96 -76
  16. data/lib/adyen/errors.rb +23 -18
  17. data/lib/adyen/hash_with_accessors.rb +12 -7
  18. data/lib/adyen/services/balanceControlService.rb +7 -14
  19. data/lib/adyen/services/balancePlatform/account_holders_api.rb +22 -38
  20. data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +48 -79
  21. data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +6 -13
  22. data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +6 -13
  23. data/lib/adyen/services/balancePlatform/grant_offers_api.rb +12 -22
  24. data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +16 -29
  25. data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +26 -45
  26. data/lib/adyen/services/balancePlatform/platform_api.rb +12 -22
  27. data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +21 -37
  28. data/lib/adyen/services/balancePlatform.rb +38 -40
  29. data/lib/adyen/services/binLookup.rb +12 -22
  30. data/lib/adyen/services/checkout/classic_checkout_sdk_api.rb +11 -21
  31. data/lib/adyen/services/checkout/modifications_api.rb +31 -53
  32. data/lib/adyen/services/checkout/orders_api.rb +16 -29
  33. data/lib/adyen/services/checkout/payment_links_api.rb +16 -29
  34. data/lib/adyen/services/checkout/payments_api.rb +40 -53
  35. data/lib/adyen/services/checkout/recurring_api.rb +13 -23
  36. data/lib/adyen/services/checkout/utility_api.rb +11 -21
  37. data/lib/adyen/services/checkout.rb +32 -34
  38. data/lib/adyen/services/dataProtection.rb +7 -14
  39. data/lib/adyen/services/dispute.rb +6 -5
  40. data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +21 -37
  41. data/lib/adyen/services/legalEntityManagement/documents_api.rb +21 -37
  42. data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +16 -29
  43. data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +26 -45
  44. data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +21 -37
  45. data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +25 -29
  46. data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +21 -37
  47. data/lib/adyen/services/legalEntityManagement.rb +32 -34
  48. data/lib/adyen/services/management/account_company_level_api.rb +18 -31
  49. data/lib/adyen/services/management/account_merchant_level_api.rb +22 -38
  50. data/lib/adyen/services/management/account_store_level_api.rb +43 -71
  51. data/lib/adyen/services/management/allowed_origins_company_level_api.rb +21 -37
  52. data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +21 -37
  53. data/lib/adyen/services/management/api_credentials_company_level_api.rb +22 -38
  54. data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +22 -38
  55. data/lib/adyen/services/management/api_key_company_level_api.rb +6 -13
  56. data/lib/adyen/services/management/api_key_merchant_level_api.rb +6 -13
  57. data/lib/adyen/services/management/client_key_company_level_api.rb +6 -13
  58. data/lib/adyen/services/management/client_key_merchant_level_api.rb +6 -13
  59. data/lib/adyen/services/management/my_api_credential_api.rb +26 -45
  60. data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +32 -54
  61. data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +26 -45
  62. data/lib/adyen/services/management/split_configuration_merchant_level_api.rb +92 -0
  63. data/lib/adyen/services/management/terminal_actions_company_level_api.rb +24 -40
  64. data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +6 -13
  65. data/lib/adyen/services/management/terminal_orders_company_level_api.rb +55 -89
  66. data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +55 -89
  67. data/lib/adyen/services/management/terminal_settings_company_level_api.rb +23 -39
  68. data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +23 -39
  69. data/lib/adyen/services/management/terminal_settings_store_level_api.rb +45 -73
  70. data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +21 -37
  71. data/lib/adyen/services/management/terminals_terminal_level_api.rb +7 -14
  72. data/lib/adyen/services/management/users_company_level_api.rb +22 -38
  73. data/lib/adyen/services/management/users_merchant_level_api.rb +22 -38
  74. data/lib/adyen/services/management/webhooks_company_level_api.rb +37 -62
  75. data/lib/adyen/services/management/webhooks_merchant_level_api.rb +37 -62
  76. data/lib/adyen/services/management.rb +99 -96
  77. data/lib/adyen/services/marketpay.rb +42 -36
  78. data/lib/adyen/services/payment/general_api.rb +56 -0
  79. data/lib/adyen/services/payment/modifications_api.rb +83 -0
  80. data/lib/adyen/services/payment.rb +10 -158
  81. data/lib/adyen/services/payout/initialization_api.rb +16 -29
  82. data/lib/adyen/services/payout/instant_payouts_api.rb +6 -13
  83. data/lib/adyen/services/payout/reviewing_api.rb +11 -21
  84. data/lib/adyen/services/payout.rb +19 -21
  85. data/lib/adyen/services/posTerminalManagement.rb +27 -46
  86. data/lib/adyen/services/recurring.rb +32 -54
  87. data/lib/adyen/services/service.rb +5 -4
  88. data/lib/adyen/services/storedValue.rb +32 -54
  89. data/lib/adyen/services/transfers/capital_api.rb +38 -0
  90. data/lib/adyen/services/transfers/transactions_api.rb +12 -22
  91. data/lib/adyen/services/transfers/transfers_api.rb +6 -13
  92. data/lib/adyen/services/transfers.rb +20 -17
  93. data/lib/adyen/utils/hmac_validator.rb +9 -9
  94. data/lib/adyen/version.rb +3 -3
  95. data/lib/adyen-ruby-api-library.rb +21 -21
  96. data/spec/account_spec.rb +20 -20
  97. data/spec/balance_control_spec.rb +28 -29
  98. data/spec/balance_platform_spec.rb +108 -102
  99. data/spec/bin_lookup_spec.rb +50 -50
  100. data/spec/checkout_spec.rb +581 -515
  101. data/spec/client_spec.rb +118 -71
  102. data/spec/data_protection_spec.rb +4 -4
  103. data/spec/dispute_spec.rb +7 -7
  104. data/spec/errors_spec.rb +37 -17
  105. data/spec/fund_spec.rb +10 -10
  106. data/spec/hash_with_accessors_spec.rb +18 -8
  107. data/spec/hop_spec.rb +4 -4
  108. data/spec/lem_spec.rb +44 -49
  109. data/spec/management_spec.rb +46 -48
  110. data/spec/notification_spec.rb +9 -9
  111. data/spec/payments_spec.rb +31 -32
  112. data/spec/payouts_spec.rb +29 -32
  113. data/spec/pos_terminal_management_spec.rb +30 -32
  114. data/spec/recurring_spec.rb +8 -8
  115. data/spec/service_spec.rb +4 -0
  116. data/spec/spec_helper.rb +37 -35
  117. data/spec/stored_value_spec.rb +28 -27
  118. data/spec/transfers_spec.rb +48 -47
  119. data/spec/utils/hmac_validator_spec.rb +15 -14
  120. data/templates/api-single.mustache +13 -15
  121. data/templates/api-small.mustache +8 -15
  122. data/templates/api.mustache +7 -14
  123. metadata +27 -18
  124. data/.github/dependabot.yml +0 -8
  125. /data/spec/mocks/responses/Webhooks/{backslash_notification.json → backslash_webhook.json} +0 -0
  126. /data/spec/mocks/responses/Webhooks/{colon_notification.json → colon_webhook.json} +0 -0
  127. /data/spec/mocks/responses/Webhooks/{forwardslash_notification.json → forwardslash_webhook.json} +0 -0
  128. /data/spec/mocks/responses/Webhooks/{mixed_notification.json → mixed_webhook.json} +0 -0
data/lib/adyen/errors.rb CHANGED
@@ -1,3 +1,9 @@
1
+ # rubocop:disable Metrics/AbcSize
2
+ # rubocop:disable Metrics/MethodLength
3
+ # rubocop:disable Metrics/PerceivedComplexity
4
+ # rubocop:disable Metrics/CyclomaticComplexity
5
+ # rubocop:disable Metrics/ParameterLists
6
+
1
7
  module Adyen
2
8
  class AdyenError < StandardError
3
9
  attr_reader :code, :response, :request, :msg
@@ -30,13 +36,13 @@ module Adyen
30
36
  return if request.nil?
31
37
 
32
38
  # sensitive fields
33
- fields_to_mask = [
34
- :expiryMonth,
35
- :expiryYear,
36
- :encryptedCardNumber,
37
- :encryptedExpiryMonth,
38
- :encryptedExpiryYear,
39
- :encryptedSecurityCode
39
+ fields_to_mask = %i[
40
+ expiryMonth
41
+ expiryYear
42
+ encryptedCardNumber
43
+ encryptedExpiryMonth
44
+ encryptedExpiryYear
45
+ encryptedSecurityCode
40
46
  ]
41
47
 
42
48
  # convert to hash if necessary
@@ -47,17 +53,15 @@ module Adyen
47
53
  if request[k].is_a?(Hash)
48
54
  # recursively traverse multi-level hashes
49
55
  mask_fields(request[k])
50
- else
51
- if k == :number
52
- # show first 6 and last 4 for cards
53
- request[k] = "#{v[0,6]}******#{v[12,16]}"
54
- elsif k == :cvc
55
- # show length of cvc for debugging
56
- request[k] = "*" * v.length
57
- elsif fields_to_mask.include? k
58
- # generic mask for other fields
59
- request[k] = "***"
60
- end
56
+ elsif k == :number
57
+ request[k] = "#{v[0, 6]}******#{v[12, 16]}"
58
+ # show first 6 and last 4 for cards
59
+ elsif k == :cvc
60
+ # show length of cvc for debugging
61
+ request[k] = '*' * v.length
62
+ elsif fields_to_mask.include? k
63
+ # generic mask for other fields
64
+ request[k] = '***'
61
65
  end
62
66
  end
63
67
  end
@@ -106,3 +110,4 @@ module Adyen
106
110
  end
107
111
  end
108
112
  end
113
+ # rubocop:enable all
@@ -1,3 +1,7 @@
1
+ # rubocop:disable Metrics/AbcSize
2
+ # rubocop:disable Metrics/MethodLength
3
+ # rubocop:disable Metrics/PerceivedComplexity
4
+
1
5
  # This utility method inherits from Hash, but allows keys to be read
2
6
  # and updated with dot notation. Usage is entirely optional (i.e., hash values
3
7
  # can still be accessed via symbol and string keys).
@@ -9,11 +13,11 @@ module Adyen
9
13
  string_key = method.to_s.sub(/=\z/, '')
10
14
  sym_key = string_key.to_sym
11
15
 
12
- key = if has_key?(string_key)
13
- string_key
14
- elsif has_key?(sym_key)
15
- sym_key
16
- end
16
+ key = if key?(string_key)
17
+ string_key
18
+ elsif key?(sym_key)
19
+ sym_key
20
+ end
17
21
 
18
22
  return super unless key
19
23
 
@@ -24,7 +28,7 @@ module Adyen
24
28
 
25
29
  self[key] = args.first
26
30
  else
27
- raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" unless args.size == 0
31
+ raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" unless args.empty?
28
32
 
29
33
  self[key]
30
34
  end
@@ -32,7 +36,8 @@ module Adyen
32
36
 
33
37
  def respond_to_missing?(method, include_private = false)
34
38
  string_key = method.to_s.sub(/=\z/, '')
35
- has_key?(string_key) || has_key?(string_key.to_sym) || super
39
+ key?(string_key) || key?(string_key.to_sym) || super
36
40
  end
37
41
  end
38
42
  end
43
+ # rubocop:enable all
@@ -1,26 +1,19 @@
1
1
  require_relative './service'
2
2
  module Adyen
3
-
4
-
5
3
  class BalanceControlService < Service
6
4
  attr_accessor :service, :version
7
- DEFAULT_VERSION = 1
8
5
 
6
+ DEFAULT_VERSION = 1
9
7
  def initialize(client, version = DEFAULT_VERSION)
10
- @service = "BalanceControlService"
11
- @client = client
12
- @version = version
8
+ super(client, version, 'BalanceControlService')
13
9
  end
14
10
 
15
- def balance_transfer(request, headers: {} )
16
- """
17
- Start a balance transfer
18
- """
19
- endpoint = "/balanceTransfer".gsub(/{.+?}/, '%s')
20
- endpoint = endpoint.gsub(/^\//, "")
21
- endpoint = endpoint % []
11
+ def balance_transfer(request, headers: {})
12
+ endpoint = '/balanceTransfer'.gsub(/{.+?}/, '%s')
13
+ endpoint = endpoint.gsub(%r{^/}, '')
14
+ endpoint = format(endpoint)
22
15
 
23
- action = { method: "post", url: endpoint}
16
+ action = { method: 'post', url: endpoint }
24
17
  @client.call_adyen_api(@service, action, request, headers, @version)
25
18
  end
26
19
 
@@ -1,61 +1,45 @@
1
1
  require_relative '../service'
2
2
  module Adyen
3
-
4
-
5
3
  class AccountHoldersApi < Service
6
4
  attr_accessor :service, :version
7
5
 
8
6
  def initialize(client, version = DEFAULT_VERSION)
9
- @service = "BalancePlatform"
10
- @client = client
11
- @version = version
7
+ super(client, version, 'BalancePlatform')
12
8
  end
13
9
 
14
- def get_account_holder(id, headers: {} )
15
- """
16
- Get an account holder
17
- """
18
- endpoint = "/accountHolders/{id}".gsub(/{.+?}/, '%s')
19
- endpoint = endpoint.gsub(/^\//, "")
20
- endpoint = endpoint % [id]
10
+ def get_account_holder(id, headers: {})
11
+ endpoint = '/accountHolders/{id}'.gsub(/{.+?}/, '%s')
12
+ endpoint = endpoint.gsub(%r{^/}, '')
13
+ endpoint = format(endpoint, id)
21
14
 
22
- action = { method: "get", url: endpoint}
15
+ action = { method: 'get', url: endpoint }
23
16
  @client.call_adyen_api(@service, action, {}, headers, @version)
24
17
  end
25
18
 
26
- def get_all_balance_accounts_of_account_holder(id, headers: {} , queryParams: {})
27
- """
28
- Get all balance accounts of an account holder
29
- """
30
- endpoint = "/accountHolders/{id}/balanceAccounts".gsub(/{.+?}/, '%s')
31
- endpoint = endpoint.gsub(/^\//, "")
32
- endpoint = endpoint % [id]
33
- endpoint = endpoint + create_query_string(queryParams)
34
- action = { method: "get", url: endpoint}
19
+ def get_all_balance_accounts_of_account_holder(id, headers: {}, query_params: {})
20
+ endpoint = '/accountHolders/{id}/balanceAccounts'.gsub(/{.+?}/, '%s')
21
+ endpoint = endpoint.gsub(%r{^/}, '')
22
+ endpoint = format(endpoint, id)
23
+ endpoint += create_query_string(query_params)
24
+ action = { method: 'get', url: endpoint }
35
25
  @client.call_adyen_api(@service, action, {}, headers, @version)
36
26
  end
37
27
 
38
- def update_account_holder(request, id, headers: {} )
39
- """
40
- Update an account holder
41
- """
42
- endpoint = "/accountHolders/{id}".gsub(/{.+?}/, '%s')
43
- endpoint = endpoint.gsub(/^\//, "")
44
- endpoint = endpoint % [id]
28
+ def update_account_holder(request, id, headers: {})
29
+ endpoint = '/accountHolders/{id}'.gsub(/{.+?}/, '%s')
30
+ endpoint = endpoint.gsub(%r{^/}, '')
31
+ endpoint = format(endpoint, id)
45
32
 
46
- action = { method: "patch", url: endpoint}
33
+ action = { method: 'patch', url: endpoint }
47
34
  @client.call_adyen_api(@service, action, request, headers, @version)
48
35
  end
49
36
 
50
- def create_account_holder(request, headers: {} )
51
- """
52
- Create an account holder
53
- """
54
- endpoint = "/accountHolders".gsub(/{.+?}/, '%s')
55
- endpoint = endpoint.gsub(/^\//, "")
56
- endpoint = endpoint % []
37
+ def create_account_holder(request, headers: {})
38
+ endpoint = '/accountHolders'.gsub(/{.+?}/, '%s')
39
+ endpoint = endpoint.gsub(%r{^/}, '')
40
+ endpoint = format(endpoint)
57
41
 
58
- action = { method: "post", url: endpoint}
42
+ action = { method: 'post', url: endpoint }
59
43
  @client.call_adyen_api(@service, action, request, headers, @version)
60
44
  end
61
45
 
@@ -1,121 +1,90 @@
1
1
  require_relative '../service'
2
2
  module Adyen
3
-
4
-
5
3
  class BalanceAccountsApi < Service
6
4
  attr_accessor :service, :version
7
5
 
8
6
  def initialize(client, version = DEFAULT_VERSION)
9
- @service = "BalancePlatform"
10
- @client = client
11
- @version = version
7
+ super(client, version, 'BalancePlatform')
12
8
  end
13
9
 
14
- def delete_sweep(balanceAccountId, sweepId, headers: {} )
15
- """
16
- Delete a sweep
17
- """
18
- endpoint = "/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}".gsub(/{.+?}/, '%s')
19
- endpoint = endpoint.gsub(/^\//, "")
20
- endpoint = endpoint % [balanceAccountId,sweepId]
10
+ def delete_sweep(balance_account_id, sweep_id, headers: {})
11
+ endpoint = '/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}'.gsub(/{.+?}/, '%s')
12
+ endpoint = endpoint.gsub(%r{^/}, '')
13
+ endpoint = format(endpoint, balance_account_id, sweep_id)
21
14
 
22
- action = { method: "delete", url: endpoint}
15
+ action = { method: 'delete', url: endpoint }
23
16
  @client.call_adyen_api(@service, action, {}, headers, @version)
24
17
  end
25
18
 
26
- def get_all_sweeps_for_balance_account(balanceAccountId, headers: {} , queryParams: {})
27
- """
28
- Get all sweeps for a balance account
29
- """
30
- endpoint = "/balanceAccounts/{balanceAccountId}/sweeps".gsub(/{.+?}/, '%s')
31
- endpoint = endpoint.gsub(/^\//, "")
32
- endpoint = endpoint % [balanceAccountId]
33
- endpoint = endpoint + create_query_string(queryParams)
34
- action = { method: "get", url: endpoint}
19
+ def get_all_sweeps_for_balance_account(balance_account_id, headers: {}, query_params: {})
20
+ endpoint = '/balanceAccounts/{balanceAccountId}/sweeps'.gsub(/{.+?}/, '%s')
21
+ endpoint = endpoint.gsub(%r{^/}, '')
22
+ endpoint = format(endpoint, balance_account_id)
23
+ endpoint += create_query_string(query_params)
24
+ action = { method: 'get', url: endpoint }
35
25
  @client.call_adyen_api(@service, action, {}, headers, @version)
36
26
  end
37
27
 
38
- def get_sweep(balanceAccountId, sweepId, headers: {} )
39
- """
40
- Get a sweep
41
- """
42
- endpoint = "/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}".gsub(/{.+?}/, '%s')
43
- endpoint = endpoint.gsub(/^\//, "")
44
- endpoint = endpoint % [balanceAccountId,sweepId]
28
+ def get_sweep(balance_account_id, sweep_id, headers: {})
29
+ endpoint = '/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}'.gsub(/{.+?}/, '%s')
30
+ endpoint = endpoint.gsub(%r{^/}, '')
31
+ endpoint = format(endpoint, balance_account_id, sweep_id)
45
32
 
46
- action = { method: "get", url: endpoint}
33
+ action = { method: 'get', url: endpoint }
47
34
  @client.call_adyen_api(@service, action, {}, headers, @version)
48
35
  end
49
36
 
50
- def get_balance_account(id, headers: {} )
51
- """
52
- Get a balance account
53
- """
54
- endpoint = "/balanceAccounts/{id}".gsub(/{.+?}/, '%s')
55
- endpoint = endpoint.gsub(/^\//, "")
56
- endpoint = endpoint % [id]
37
+ def get_balance_account(id, headers: {})
38
+ endpoint = '/balanceAccounts/{id}'.gsub(/{.+?}/, '%s')
39
+ endpoint = endpoint.gsub(%r{^/}, '')
40
+ endpoint = format(endpoint, id)
57
41
 
58
- action = { method: "get", url: endpoint}
42
+ action = { method: 'get', url: endpoint }
59
43
  @client.call_adyen_api(@service, action, {}, headers, @version)
60
44
  end
61
45
 
62
- def get_all_payment_instruments_for_balance_account(id, headers: {} , queryParams: {})
63
- """
64
- Get all payment instruments for a balance account
65
- """
66
- endpoint = "/balanceAccounts/{id}/paymentInstruments".gsub(/{.+?}/, '%s')
67
- endpoint = endpoint.gsub(/^\//, "")
68
- endpoint = endpoint % [id]
69
- endpoint = endpoint + create_query_string(queryParams)
70
- action = { method: "get", url: endpoint}
46
+ def get_all_payment_instruments_for_balance_account(id, headers: {}, query_params: {})
47
+ endpoint = '/balanceAccounts/{id}/paymentInstruments'.gsub(/{.+?}/, '%s')
48
+ endpoint = endpoint.gsub(%r{^/}, '')
49
+ endpoint = format(endpoint, id)
50
+ endpoint += create_query_string(query_params)
51
+ action = { method: 'get', url: endpoint }
71
52
  @client.call_adyen_api(@service, action, {}, headers, @version)
72
53
  end
73
54
 
74
- def update_sweep(request, balanceAccountId, sweepId, headers: {} )
75
- """
76
- Update a sweep
77
- """
78
- endpoint = "/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}".gsub(/{.+?}/, '%s')
79
- endpoint = endpoint.gsub(/^\//, "")
80
- endpoint = endpoint % [balanceAccountId,sweepId]
55
+ def update_sweep(request, balance_account_id, sweep_id, headers: {})
56
+ endpoint = '/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}'.gsub(/{.+?}/, '%s')
57
+ endpoint = endpoint.gsub(%r{^/}, '')
58
+ endpoint = format(endpoint, balance_account_id, sweep_id)
81
59
 
82
- action = { method: "patch", url: endpoint}
60
+ action = { method: 'patch', url: endpoint }
83
61
  @client.call_adyen_api(@service, action, request, headers, @version)
84
62
  end
85
63
 
86
- def update_balance_account(request, id, headers: {} )
87
- """
88
- Update a balance account
89
- """
90
- endpoint = "/balanceAccounts/{id}".gsub(/{.+?}/, '%s')
91
- endpoint = endpoint.gsub(/^\//, "")
92
- endpoint = endpoint % [id]
64
+ def update_balance_account(request, id, headers: {})
65
+ endpoint = '/balanceAccounts/{id}'.gsub(/{.+?}/, '%s')
66
+ endpoint = endpoint.gsub(%r{^/}, '')
67
+ endpoint = format(endpoint, id)
93
68
 
94
- action = { method: "patch", url: endpoint}
69
+ action = { method: 'patch', url: endpoint }
95
70
  @client.call_adyen_api(@service, action, request, headers, @version)
96
71
  end
97
72
 
98
- def create_balance_account(request, headers: {} )
99
- """
100
- Create a balance account
101
- """
102
- endpoint = "/balanceAccounts".gsub(/{.+?}/, '%s')
103
- endpoint = endpoint.gsub(/^\//, "")
104
- endpoint = endpoint % []
73
+ def create_balance_account(request, headers: {})
74
+ endpoint = '/balanceAccounts'.gsub(/{.+?}/, '%s')
75
+ endpoint = endpoint.gsub(%r{^/}, '')
76
+ endpoint = format(endpoint)
105
77
 
106
- action = { method: "post", url: endpoint}
78
+ action = { method: 'post', url: endpoint }
107
79
  @client.call_adyen_api(@service, action, request, headers, @version)
108
80
  end
109
81
 
110
- def create_sweep(request, balanceAccountId, headers: {} )
111
- """
112
- Create a sweep
113
- """
114
- endpoint = "/balanceAccounts/{balanceAccountId}/sweeps".gsub(/{.+?}/, '%s')
115
- endpoint = endpoint.gsub(/^\//, "")
116
- endpoint = endpoint % [balanceAccountId]
82
+ def create_sweep(request, balance_account_id, headers: {})
83
+ endpoint = '/balanceAccounts/{balanceAccountId}/sweeps'.gsub(/{.+?}/, '%s')
84
+ endpoint = endpoint.gsub(%r{^/}, '')
85
+ endpoint = format(endpoint, balance_account_id)
117
86
 
118
- action = { method: "post", url: endpoint}
87
+ action = { method: 'post', url: endpoint }
119
88
  @client.call_adyen_api(@service, action, request, headers, @version)
120
89
  end
121
90
 
@@ -1,25 +1,18 @@
1
1
  require_relative '../service'
2
2
  module Adyen
3
-
4
-
5
3
  class BankAccountValidationApi < Service
6
4
  attr_accessor :service, :version
7
5
 
8
6
  def initialize(client, version = DEFAULT_VERSION)
9
- @service = "BalancePlatform"
10
- @client = client
11
- @version = version
7
+ super(client, version, 'BalancePlatform')
12
8
  end
13
9
 
14
- def validate_bank_account_identification(request, headers: {} )
15
- """
16
- Validate a bank account
17
- """
18
- endpoint = "/validateBankAccountIdentification".gsub(/{.+?}/, '%s')
19
- endpoint = endpoint.gsub(/^\//, "")
20
- endpoint = endpoint % []
10
+ def validate_bank_account_identification(request, headers: {})
11
+ endpoint = '/validateBankAccountIdentification'.gsub(/{.+?}/, '%s')
12
+ endpoint = endpoint.gsub(%r{^/}, '')
13
+ endpoint = format(endpoint)
21
14
 
22
- action = { method: "post", url: endpoint}
15
+ action = { method: 'post', url: endpoint }
23
16
  @client.call_adyen_api(@service, action, request, headers, @version)
24
17
  end
25
18
 
@@ -1,25 +1,18 @@
1
1
  require_relative '../service'
2
2
  module Adyen
3
-
4
-
5
3
  class GrantAccountsApi < Service
6
4
  attr_accessor :service, :version
7
5
 
8
6
  def initialize(client, version = DEFAULT_VERSION)
9
- @service = "BalancePlatform"
10
- @client = client
11
- @version = version
7
+ super(client, version, 'BalancePlatform')
12
8
  end
13
9
 
14
- def get_grant_account(id, headers: {} )
15
- """
16
- Get a grant account
17
- """
18
- endpoint = "/grantAccounts/{id}".gsub(/{.+?}/, '%s')
19
- endpoint = endpoint.gsub(/^\//, "")
20
- endpoint = endpoint % [id]
10
+ def get_grant_account(id, headers: {})
11
+ endpoint = '/grantAccounts/{id}'.gsub(/{.+?}/, '%s')
12
+ endpoint = endpoint.gsub(%r{^/}, '')
13
+ endpoint = format(endpoint, id)
21
14
 
22
- action = { method: "get", url: endpoint}
15
+ action = { method: 'get', url: endpoint }
23
16
  @client.call_adyen_api(@service, action, {}, headers, @version)
24
17
  end
25
18
 
@@ -1,37 +1,27 @@
1
1
  require_relative '../service'
2
2
  module Adyen
3
-
4
-
5
3
  class GrantOffersApi < Service
6
4
  attr_accessor :service, :version
7
5
 
8
6
  def initialize(client, version = DEFAULT_VERSION)
9
- @service = "BalancePlatform"
10
- @client = client
11
- @version = version
7
+ super(client, version, 'BalancePlatform')
12
8
  end
13
9
 
14
- def get_all_available_grant_offers(headers: {} , queryParams: {})
15
- """
16
- Get all available grant offers
17
- """
18
- endpoint = "/grantOffers".gsub(/{.+?}/, '%s')
19
- endpoint = endpoint.gsub(/^\//, "")
20
- endpoint = endpoint % []
21
- endpoint = endpoint + create_query_string(queryParams)
22
- action = { method: "get", url: endpoint}
10
+ def get_all_available_grant_offers(headers: {}, query_params: {})
11
+ endpoint = '/grantOffers'.gsub(/{.+?}/, '%s')
12
+ endpoint = endpoint.gsub(%r{^/}, '')
13
+ endpoint = format(endpoint)
14
+ endpoint += create_query_string(query_params)
15
+ action = { method: 'get', url: endpoint }
23
16
  @client.call_adyen_api(@service, action, {}, headers, @version)
24
17
  end
25
18
 
26
- def get_grant_offer(grantOfferId, headers: {} )
27
- """
28
- Get a grant offer
29
- """
30
- endpoint = "/grantOffers/{grantOfferId}".gsub(/{.+?}/, '%s')
31
- endpoint = endpoint.gsub(/^\//, "")
32
- endpoint = endpoint % [grantOfferId]
19
+ def get_grant_offer(grant_offer_id, headers: {})
20
+ endpoint = '/grantOffers/{grantOfferId}'.gsub(/{.+?}/, '%s')
21
+ endpoint = endpoint.gsub(%r{^/}, '')
22
+ endpoint = format(endpoint, grant_offer_id)
33
23
 
34
- action = { method: "get", url: endpoint}
24
+ action = { method: 'get', url: endpoint }
35
25
  @client.call_adyen_api(@service, action, {}, headers, @version)
36
26
  end
37
27
 
@@ -1,49 +1,36 @@
1
1
  require_relative '../service'
2
2
  module Adyen
3
-
4
-
5
3
  class PaymentInstrumentGroupsApi < Service
6
4
  attr_accessor :service, :version
7
5
 
8
6
  def initialize(client, version = DEFAULT_VERSION)
9
- @service = "BalancePlatform"
10
- @client = client
11
- @version = version
7
+ super(client, version, 'BalancePlatform')
12
8
  end
13
9
 
14
- def get_payment_instrument_group(id, headers: {} )
15
- """
16
- Get a payment instrument group
17
- """
18
- endpoint = "/paymentInstrumentGroups/{id}".gsub(/{.+?}/, '%s')
19
- endpoint = endpoint.gsub(/^\//, "")
20
- endpoint = endpoint % [id]
10
+ def get_payment_instrument_group(id, headers: {})
11
+ endpoint = '/paymentInstrumentGroups/{id}'.gsub(/{.+?}/, '%s')
12
+ endpoint = endpoint.gsub(%r{^/}, '')
13
+ endpoint = format(endpoint, id)
21
14
 
22
- action = { method: "get", url: endpoint}
15
+ action = { method: 'get', url: endpoint }
23
16
  @client.call_adyen_api(@service, action, {}, headers, @version)
24
17
  end
25
18
 
26
- def get_all_transaction_rules_for_payment_instrument_group(id, headers: {} )
27
- """
28
- Get all transaction rules for a payment instrument group
29
- """
30
- endpoint = "/paymentInstrumentGroups/{id}/transactionRules".gsub(/{.+?}/, '%s')
31
- endpoint = endpoint.gsub(/^\//, "")
32
- endpoint = endpoint % [id]
19
+ def get_all_transaction_rules_for_payment_instrument_group(id, headers: {})
20
+ endpoint = '/paymentInstrumentGroups/{id}/transactionRules'.gsub(/{.+?}/, '%s')
21
+ endpoint = endpoint.gsub(%r{^/}, '')
22
+ endpoint = format(endpoint, id)
33
23
 
34
- action = { method: "get", url: endpoint}
24
+ action = { method: 'get', url: endpoint }
35
25
  @client.call_adyen_api(@service, action, {}, headers, @version)
36
26
  end
37
27
 
38
- def create_payment_instrument_group(request, headers: {} )
39
- """
40
- Create a payment instrument group
41
- """
42
- endpoint = "/paymentInstrumentGroups".gsub(/{.+?}/, '%s')
43
- endpoint = endpoint.gsub(/^\//, "")
44
- endpoint = endpoint % []
28
+ def create_payment_instrument_group(request, headers: {})
29
+ endpoint = '/paymentInstrumentGroups'.gsub(/{.+?}/, '%s')
30
+ endpoint = endpoint.gsub(%r{^/}, '')
31
+ endpoint = format(endpoint)
45
32
 
46
- action = { method: "post", url: endpoint}
33
+ action = { method: 'post', url: endpoint }
47
34
  @client.call_adyen_api(@service, action, request, headers, @version)
48
35
  end
49
36