adyen-ruby-api-library 11.2.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/workflows/codeql.yml +4 -4
  4. data/.github/workflows/release.yml +1 -1
  5. data/.github/workflows/ruby.yml +3 -3
  6. data/.github/workflows/rubygems_release.yml +1 -1
  7. data/.github/workflows/stale.yml +1 -1
  8. data/Gemfile +2 -2
  9. data/README.md +30 -7
  10. data/VERSION +1 -1
  11. data/adyen-ruby-api-library.gemspec +1 -1
  12. data/lib/adyen/client.rb +10 -16
  13. data/lib/adyen/deprecation.rb +34 -0
  14. data/lib/adyen/services/balanceControl/balance_control_api.rb +3 -3
  15. data/lib/adyen/services/balancePlatform/account_holders_api.rb +14 -18
  16. data/lib/adyen/services/balancePlatform/authorized_card_users_api.rb +4 -12
  17. data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +5 -65
  18. data/lib/adyen/services/balancePlatform/balances_api.rb +5 -15
  19. data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +1 -3
  20. data/lib/adyen/services/balancePlatform/card_orders_api.rb +2 -6
  21. data/lib/adyen/services/balancePlatform/custom_payout_schedules_sweeps_api.rb +56 -0
  22. data/lib/adyen/services/balancePlatform/direct_debit_mandates_api.rb +48 -0
  23. data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +3 -3
  24. data/lib/adyen/services/balancePlatform/grant_offers_api.rb +6 -6
  25. data/lib/adyen/services/balancePlatform/manage_card_pin_api.rb +3 -9
  26. data/lib/adyen/services/balancePlatform/manage_sca_devices_api.rb +6 -18
  27. data/lib/adyen/services/balancePlatform/managed_payout_schedules_api.rb +80 -0
  28. data/lib/adyen/services/balancePlatform/network_tokens_api.rb +2 -6
  29. data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +3 -9
  30. data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +9 -27
  31. data/lib/adyen/services/balancePlatform/platform_api.rb +3 -9
  32. data/lib/adyen/services/balancePlatform/recurring_top_ups_api.rb +48 -0
  33. data/lib/adyen/services/balancePlatform/sca_association_management_api.rb +3 -9
  34. data/lib/adyen/services/balancePlatform/sca_device_management_api.rb +11 -9
  35. data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +4 -12
  36. data/lib/adyen/services/balancePlatform/transfer_limits_balance_account_level_api.rb +6 -18
  37. data/lib/adyen/services/balancePlatform/transfer_limits_balance_platform_level_api.rb +4 -12
  38. data/lib/adyen/services/balancePlatform/transfer_routes_api.rb +1 -3
  39. data/lib/adyen/services/balancePlatform.rb +20 -0
  40. data/lib/adyen/services/binLookup/bin_lookup_api.rb +2 -6
  41. data/lib/adyen/services/capital/dynamic_offers_api.rb +40 -0
  42. data/lib/adyen/services/capital/grant_accounts_api.rb +1 -3
  43. data/lib/adyen/services/capital/grant_offers_api.rb +4 -8
  44. data/lib/adyen/services/capital/grants_api.rb +6 -18
  45. data/lib/adyen/services/capital.rb +5 -0
  46. data/lib/adyen/services/checkout/donations_api.rb +2 -6
  47. data/lib/adyen/services/checkout/modifications_api.rb +6 -18
  48. data/lib/adyen/services/checkout/orders_api.rb +3 -9
  49. data/lib/adyen/services/checkout/payment_links_api.rb +3 -9
  50. data/lib/adyen/services/checkout/payments_api.rb +14 -18
  51. data/lib/adyen/services/checkout/recurring_api.rb +4 -12
  52. data/lib/adyen/services/checkout/utility_api.rb +6 -12
  53. data/lib/adyen/services/checkout.rb +1 -1
  54. data/lib/adyen/services/dataProtection/data_protection_api.rb +1 -3
  55. data/lib/adyen/services/disputes/disputes_api.rb +5 -15
  56. data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +4 -12
  57. data/lib/adyen/services/legalEntityManagement/documents_api.rb +4 -12
  58. data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +3 -9
  59. data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +7 -21
  60. data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +5 -15
  61. data/lib/adyen/services/legalEntityManagement/tax_e_delivery_consent_api.rb +2 -6
  62. data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +5 -15
  63. data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +4 -12
  64. data/lib/adyen/services/management/account_company_level_api.rb +3 -9
  65. data/lib/adyen/services/management/account_merchant_level_api.rb +4 -12
  66. data/lib/adyen/services/management/account_store_level_api.rb +8 -24
  67. data/lib/adyen/services/management/allowed_origins_company_level_api.rb +4 -12
  68. data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +4 -12
  69. data/lib/adyen/services/management/android_files_company_level_api.rb +6 -18
  70. data/lib/adyen/services/management/api_credentials_company_level_api.rb +4 -12
  71. data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +4 -12
  72. data/lib/adyen/services/management/api_key_company_level_api.rb +1 -3
  73. data/lib/adyen/services/management/api_key_merchant_level_api.rb +1 -3
  74. data/lib/adyen/services/management/client_key_company_level_api.rb +1 -3
  75. data/lib/adyen/services/management/client_key_merchant_level_api.rb +1 -3
  76. data/lib/adyen/services/management/donation_campaigns_api.rb +64 -0
  77. data/lib/adyen/services/management/my_api_credential_api.rb +6 -18
  78. data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +6 -18
  79. data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +5 -15
  80. data/lib/adyen/services/management/split_configuration_merchant_level_api.rb +9 -27
  81. data/lib/adyen/services/management/terminal_actions_company_level_api.rb +2 -6
  82. data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +1 -3
  83. data/lib/adyen/services/management/terminal_orders_company_level_api.rb +10 -30
  84. data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +10 -30
  85. data/lib/adyen/services/management/terminal_settings_company_level_api.rb +4 -12
  86. data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +4 -12
  87. data/lib/adyen/services/management/terminal_settings_store_level_api.rb +8 -24
  88. data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +4 -12
  89. data/lib/adyen/services/management/terminals_terminal_level_api.rb +2 -6
  90. data/lib/adyen/services/management/users_company_level_api.rb +4 -12
  91. data/lib/adyen/services/management/users_merchant_level_api.rb +4 -12
  92. data/lib/adyen/services/management/webhooks_company_level_api.rb +7 -21
  93. data/lib/adyen/services/management/webhooks_merchant_level_api.rb +7 -21
  94. data/lib/adyen/services/management.rb +5 -0
  95. data/lib/adyen/services/payment/modifications_api.rb +10 -24
  96. data/lib/adyen/services/payment/payments_api.rb +5 -15
  97. data/lib/adyen/services/paymentsApp/payments_app_api.rb +5 -15
  98. data/lib/adyen/services/payout/initialization_api.rb +3 -9
  99. data/lib/adyen/services/payout/instant_payouts_api.rb +1 -3
  100. data/lib/adyen/services/payout/reviewing_api.rb +2 -6
  101. data/lib/adyen/services/posMobile/pos_mobile_api.rb +6 -3
  102. data/lib/adyen/services/posTerminalManagement.rb +10 -0
  103. data/lib/adyen/services/recurring/recurring_api.rb +10 -18
  104. data/lib/adyen/services/service.rb +12 -2
  105. data/lib/adyen/services/sessionAuthentication/session_authentication_api.rb +1 -3
  106. data/lib/adyen/services/storedValue/stored_value_api.rb +6 -18
  107. data/lib/adyen/services/transfers/capital_api.rb +9 -9
  108. data/lib/adyen/services/transfers/cash_out_api.rb +24 -0
  109. data/lib/adyen/services/transfers/transactions_api.rb +2 -6
  110. data/lib/adyen/services/transfers/transfers_api.rb +6 -18
  111. data/lib/adyen/services/transfers.rb +5 -0
  112. data/lib/adyen/utils/hmac_validator.rb +15 -18
  113. data/lib/adyen/version.rb +1 -1
  114. data/sdk-generation-log/balancecontrol.json +8 -0
  115. data/sdk-generation-log/balanceplatform.json +8 -0
  116. data/sdk-generation-log/binlookup.json +8 -0
  117. data/sdk-generation-log/capital.json +8 -0
  118. data/sdk-generation-log/checkout.json +8 -0
  119. data/sdk-generation-log/dataprotection.json +8 -0
  120. data/sdk-generation-log/disputes.json +8 -0
  121. data/sdk-generation-log/legalentitymanagement.json +8 -0
  122. data/sdk-generation-log/management.json +8 -0
  123. data/sdk-generation-log/payment.json +8 -0
  124. data/sdk-generation-log/paymentsapp.json +8 -0
  125. data/sdk-generation-log/payout.json +8 -0
  126. data/sdk-generation-log/posmobile.json +8 -0
  127. data/sdk-generation-log/recurring.json +8 -0
  128. data/sdk-generation-log/sessionauthentication.json +8 -0
  129. data/sdk-generation-log/storedvalue.json +8 -0
  130. data/sdk-generation-log/transfers.json +8 -0
  131. data/spec/balance_control_spec.rb +41 -0
  132. data/spec/balance_platform_spec.rb +609 -4
  133. data/spec/capital_spec.rb +82 -0
  134. data/spec/checkout-oauth_spec.rb +220 -10
  135. data/spec/checkout_spec.rb +245 -10
  136. data/spec/client_spec.rb +23 -5
  137. data/spec/deprecation_spec.rb +112 -0
  138. data/spec/management_spec.rb +184 -0
  139. data/spec/mocks/requests/BalancePlatform/apply_managed_schedule.json +14 -0
  140. data/spec/mocks/requests/BalancePlatform/begin_sca_device_registration.json +4 -0
  141. data/spec/mocks/requests/BalancePlatform/create_recurring_top_up.json +21 -0
  142. data/spec/mocks/requests/BalancePlatform/create_sweep.json +10 -0
  143. data/spec/mocks/requests/BalancePlatform/finish_sca_device_registration.json +3 -0
  144. data/spec/mocks/requests/BalancePlatform/submit_sca_association.json +8 -0
  145. data/spec/mocks/requests/BalancePlatform/update_balance_account_managed_schedule.json +5 -0
  146. data/spec/mocks/requests/BalancePlatform/update_mandate.json +14 -0
  147. data/spec/mocks/requests/BalancePlatform/update_recurring_top_ups.json +3 -0
  148. data/spec/mocks/requests/BalancePlatform/update_sweep.json +6 -0
  149. data/spec/mocks/requests/Checkout/amount_updates.json +1 -1
  150. data/spec/mocks/requests/Checkout/card_details.json +3 -0
  151. data/spec/mocks/requests/Checkout/create_stored_payment_method.json +10 -0
  152. data/spec/mocks/requests/Checkout/donation_campaigns.json +4 -0
  153. data/spec/mocks/requests/Checkout/donations.json +9 -0
  154. data/spec/mocks/requests/Checkout/orders.json +5 -3
  155. data/spec/mocks/requests/Checkout/payment-details.json +2 -14
  156. data/spec/mocks/requests/Checkout/payment_methods_balance.json +5 -2
  157. data/spec/mocks/requests/Checkout/payments.json +9 -10
  158. data/spec/mocks/requests/Checkout/paypal_update_order.json +5 -0
  159. data/spec/mocks/requests/Checkout/reversals.json +3 -0
  160. data/spec/mocks/requests/Checkout/update_session.json +7 -0
  161. data/spec/mocks/requests/Management/create_donation_campaign.json +7 -0
  162. data/spec/mocks/requests/Management/list_nonprofits.json +5 -0
  163. data/spec/mocks/requests/Management/update_donation_campaign.json +6 -0
  164. data/spec/mocks/requests/Transfers/initiate_cashout.json +12 -0
  165. data/spec/mocks/responses/BalancePlatform/apply_managed_schedule.json +17 -0
  166. data/spec/mocks/responses/BalancePlatform/begin_sca_device_registration.json +8 -0
  167. data/spec/mocks/responses/BalancePlatform/create_recurring_top_up.json +23 -0
  168. data/spec/mocks/responses/BalancePlatform/create_sweep.json +12 -0
  169. data/spec/mocks/responses/BalancePlatform/finish_sca_device_registration.json +7 -0
  170. data/spec/mocks/responses/BalancePlatform/get_all_sweeps_for_balance_account.json +31 -0
  171. data/spec/mocks/responses/BalancePlatform/get_balance_account_managed_schedule_by_id.json +17 -0
  172. data/spec/mocks/responses/BalancePlatform/get_balance_account_managed_schedules.json +26 -0
  173. data/spec/mocks/responses/BalancePlatform/get_balance_platform_managed_schedule_by_id.json +27 -0
  174. data/spec/mocks/responses/BalancePlatform/get_balance_platform_managed_schedules.json +31 -0
  175. data/spec/mocks/responses/BalancePlatform/get_list_of_mandates.json +19 -0
  176. data/spec/mocks/responses/BalancePlatform/get_mandate_by_id.json +14 -0
  177. data/spec/mocks/responses/BalancePlatform/get_payout_schedule_executions.json +21 -0
  178. data/spec/mocks/responses/BalancePlatform/get_recurring_top_ups.json +35 -0
  179. data/spec/mocks/responses/BalancePlatform/get_sweep.json +12 -0
  180. data/spec/mocks/responses/BalancePlatform/get_tax_form_summary.json +17 -0
  181. data/spec/mocks/responses/BalancePlatform/submit_sca_association.json +10 -0
  182. data/spec/mocks/responses/BalancePlatform/update_balance_account_managed_schedule.json +18 -0
  183. data/spec/mocks/responses/BalancePlatform/update_recurring_top_ups.json +23 -0
  184. data/spec/mocks/responses/BalancePlatform/update_sweep.json +12 -0
  185. data/spec/mocks/responses/Capital/calculate-preliminary-offer-from-dynamic-offer.json +16 -0
  186. data/spec/mocks/responses/Capital/create-static-offer-from-dynamic-offer.json +9 -0
  187. data/spec/mocks/responses/Capital/get-all-dynamic-offers.json +18 -0
  188. data/spec/mocks/responses/Checkout/amount_updates.json +1 -1
  189. data/spec/mocks/responses/Checkout/card_details.json +5 -0
  190. data/spec/mocks/responses/Checkout/create_stored_payment_method.json +5 -0
  191. data/spec/mocks/responses/Checkout/donation_campaigns.json +1 -0
  192. data/spec/mocks/responses/Checkout/donations.json +5 -0
  193. data/spec/mocks/responses/Checkout/orders.json +6 -1
  194. data/spec/mocks/responses/Checkout/orders_cancel.json +1 -1
  195. data/spec/mocks/responses/Checkout/payment-details.json +2 -13
  196. data/spec/mocks/responses/Checkout/payment_links.json +3 -0
  197. data/spec/mocks/responses/Checkout/payment_methods.json +2 -2
  198. data/spec/mocks/responses/Checkout/payment_methods_balance.json +5 -1
  199. data/spec/mocks/responses/Checkout/payments.json +4 -94
  200. data/spec/mocks/responses/Checkout/paypal_update_order.json +4 -0
  201. data/spec/mocks/responses/Checkout/reversals.json +6 -0
  202. data/spec/mocks/responses/Checkout/update_session.json +3 -0
  203. data/spec/mocks/responses/Management/donation_campaign.json +13 -0
  204. data/spec/mocks/responses/Management/list_donation_campaigns.json +19 -0
  205. data/spec/mocks/responses/Management/list_nonprofits.json +34 -0
  206. data/spec/mocks/responses/Transfers/initiate_cashout.json +31 -0
  207. data/spec/service_spec.rb +40 -0
  208. data/spec/spec_helper.rb +2 -2
  209. data/spec/transfers_spec.rb +28 -0
  210. data/spec/utils/consumer_smoke.rb +23 -0
  211. data/spec/utils/hmac_validator_spec.rb +55 -0
  212. data/templates/api-small.mustache +4 -4
  213. data/templates/api.mustache +4 -4
  214. metadata +84 -2
@@ -0,0 +1,56 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+ # NOTE: This class is auto generated by OpenAPI Generator
5
+ # Ref: https://openapi-generator.tech
6
+ #
7
+ # Do not edit the class manually.
8
+ class CustomPayoutSchedulesSweepsApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'BalancePlatform')
13
+ end
14
+
15
+ # Create a sweep
16
+ def create_sweep(request, balance_account_id, headers: {})
17
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/sweeps', balance_account_id)
18
+
19
+ action = { method: 'post', url: endpoint }
20
+ @client.call_adyen_api(@service, action, request, headers, @version)
21
+ end
22
+
23
+ # Delete a sweep
24
+ def delete_sweep(balance_account_id, sweep_id, headers: {})
25
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}', balance_account_id, sweep_id)
26
+
27
+ action = { method: 'delete', url: endpoint }
28
+ @client.call_adyen_api(@service, action, {}, headers, @version)
29
+ end
30
+
31
+ # Get all sweeps for a balance account
32
+ def get_all_sweeps_for_balance_account(balance_account_id, headers: {}, query_params: {})
33
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/sweeps', balance_account_id)
34
+ endpoint += create_query_string(query_params)
35
+ action = { method: 'get', url: endpoint }
36
+ @client.call_adyen_api(@service, action, {}, headers, @version)
37
+ end
38
+
39
+ # Get a sweep
40
+ def get_sweep(balance_account_id, sweep_id, headers: {})
41
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}', balance_account_id, sweep_id)
42
+
43
+ action = { method: 'get', url: endpoint }
44
+ @client.call_adyen_api(@service, action, {}, headers, @version)
45
+ end
46
+
47
+ # Update a sweep
48
+ def update_sweep(request, balance_account_id, sweep_id, headers: {})
49
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/sweeps/{sweepId}', balance_account_id, sweep_id)
50
+
51
+ action = { method: 'patch', url: endpoint }
52
+ @client.call_adyen_api(@service, action, request, headers, @version)
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,48 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+ # NOTE: This class is auto generated by OpenAPI Generator
5
+ # Ref: https://openapi-generator.tech
6
+ #
7
+ # Do not edit the class manually.
8
+ class DirectDebitMandatesApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'BalancePlatform')
13
+ end
14
+
15
+ # Cancel a mandate
16
+ def cancel_mandate(mandate_id, headers: {})
17
+ endpoint = build_endpoint('/mandates/{mandateId}/cancel', mandate_id)
18
+
19
+ action = { method: 'post', url: endpoint }
20
+ @client.call_adyen_api(@service, action, {}, headers, @version)
21
+ end
22
+
23
+ # Get a list of mandates
24
+ def get_list_of_mandates(headers: {}, query_params: {})
25
+ endpoint = build_endpoint('/mandates')
26
+ endpoint += create_query_string(query_params)
27
+ action = { method: 'get', url: endpoint }
28
+ @client.call_adyen_api(@service, action, {}, headers, @version)
29
+ end
30
+
31
+ # Get a specific mandate
32
+ def get_mandate_by_id(mandate_id, headers: {})
33
+ endpoint = build_endpoint('/mandates/{mandateId}', mandate_id)
34
+
35
+ action = { method: 'get', url: endpoint }
36
+ @client.call_adyen_api(@service, action, {}, headers, @version)
37
+ end
38
+
39
+ # Amend a mandate
40
+ def update_mandate(request, mandate_id, headers: {})
41
+ endpoint = build_endpoint('/mandates/{mandateId}', mandate_id)
42
+
43
+ action = { method: 'patch', url: endpoint }
44
+ @client.call_adyen_api(@service, action, request, headers, @version)
45
+ end
46
+
47
+ end
48
+ end
@@ -16,10 +16,10 @@ module Adyen
16
16
  #
17
17
  # Deprecated since Configuration API v2
18
18
  # Use the `/grantAccounts/{id}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantAccounts/(id)) instead.
19
+ # @deprecated
19
20
  def get_grant_account(id, headers: {})
20
- endpoint = '/grantAccounts/{id}'.gsub(/{.+?}/, '%s')
21
- endpoint = endpoint.gsub(%r{^/}, '')
22
- endpoint = format(endpoint, id)
21
+ Adyen::Deprecation.warn(:get_grant_account, since: 'Configuration API v2', message: 'Use the `/grantAccounts/{id}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantAccounts/(id)) instead.')
22
+ endpoint = build_endpoint('/grantAccounts/{id}', id)
23
23
 
24
24
  action = { method: 'get', url: endpoint }
25
25
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -16,10 +16,10 @@ module Adyen
16
16
  #
17
17
  # Deprecated since Configuration API v2
18
18
  # Use the `/grantOffers` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers) instead.
19
+ # @deprecated
19
20
  def get_all_available_grant_offers(headers: {}, query_params: {})
20
- endpoint = '/grantOffers'.gsub(/{.+?}/, '%s')
21
- endpoint = endpoint.gsub(%r{^/}, '')
22
- endpoint = format(endpoint)
21
+ Adyen::Deprecation.warn(:get_all_available_grant_offers, since: 'Configuration API v2', message: 'Use the `/grantOffers` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers) instead.')
22
+ endpoint = build_endpoint('/grantOffers')
23
23
  endpoint += create_query_string(query_params)
24
24
  action = { method: 'get', url: endpoint }
25
25
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -29,10 +29,10 @@ module Adyen
29
29
  #
30
30
  # Deprecated since Configuration API v2
31
31
  # Use the `/grantOffers/{id}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers/(id)) instead.
32
+ # @deprecated
32
33
  def get_grant_offer(grant_offer_id, headers: {})
33
- endpoint = '/grantOffers/{grantOfferId}'.gsub(/{.+?}/, '%s')
34
- endpoint = endpoint.gsub(%r{^/}, '')
35
- endpoint = format(endpoint, grant_offer_id)
34
+ Adyen::Deprecation.warn(:get_grant_offer, since: 'Configuration API v2', message: 'Use the `/grantOffers/{id}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers/(id)) instead.')
35
+ endpoint = build_endpoint('/grantOffers/{grantOfferId}', grant_offer_id)
36
36
 
37
37
  action = { method: 'get', url: endpoint }
38
38
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Change a card PIN
16
16
  def change_card_pin(request, headers: {})
17
- endpoint = '/pins/change'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint)
17
+ endpoint = build_endpoint('/pins/change')
20
18
 
21
19
  action = { method: 'post', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Get an RSA public key
26
24
  def public_key(headers: {}, query_params: {})
27
- endpoint = '/publicKey'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint)
25
+ endpoint = build_endpoint('/publicKey')
30
26
  endpoint += create_query_string(query_params)
31
27
  action = { method: 'get', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -34,9 +30,7 @@ module Adyen
34
30
 
35
31
  # Reveal a card PIN
36
32
  def reveal_card_pin(request, headers: {})
37
- endpoint = '/pins/reveal'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint)
33
+ endpoint = build_endpoint('/pins/reveal')
40
34
 
41
35
  action = { method: 'post', url: endpoint }
42
36
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Complete an association between an SCA device and a resource
16
16
  def complete_association_between_sca_device_and_resource(request, device_id, headers: {})
17
- endpoint = '/registeredDevices/{deviceId}/associations'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint, device_id)
17
+ endpoint = build_endpoint('/registeredDevices/{deviceId}/associations', device_id)
20
18
 
21
19
  action = { method: 'patch', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Complete the registration of an SCA device
26
24
  def complete_registration_of_sca_device(request, id, headers: {})
27
- endpoint = '/registeredDevices/{id}'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint, id)
25
+ endpoint = build_endpoint('/registeredDevices/{id}', id)
30
26
 
31
27
  action = { method: 'patch', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -34,9 +30,7 @@ module Adyen
34
30
 
35
31
  # Delete a registration of an SCA device
36
32
  def delete_registration_of_sca_device(id, headers: {}, query_params: {})
37
- endpoint = '/registeredDevices/{id}'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint, id)
33
+ endpoint = build_endpoint('/registeredDevices/{id}', id)
40
34
  endpoint += create_query_string(query_params)
41
35
  action = { method: 'delete', url: endpoint }
42
36
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -44,9 +38,7 @@ module Adyen
44
38
 
45
39
  # Initiate an association between an SCA device and a resource
46
40
  def initiate_association_between_sca_device_and_resource(request, device_id, headers: {})
47
- endpoint = '/registeredDevices/{deviceId}/associations'.gsub(/{.+?}/, '%s')
48
- endpoint = endpoint.gsub(%r{^/}, '')
49
- endpoint = format(endpoint, device_id)
41
+ endpoint = build_endpoint('/registeredDevices/{deviceId}/associations', device_id)
50
42
 
51
43
  action = { method: 'post', url: endpoint }
52
44
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -54,9 +46,7 @@ module Adyen
54
46
 
55
47
  # Initiate the registration of an SCA device
56
48
  def initiate_registration_of_sca_device(request, headers: {})
57
- endpoint = '/registeredDevices'.gsub(/{.+?}/, '%s')
58
- endpoint = endpoint.gsub(%r{^/}, '')
59
- endpoint = format(endpoint)
49
+ endpoint = build_endpoint('/registeredDevices')
60
50
 
61
51
  action = { method: 'post', url: endpoint }
62
52
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -64,9 +54,7 @@ module Adyen
64
54
 
65
55
  # Get a list of registered SCA devices
66
56
  def list_registered_sca_devices(headers: {}, query_params: {})
67
- endpoint = '/registeredDevices'.gsub(/{.+?}/, '%s')
68
- endpoint = endpoint.gsub(%r{^/}, '')
69
- endpoint = format(endpoint)
57
+ endpoint = build_endpoint('/registeredDevices')
70
58
  endpoint += create_query_string(query_params)
71
59
  action = { method: 'get', url: endpoint }
72
60
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -0,0 +1,80 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+ # NOTE: This class is auto generated by OpenAPI Generator
5
+ # Ref: https://openapi-generator.tech
6
+ #
7
+ # Do not edit the class manually.
8
+ class ManagedPayoutSchedulesApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'BalancePlatform')
13
+ end
14
+
15
+ # Apply a managed payout schedule to a balance account
16
+ def apply_managed_schedule(request, balance_account_id, headers: {})
17
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/payoutSchedules', balance_account_id)
18
+
19
+ action = { method: 'post', url: endpoint }
20
+ @client.call_adyen_api(@service, action, request, headers, @version)
21
+ end
22
+
23
+ # Delete a managed payout schedule on a balance account
24
+ def delete_balance_account_managed_schedule(balance_account_id, id, headers: {})
25
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/payoutSchedules/{id}', balance_account_id, id)
26
+
27
+ action = { method: 'delete', url: endpoint }
28
+ @client.call_adyen_api(@service, action, {}, headers, @version)
29
+ end
30
+
31
+ # Get a specific managed payout schedule on a balance account
32
+ def get_balance_account_managed_schedule_by_id(balance_account_id, id, headers: {})
33
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/payoutSchedules/{id}', balance_account_id, id)
34
+
35
+ action = { method: 'get', url: endpoint }
36
+ @client.call_adyen_api(@service, action, {}, headers, @version)
37
+ end
38
+
39
+ # Get all managed payout schedules on a balance account
40
+ def get_balance_account_managed_schedules(balance_account_id, headers: {}, query_params: {})
41
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/payoutSchedules', balance_account_id)
42
+ endpoint += create_query_string(query_params)
43
+ action = { method: 'get', url: endpoint }
44
+ @client.call_adyen_api(@service, action, {}, headers, @version)
45
+ end
46
+
47
+ # Get a specific managed payout schedule on your balance platform
48
+ def get_balance_platform_managed_schedule_by_id(balance_platform_id, id, headers: {})
49
+ endpoint = build_endpoint('/balancePlatforms/{balancePlatformId}/payoutSchedules/{id}', balance_platform_id, id)
50
+
51
+ action = { method: 'get', url: endpoint }
52
+ @client.call_adyen_api(@service, action, {}, headers, @version)
53
+ end
54
+
55
+ # Get all managed payout schedules on your balance platform
56
+ def get_balance_platform_managed_schedules(balance_platform_id, headers: {}, query_params: {})
57
+ endpoint = build_endpoint('/balancePlatforms/{balancePlatformId}/payoutSchedules', balance_platform_id)
58
+ endpoint += create_query_string(query_params)
59
+ action = { method: 'get', url: endpoint }
60
+ @client.call_adyen_api(@service, action, {}, headers, @version)
61
+ end
62
+
63
+ # View executions of a managed payout schedule
64
+ def get_payout_schedule_executions(balance_account_id, id, headers: {}, query_params: {})
65
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/payoutSchedules/{id}/executions', balance_account_id, id)
66
+ endpoint += create_query_string(query_params)
67
+ action = { method: 'get', url: endpoint }
68
+ @client.call_adyen_api(@service, action, {}, headers, @version)
69
+ end
70
+
71
+ # Update a managed payout schedule on a balance account
72
+ def update_balance_account_managed_schedule(request, balance_account_id, id, headers: {})
73
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/payoutSchedules/{id}', balance_account_id, id)
74
+
75
+ action = { method: 'patch', url: endpoint }
76
+ @client.call_adyen_api(@service, action, request, headers, @version)
77
+ end
78
+
79
+ end
80
+ end
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Get a network token
16
16
  def get_network_token(network_token_id, headers: {})
17
- endpoint = '/networkTokens/{networkTokenId}'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint, network_token_id)
17
+ endpoint = build_endpoint('/networkTokens/{networkTokenId}', network_token_id)
20
18
 
21
19
  action = { method: 'get', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Update a network token
26
24
  def update_network_token(request, network_token_id, headers: {})
27
- endpoint = '/networkTokens/{networkTokenId}'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint, network_token_id)
25
+ endpoint = build_endpoint('/networkTokens/{networkTokenId}', network_token_id)
30
26
 
31
27
  action = { method: 'patch', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Create a payment instrument group
16
16
  def create_payment_instrument_group(request, headers: {})
17
- endpoint = '/paymentInstrumentGroups'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint)
17
+ endpoint = build_endpoint('/paymentInstrumentGroups')
20
18
 
21
19
  action = { method: 'post', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Get all transaction rules for a payment instrument group
26
24
  def get_all_transaction_rules_for_payment_instrument_group(id, headers: {})
27
- endpoint = '/paymentInstrumentGroups/{id}/transactionRules'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint, id)
25
+ endpoint = build_endpoint('/paymentInstrumentGroups/{id}/transactionRules', id)
30
26
 
31
27
  action = { method: 'get', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -34,9 +30,7 @@ module Adyen
34
30
 
35
31
  # Get a payment instrument group
36
32
  def get_payment_instrument_group(id, headers: {})
37
- endpoint = '/paymentInstrumentGroups/{id}'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint, id)
33
+ endpoint = build_endpoint('/paymentInstrumentGroups/{id}', id)
40
34
 
41
35
  action = { method: 'get', url: endpoint }
42
36
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Create network token provisioning data
16
16
  def create_network_token_provisioning_data(request, id, headers: {})
17
- endpoint = '/paymentInstruments/{id}/networkTokenActivationData'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint, id)
17
+ endpoint = build_endpoint('/paymentInstruments/{id}/networkTokenActivationData', id)
20
18
 
21
19
  action = { method: 'post', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Create a payment instrument
26
24
  def create_payment_instrument(request, headers: {})
27
- endpoint = '/paymentInstruments'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint)
25
+ endpoint = build_endpoint('/paymentInstruments')
30
26
 
31
27
  action = { method: 'post', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -34,9 +30,7 @@ module Adyen
34
30
 
35
31
  # Get all transaction rules for a payment instrument
36
32
  def get_all_transaction_rules_for_payment_instrument(id, headers: {})
37
- endpoint = '/paymentInstruments/{id}/transactionRules'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint, id)
33
+ endpoint = build_endpoint('/paymentInstruments/{id}/transactionRules', id)
40
34
 
41
35
  action = { method: 'get', url: endpoint }
42
36
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -44,9 +38,7 @@ module Adyen
44
38
 
45
39
  # Get network token activation data
46
40
  def get_network_token_activation_data(id, headers: {})
47
- endpoint = '/paymentInstruments/{id}/networkTokenActivationData'.gsub(/{.+?}/, '%s')
48
- endpoint = endpoint.gsub(%r{^/}, '')
49
- endpoint = format(endpoint, id)
41
+ endpoint = build_endpoint('/paymentInstruments/{id}/networkTokenActivationData', id)
50
42
 
51
43
  action = { method: 'get', url: endpoint }
52
44
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -54,9 +46,7 @@ module Adyen
54
46
 
55
47
  # Get the PAN of a payment instrument
56
48
  def get_pan_of_payment_instrument(id, headers: {})
57
- endpoint = '/paymentInstruments/{id}/reveal'.gsub(/{.+?}/, '%s')
58
- endpoint = endpoint.gsub(%r{^/}, '')
59
- endpoint = format(endpoint, id)
49
+ endpoint = build_endpoint('/paymentInstruments/{id}/reveal', id)
60
50
 
61
51
  action = { method: 'get', url: endpoint }
62
52
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -64,9 +54,7 @@ module Adyen
64
54
 
65
55
  # Get a payment instrument
66
56
  def get_payment_instrument(id, headers: {})
67
- endpoint = '/paymentInstruments/{id}'.gsub(/{.+?}/, '%s')
68
- endpoint = endpoint.gsub(%r{^/}, '')
69
- endpoint = format(endpoint, id)
57
+ endpoint = build_endpoint('/paymentInstruments/{id}', id)
70
58
 
71
59
  action = { method: 'get', url: endpoint }
72
60
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -74,9 +62,7 @@ module Adyen
74
62
 
75
63
  # List network tokens
76
64
  def list_network_tokens(id, headers: {})
77
- endpoint = '/paymentInstruments/{id}/networkTokens'.gsub(/{.+?}/, '%s')
78
- endpoint = endpoint.gsub(%r{^/}, '')
79
- endpoint = format(endpoint, id)
65
+ endpoint = build_endpoint('/paymentInstruments/{id}/networkTokens', id)
80
66
 
81
67
  action = { method: 'get', url: endpoint }
82
68
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -84,9 +70,7 @@ module Adyen
84
70
 
85
71
  # Reveal the data of a payment instrument
86
72
  def reveal_data_of_payment_instrument(request, headers: {})
87
- endpoint = '/paymentInstruments/reveal'.gsub(/{.+?}/, '%s')
88
- endpoint = endpoint.gsub(%r{^/}, '')
89
- endpoint = format(endpoint)
73
+ endpoint = build_endpoint('/paymentInstruments/reveal')
90
74
 
91
75
  action = { method: 'post', url: endpoint }
92
76
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -94,9 +78,7 @@ module Adyen
94
78
 
95
79
  # Update a payment instrument
96
80
  def update_payment_instrument(request, id, headers: {})
97
- endpoint = '/paymentInstruments/{id}'.gsub(/{.+?}/, '%s')
98
- endpoint = endpoint.gsub(%r{^/}, '')
99
- endpoint = format(endpoint, id)
81
+ endpoint = build_endpoint('/paymentInstruments/{id}', id)
100
82
 
101
83
  action = { method: 'patch', url: endpoint }
102
84
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Get all account holders under a balance platform
16
16
  def get_all_account_holders_under_balance_platform(id, headers: {}, query_params: {})
17
- endpoint = '/balancePlatforms/{id}/accountHolders'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint, id)
17
+ endpoint = build_endpoint('/balancePlatforms/{id}/accountHolders', id)
20
18
  endpoint += create_query_string(query_params)
21
19
  action = { method: 'get', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Get all transaction rules for a balance platform
26
24
  def get_all_transaction_rules_for_balance_platform(id, headers: {})
27
- endpoint = '/balancePlatforms/{id}/transactionRules'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint, id)
25
+ endpoint = build_endpoint('/balancePlatforms/{id}/transactionRules', id)
30
26
 
31
27
  action = { method: 'get', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -34,9 +30,7 @@ module Adyen
34
30
 
35
31
  # Get a balance platform
36
32
  def get_balance_platform(id, headers: {})
37
- endpoint = '/balancePlatforms/{id}'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint, id)
33
+ endpoint = build_endpoint('/balancePlatforms/{id}', id)
40
34
 
41
35
  action = { method: 'get', url: endpoint }
42
36
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -0,0 +1,48 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+ # NOTE: This class is auto generated by OpenAPI Generator
5
+ # Ref: https://openapi-generator.tech
6
+ #
7
+ # Do not edit the class manually.
8
+ class RecurringTopUpsApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'BalancePlatform')
13
+ end
14
+
15
+ # Create recurring top up
16
+ def create_recurring_top_up(request, balance_account_id, headers: {})
17
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/recurringTopUps', balance_account_id)
18
+
19
+ action = { method: 'post', url: endpoint }
20
+ @client.call_adyen_api(@service, action, request, headers, @version)
21
+ end
22
+
23
+ # Delete a recurring top up
24
+ def delete_recurring_top_up(balance_account_id, top_up_id, headers: {})
25
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/recurringTopUps/{topUpId}', balance_account_id, top_up_id)
26
+
27
+ action = { method: 'delete', url: endpoint }
28
+ @client.call_adyen_api(@service, action, {}, headers, @version)
29
+ end
30
+
31
+ # Get recurring top ups for a specific balanceAccountId
32
+ def get_recurring_top_ups(balance_account_id, headers: {}, query_params: {})
33
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/recurringTopUps', balance_account_id)
34
+ endpoint += create_query_string(query_params)
35
+ action = { method: 'get', url: endpoint }
36
+ @client.call_adyen_api(@service, action, {}, headers, @version)
37
+ end
38
+
39
+ # Update a RecurringTopUp
40
+ def update_recurring_top_ups(request, balance_account_id, top_up_id, headers: {})
41
+ endpoint = build_endpoint('/balanceAccounts/{balanceAccountId}/recurringTopUps/{topUpId}', balance_account_id, top_up_id)
42
+
43
+ action = { method: 'patch', url: endpoint }
44
+ @client.call_adyen_api(@service, action, request, headers, @version)
45
+ end
46
+
47
+ end
48
+ end
@@ -14,9 +14,7 @@ module Adyen
14
14
 
15
15
  # Approve a pending approval association
16
16
  def approve_association(request, headers: {})
17
- endpoint = '/scaAssociations'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint)
17
+ endpoint = build_endpoint('/scaAssociations')
20
18
 
21
19
  action = { method: 'patch', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -24,9 +22,7 @@ module Adyen
24
22
 
25
23
  # Get a list of devices associated with an entity
26
24
  def list_associations(headers: {}, query_params: {})
27
- endpoint = '/scaAssociations'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint)
25
+ endpoint = build_endpoint('/scaAssociations')
30
26
  endpoint += create_query_string(query_params)
31
27
  action = { method: 'get', url: endpoint }
32
28
  @client.call_adyen_api(@service, action, {}, headers, @version)
@@ -34,9 +30,7 @@ module Adyen
34
30
 
35
31
  # Delete association to devices
36
32
  def remove_association(request, headers: {})
37
- endpoint = '/scaAssociations'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint)
33
+ endpoint = build_endpoint('/scaAssociations')
40
34
 
41
35
  action = { method: 'delete', url: endpoint }
42
36
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -14,19 +14,23 @@ module Adyen
14
14
 
15
15
  # Begin SCA device registration
16
16
  def begin_sca_device_registration(request, headers: {})
17
- endpoint = '/scaDevices'.gsub(/{.+?}/, '%s')
18
- endpoint = endpoint.gsub(%r{^/}, '')
19
- endpoint = format(endpoint)
17
+ endpoint = build_endpoint('/scaDevices')
20
18
 
21
19
  action = { method: 'post', url: endpoint }
22
20
  @client.call_adyen_api(@service, action, request, headers, @version)
23
21
  end
24
22
 
23
+ # Delete an SCA device
24
+ def delete_sca_device(device_id, headers: {})
25
+ endpoint = build_endpoint('/scaDevices/{deviceId}', device_id)
26
+
27
+ action = { method: 'delete', url: endpoint }
28
+ @client.call_adyen_api(@service, action, {}, headers, @version)
29
+ end
30
+
25
31
  # Finish registration process for a SCA device
26
32
  def finish_sca_device_registration(request, device_id, headers: {})
27
- endpoint = '/scaDevices/{deviceId}'.gsub(/{.+?}/, '%s')
28
- endpoint = endpoint.gsub(%r{^/}, '')
29
- endpoint = format(endpoint, device_id)
33
+ endpoint = build_endpoint('/scaDevices/{deviceId}', device_id)
30
34
 
31
35
  action = { method: 'patch', url: endpoint }
32
36
  @client.call_adyen_api(@service, action, request, headers, @version)
@@ -34,9 +38,7 @@ module Adyen
34
38
 
35
39
  # Create a new SCA association for a device
36
40
  def submit_sca_association(request, device_id, headers: {})
37
- endpoint = '/scaDevices/{deviceId}/scaAssociations'.gsub(/{.+?}/, '%s')
38
- endpoint = endpoint.gsub(%r{^/}, '')
39
- endpoint = format(endpoint, device_id)
41
+ endpoint = build_endpoint('/scaDevices/{deviceId}/scaAssociations', device_id)
40
42
 
41
43
  action = { method: 'post', url: endpoint }
42
44
  @client.call_adyen_api(@service, action, request, headers, @version)