adyen-ruby-api-library 7.0.0 → 7.0.2

Sign up to get free protection for your applications and to get access to all the features.
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