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.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -1
- data/.github/workflows/codeql.yml +4 -4
- data/.github/workflows/release.yml +1 -1
- data/.github/workflows/ruby.yml +3 -3
- data/.github/workflows/rubygems_release.yml +1 -1
- data/.github/workflows/stale.yml +1 -1
- data/Gemfile +2 -2
- data/README.md +30 -7
- data/VERSION +1 -1
- data/adyen-ruby-api-library.gemspec +1 -1
- data/lib/adyen/client.rb +10 -16
- data/lib/adyen/deprecation.rb +34 -0
- data/lib/adyen/services/balanceControl/balance_control_api.rb +3 -3
- data/lib/adyen/services/balancePlatform/account_holders_api.rb +14 -18
- data/lib/adyen/services/balancePlatform/authorized_card_users_api.rb +4 -12
- data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +5 -65
- data/lib/adyen/services/balancePlatform/balances_api.rb +5 -15
- data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +1 -3
- data/lib/adyen/services/balancePlatform/card_orders_api.rb +2 -6
- data/lib/adyen/services/balancePlatform/custom_payout_schedules_sweeps_api.rb +56 -0
- data/lib/adyen/services/balancePlatform/direct_debit_mandates_api.rb +48 -0
- data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +3 -3
- data/lib/adyen/services/balancePlatform/grant_offers_api.rb +6 -6
- data/lib/adyen/services/balancePlatform/manage_card_pin_api.rb +3 -9
- data/lib/adyen/services/balancePlatform/manage_sca_devices_api.rb +6 -18
- data/lib/adyen/services/balancePlatform/managed_payout_schedules_api.rb +80 -0
- data/lib/adyen/services/balancePlatform/network_tokens_api.rb +2 -6
- data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +3 -9
- data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +9 -27
- data/lib/adyen/services/balancePlatform/platform_api.rb +3 -9
- data/lib/adyen/services/balancePlatform/recurring_top_ups_api.rb +48 -0
- data/lib/adyen/services/balancePlatform/sca_association_management_api.rb +3 -9
- data/lib/adyen/services/balancePlatform/sca_device_management_api.rb +11 -9
- data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +4 -12
- data/lib/adyen/services/balancePlatform/transfer_limits_balance_account_level_api.rb +6 -18
- data/lib/adyen/services/balancePlatform/transfer_limits_balance_platform_level_api.rb +4 -12
- data/lib/adyen/services/balancePlatform/transfer_routes_api.rb +1 -3
- data/lib/adyen/services/balancePlatform.rb +20 -0
- data/lib/adyen/services/binLookup/bin_lookup_api.rb +2 -6
- data/lib/adyen/services/capital/dynamic_offers_api.rb +40 -0
- data/lib/adyen/services/capital/grant_accounts_api.rb +1 -3
- data/lib/adyen/services/capital/grant_offers_api.rb +4 -8
- data/lib/adyen/services/capital/grants_api.rb +6 -18
- data/lib/adyen/services/capital.rb +5 -0
- data/lib/adyen/services/checkout/donations_api.rb +2 -6
- data/lib/adyen/services/checkout/modifications_api.rb +6 -18
- data/lib/adyen/services/checkout/orders_api.rb +3 -9
- data/lib/adyen/services/checkout/payment_links_api.rb +3 -9
- data/lib/adyen/services/checkout/payments_api.rb +14 -18
- data/lib/adyen/services/checkout/recurring_api.rb +4 -12
- data/lib/adyen/services/checkout/utility_api.rb +6 -12
- data/lib/adyen/services/checkout.rb +1 -1
- data/lib/adyen/services/dataProtection/data_protection_api.rb +1 -3
- data/lib/adyen/services/disputes/disputes_api.rb +5 -15
- data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +4 -12
- data/lib/adyen/services/legalEntityManagement/documents_api.rb +4 -12
- data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +3 -9
- data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +7 -21
- data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +5 -15
- data/lib/adyen/services/legalEntityManagement/tax_e_delivery_consent_api.rb +2 -6
- data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +5 -15
- data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +4 -12
- data/lib/adyen/services/management/account_company_level_api.rb +3 -9
- data/lib/adyen/services/management/account_merchant_level_api.rb +4 -12
- data/lib/adyen/services/management/account_store_level_api.rb +8 -24
- data/lib/adyen/services/management/allowed_origins_company_level_api.rb +4 -12
- data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +4 -12
- data/lib/adyen/services/management/android_files_company_level_api.rb +6 -18
- data/lib/adyen/services/management/api_credentials_company_level_api.rb +4 -12
- data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +4 -12
- data/lib/adyen/services/management/api_key_company_level_api.rb +1 -3
- data/lib/adyen/services/management/api_key_merchant_level_api.rb +1 -3
- data/lib/adyen/services/management/client_key_company_level_api.rb +1 -3
- data/lib/adyen/services/management/client_key_merchant_level_api.rb +1 -3
- data/lib/adyen/services/management/donation_campaigns_api.rb +64 -0
- data/lib/adyen/services/management/my_api_credential_api.rb +6 -18
- data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +6 -18
- data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +5 -15
- data/lib/adyen/services/management/split_configuration_merchant_level_api.rb +9 -27
- data/lib/adyen/services/management/terminal_actions_company_level_api.rb +2 -6
- data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +1 -3
- data/lib/adyen/services/management/terminal_orders_company_level_api.rb +10 -30
- data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +10 -30
- data/lib/adyen/services/management/terminal_settings_company_level_api.rb +4 -12
- data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +4 -12
- data/lib/adyen/services/management/terminal_settings_store_level_api.rb +8 -24
- data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +4 -12
- data/lib/adyen/services/management/terminals_terminal_level_api.rb +2 -6
- data/lib/adyen/services/management/users_company_level_api.rb +4 -12
- data/lib/adyen/services/management/users_merchant_level_api.rb +4 -12
- data/lib/adyen/services/management/webhooks_company_level_api.rb +7 -21
- data/lib/adyen/services/management/webhooks_merchant_level_api.rb +7 -21
- data/lib/adyen/services/management.rb +5 -0
- data/lib/adyen/services/payment/modifications_api.rb +10 -24
- data/lib/adyen/services/payment/payments_api.rb +5 -15
- data/lib/adyen/services/paymentsApp/payments_app_api.rb +5 -15
- data/lib/adyen/services/payout/initialization_api.rb +3 -9
- data/lib/adyen/services/payout/instant_payouts_api.rb +1 -3
- data/lib/adyen/services/payout/reviewing_api.rb +2 -6
- data/lib/adyen/services/posMobile/pos_mobile_api.rb +6 -3
- data/lib/adyen/services/posTerminalManagement.rb +10 -0
- data/lib/adyen/services/recurring/recurring_api.rb +10 -18
- data/lib/adyen/services/service.rb +12 -2
- data/lib/adyen/services/sessionAuthentication/session_authentication_api.rb +1 -3
- data/lib/adyen/services/storedValue/stored_value_api.rb +6 -18
- data/lib/adyen/services/transfers/capital_api.rb +9 -9
- data/lib/adyen/services/transfers/cash_out_api.rb +24 -0
- data/lib/adyen/services/transfers/transactions_api.rb +2 -6
- data/lib/adyen/services/transfers/transfers_api.rb +6 -18
- data/lib/adyen/services/transfers.rb +5 -0
- data/lib/adyen/utils/hmac_validator.rb +15 -18
- data/lib/adyen/version.rb +1 -1
- data/sdk-generation-log/balancecontrol.json +8 -0
- data/sdk-generation-log/balanceplatform.json +8 -0
- data/sdk-generation-log/binlookup.json +8 -0
- data/sdk-generation-log/capital.json +8 -0
- data/sdk-generation-log/checkout.json +8 -0
- data/sdk-generation-log/dataprotection.json +8 -0
- data/sdk-generation-log/disputes.json +8 -0
- data/sdk-generation-log/legalentitymanagement.json +8 -0
- data/sdk-generation-log/management.json +8 -0
- data/sdk-generation-log/payment.json +8 -0
- data/sdk-generation-log/paymentsapp.json +8 -0
- data/sdk-generation-log/payout.json +8 -0
- data/sdk-generation-log/posmobile.json +8 -0
- data/sdk-generation-log/recurring.json +8 -0
- data/sdk-generation-log/sessionauthentication.json +8 -0
- data/sdk-generation-log/storedvalue.json +8 -0
- data/sdk-generation-log/transfers.json +8 -0
- data/spec/balance_control_spec.rb +41 -0
- data/spec/balance_platform_spec.rb +609 -4
- data/spec/capital_spec.rb +82 -0
- data/spec/checkout-oauth_spec.rb +220 -10
- data/spec/checkout_spec.rb +245 -10
- data/spec/client_spec.rb +23 -5
- data/spec/deprecation_spec.rb +112 -0
- data/spec/management_spec.rb +184 -0
- data/spec/mocks/requests/BalancePlatform/apply_managed_schedule.json +14 -0
- data/spec/mocks/requests/BalancePlatform/begin_sca_device_registration.json +4 -0
- data/spec/mocks/requests/BalancePlatform/create_recurring_top_up.json +21 -0
- data/spec/mocks/requests/BalancePlatform/create_sweep.json +10 -0
- data/spec/mocks/requests/BalancePlatform/finish_sca_device_registration.json +3 -0
- data/spec/mocks/requests/BalancePlatform/submit_sca_association.json +8 -0
- data/spec/mocks/requests/BalancePlatform/update_balance_account_managed_schedule.json +5 -0
- data/spec/mocks/requests/BalancePlatform/update_mandate.json +14 -0
- data/spec/mocks/requests/BalancePlatform/update_recurring_top_ups.json +3 -0
- data/spec/mocks/requests/BalancePlatform/update_sweep.json +6 -0
- data/spec/mocks/requests/Checkout/amount_updates.json +1 -1
- data/spec/mocks/requests/Checkout/card_details.json +3 -0
- data/spec/mocks/requests/Checkout/create_stored_payment_method.json +10 -0
- data/spec/mocks/requests/Checkout/donation_campaigns.json +4 -0
- data/spec/mocks/requests/Checkout/donations.json +9 -0
- data/spec/mocks/requests/Checkout/orders.json +5 -3
- data/spec/mocks/requests/Checkout/payment-details.json +2 -14
- data/spec/mocks/requests/Checkout/payment_methods_balance.json +5 -2
- data/spec/mocks/requests/Checkout/payments.json +9 -10
- data/spec/mocks/requests/Checkout/paypal_update_order.json +5 -0
- data/spec/mocks/requests/Checkout/reversals.json +3 -0
- data/spec/mocks/requests/Checkout/update_session.json +7 -0
- data/spec/mocks/requests/Management/create_donation_campaign.json +7 -0
- data/spec/mocks/requests/Management/list_nonprofits.json +5 -0
- data/spec/mocks/requests/Management/update_donation_campaign.json +6 -0
- data/spec/mocks/requests/Transfers/initiate_cashout.json +12 -0
- data/spec/mocks/responses/BalancePlatform/apply_managed_schedule.json +17 -0
- data/spec/mocks/responses/BalancePlatform/begin_sca_device_registration.json +8 -0
- data/spec/mocks/responses/BalancePlatform/create_recurring_top_up.json +23 -0
- data/spec/mocks/responses/BalancePlatform/create_sweep.json +12 -0
- data/spec/mocks/responses/BalancePlatform/finish_sca_device_registration.json +7 -0
- data/spec/mocks/responses/BalancePlatform/get_all_sweeps_for_balance_account.json +31 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_account_managed_schedule_by_id.json +17 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_account_managed_schedules.json +26 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_platform_managed_schedule_by_id.json +27 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_platform_managed_schedules.json +31 -0
- data/spec/mocks/responses/BalancePlatform/get_list_of_mandates.json +19 -0
- data/spec/mocks/responses/BalancePlatform/get_mandate_by_id.json +14 -0
- data/spec/mocks/responses/BalancePlatform/get_payout_schedule_executions.json +21 -0
- data/spec/mocks/responses/BalancePlatform/get_recurring_top_ups.json +35 -0
- data/spec/mocks/responses/BalancePlatform/get_sweep.json +12 -0
- data/spec/mocks/responses/BalancePlatform/get_tax_form_summary.json +17 -0
- data/spec/mocks/responses/BalancePlatform/submit_sca_association.json +10 -0
- data/spec/mocks/responses/BalancePlatform/update_balance_account_managed_schedule.json +18 -0
- data/spec/mocks/responses/BalancePlatform/update_recurring_top_ups.json +23 -0
- data/spec/mocks/responses/BalancePlatform/update_sweep.json +12 -0
- data/spec/mocks/responses/Capital/calculate-preliminary-offer-from-dynamic-offer.json +16 -0
- data/spec/mocks/responses/Capital/create-static-offer-from-dynamic-offer.json +9 -0
- data/spec/mocks/responses/Capital/get-all-dynamic-offers.json +18 -0
- data/spec/mocks/responses/Checkout/amount_updates.json +1 -1
- data/spec/mocks/responses/Checkout/card_details.json +5 -0
- data/spec/mocks/responses/Checkout/create_stored_payment_method.json +5 -0
- data/spec/mocks/responses/Checkout/donation_campaigns.json +1 -0
- data/spec/mocks/responses/Checkout/donations.json +5 -0
- data/spec/mocks/responses/Checkout/orders.json +6 -1
- data/spec/mocks/responses/Checkout/orders_cancel.json +1 -1
- data/spec/mocks/responses/Checkout/payment-details.json +2 -13
- data/spec/mocks/responses/Checkout/payment_links.json +3 -0
- data/spec/mocks/responses/Checkout/payment_methods.json +2 -2
- data/spec/mocks/responses/Checkout/payment_methods_balance.json +5 -1
- data/spec/mocks/responses/Checkout/payments.json +4 -94
- data/spec/mocks/responses/Checkout/paypal_update_order.json +4 -0
- data/spec/mocks/responses/Checkout/reversals.json +6 -0
- data/spec/mocks/responses/Checkout/update_session.json +3 -0
- data/spec/mocks/responses/Management/donation_campaign.json +13 -0
- data/spec/mocks/responses/Management/list_donation_campaigns.json +19 -0
- data/spec/mocks/responses/Management/list_nonprofits.json +34 -0
- data/spec/mocks/responses/Transfers/initiate_cashout.json +31 -0
- data/spec/service_spec.rb +40 -0
- data/spec/spec_helper.rb +2 -2
- data/spec/transfers_spec.rb +28 -0
- data/spec/utils/consumer_smoke.rb +23 -0
- data/spec/utils/hmac_validator_spec.rb +55 -0
- data/templates/api-small.mustache +4 -4
- data/templates/api.mustache +4 -4
- metadata +84 -2
|
@@ -14,9 +14,7 @@ module Adyen
|
|
|
14
14
|
|
|
15
15
|
# Create a session token
|
|
16
16
|
def create_authentication_session(request, headers: {})
|
|
17
|
-
endpoint = '/sessions'
|
|
18
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
19
|
-
endpoint = format(endpoint)
|
|
17
|
+
endpoint = build_endpoint('/sessions')
|
|
20
18
|
|
|
21
19
|
action = { method: 'post', url: endpoint }
|
|
22
20
|
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
@@ -14,9 +14,7 @@ module Adyen
|
|
|
14
14
|
|
|
15
15
|
# Changes the status of the payment method.
|
|
16
16
|
def change_status(request, headers: {})
|
|
17
|
-
endpoint = '/changeStatus'
|
|
18
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
19
|
-
endpoint = format(endpoint)
|
|
17
|
+
endpoint = build_endpoint('/changeStatus')
|
|
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
|
# Checks the balance.
|
|
26
24
|
def check_balance(request, headers: {})
|
|
27
|
-
endpoint = '/checkBalance'
|
|
28
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
29
|
-
endpoint = format(endpoint)
|
|
25
|
+
endpoint = build_endpoint('/checkBalance')
|
|
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
|
# Issues a new card.
|
|
36
32
|
def issue(request, headers: {})
|
|
37
|
-
endpoint = '/issue'
|
|
38
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
39
|
-
endpoint = format(endpoint)
|
|
33
|
+
endpoint = build_endpoint('/issue')
|
|
40
34
|
|
|
41
35
|
action = { method: 'post', url: endpoint }
|
|
42
36
|
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
@@ -44,9 +38,7 @@ module Adyen
|
|
|
44
38
|
|
|
45
39
|
# Loads the payment method.
|
|
46
40
|
def load(request, headers: {})
|
|
47
|
-
endpoint = '/load'
|
|
48
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
49
|
-
endpoint = format(endpoint)
|
|
41
|
+
endpoint = build_endpoint('/load')
|
|
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
|
# Merge the balance of two cards.
|
|
56
48
|
def merge_balance(request, headers: {})
|
|
57
|
-
endpoint = '/mergeBalance'
|
|
58
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
59
|
-
endpoint = format(endpoint)
|
|
49
|
+
endpoint = build_endpoint('/mergeBalance')
|
|
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
|
# Voids a transaction.
|
|
66
56
|
def void_transaction(request, headers: {})
|
|
67
|
-
endpoint = '/voidTransaction'
|
|
68
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
69
|
-
endpoint = format(endpoint)
|
|
57
|
+
endpoint = build_endpoint('/voidTransaction')
|
|
70
58
|
|
|
71
59
|
action = { method: 'post', url: endpoint }
|
|
72
60
|
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
@@ -16,10 +16,10 @@ module Adyen
|
|
|
16
16
|
#
|
|
17
17
|
# Deprecated since Transfers API v4
|
|
18
18
|
# Use the `/grants` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grants) instead.
|
|
19
|
+
# @deprecated
|
|
19
20
|
def get_capital_account(headers: {}, query_params: {})
|
|
20
|
-
|
|
21
|
-
endpoint =
|
|
22
|
-
endpoint = format(endpoint)
|
|
21
|
+
Adyen::Deprecation.warn(:get_capital_account, since: 'Transfers API v4', message: 'Use the `/grants` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grants) instead.')
|
|
22
|
+
endpoint = build_endpoint('/grants')
|
|
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 Transfers API v4
|
|
31
31
|
# Use the `/grants/{grantId}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grants/(grantId)) instead.
|
|
32
|
+
# @deprecated
|
|
32
33
|
def get_grant_reference_details(id, headers: {})
|
|
33
|
-
|
|
34
|
-
endpoint =
|
|
35
|
-
endpoint = format(endpoint, id)
|
|
34
|
+
Adyen::Deprecation.warn(:get_grant_reference_details, since: 'Transfers API v4', message: 'Use the `/grants/{grantId}` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/get/grants/(grantId)) instead.')
|
|
35
|
+
endpoint = build_endpoint('/grants/{id}', id)
|
|
36
36
|
|
|
37
37
|
action = { method: 'get', url: endpoint }
|
|
38
38
|
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
@@ -42,10 +42,10 @@ module Adyen
|
|
|
42
42
|
#
|
|
43
43
|
# Deprecated since Transfers API v4
|
|
44
44
|
# Use the `/grants` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/post/grants) instead.
|
|
45
|
+
# @deprecated
|
|
45
46
|
def request_grant_payout(request, headers: {})
|
|
46
|
-
|
|
47
|
-
endpoint =
|
|
48
|
-
endpoint = format(endpoint)
|
|
47
|
+
Adyen::Deprecation.warn(:request_grant_payout, since: 'Transfers API v4', message: 'Use the `/grants` endpoint from the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/post/grants) instead.')
|
|
48
|
+
endpoint = build_endpoint('/grants')
|
|
49
49
|
|
|
50
50
|
action = { method: 'post', url: endpoint }
|
|
51
51
|
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
@@ -0,0 +1,24 @@
|
|
|
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 CashOutApi < Service
|
|
9
|
+
attr_accessor :service, :version
|
|
10
|
+
|
|
11
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
12
|
+
super(client, version, 'Transfers')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Initiate a cashout
|
|
16
|
+
def initiate_cashout(request, headers: {})
|
|
17
|
+
endpoint = build_endpoint('/cashouts')
|
|
18
|
+
|
|
19
|
+
action = { method: 'post', url: endpoint }
|
|
20
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -14,9 +14,7 @@ module Adyen
|
|
|
14
14
|
|
|
15
15
|
# Get all transactions
|
|
16
16
|
def get_all_transactions(headers: {}, query_params: {})
|
|
17
|
-
endpoint = '/transactions'
|
|
18
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
19
|
-
endpoint = format(endpoint)
|
|
17
|
+
endpoint = build_endpoint('/transactions')
|
|
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 a transaction
|
|
26
24
|
def get_transaction(id, headers: {})
|
|
27
|
-
endpoint = '/transactions/{id}'
|
|
28
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
29
|
-
endpoint = format(endpoint, id)
|
|
25
|
+
endpoint = build_endpoint('/transactions/{id}', id)
|
|
30
26
|
|
|
31
27
|
action = { method: 'get', url: endpoint }
|
|
32
28
|
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
@@ -14,9 +14,7 @@ module Adyen
|
|
|
14
14
|
|
|
15
15
|
# Approve initiated transfers
|
|
16
16
|
def approve_initiated_transfers(request, headers: {})
|
|
17
|
-
endpoint = '/transfers/approve'
|
|
18
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
19
|
-
endpoint = format(endpoint)
|
|
17
|
+
endpoint = build_endpoint('/transfers/approve')
|
|
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
|
# Cancel initiated transfers
|
|
26
24
|
def cancel_initiated_transfers(request, headers: {})
|
|
27
|
-
endpoint = '/transfers/cancel'
|
|
28
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
29
|
-
endpoint = format(endpoint)
|
|
25
|
+
endpoint = build_endpoint('/transfers/cancel')
|
|
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 transfers
|
|
36
32
|
def get_all_transfers(headers: {}, query_params: {})
|
|
37
|
-
endpoint = '/transfers'
|
|
38
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
39
|
-
endpoint = format(endpoint)
|
|
33
|
+
endpoint = build_endpoint('/transfers')
|
|
40
34
|
endpoint += create_query_string(query_params)
|
|
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 a transfer
|
|
46
40
|
def get_transfer(id, headers: {})
|
|
47
|
-
endpoint = '/transfers/{id}'
|
|
48
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
49
|
-
endpoint = format(endpoint, id)
|
|
41
|
+
endpoint = build_endpoint('/transfers/{id}', 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
|
# Return a transfer
|
|
56
48
|
def return_transfer(request, transfer_id, headers: {})
|
|
57
|
-
endpoint = '/transfers/{transferId}/returns'
|
|
58
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
59
|
-
endpoint = format(endpoint, transfer_id)
|
|
49
|
+
endpoint = build_endpoint('/transfers/{transferId}/returns', transfer_id)
|
|
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
|
# Transfer funds
|
|
66
56
|
def transfer_funds(request, headers: {})
|
|
67
|
-
endpoint = '/transfers'
|
|
68
|
-
endpoint = endpoint.gsub(%r{^/}, '')
|
|
69
|
-
endpoint = format(endpoint)
|
|
57
|
+
endpoint = build_endpoint('/transfers')
|
|
70
58
|
|
|
71
59
|
action = { method: 'post', url: endpoint }
|
|
72
60
|
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require_relative 'transfers/capital_api'
|
|
2
|
+
require_relative 'transfers/cash_out_api'
|
|
2
3
|
require_relative 'transfers/transactions_api'
|
|
3
4
|
require_relative 'transfers/transfers_api'
|
|
4
5
|
|
|
@@ -22,6 +23,10 @@ module Adyen
|
|
|
22
23
|
@capital_api ||= Adyen::CapitalApi.new(@client, @version)
|
|
23
24
|
end
|
|
24
25
|
|
|
26
|
+
def cash_out_api
|
|
27
|
+
@cash_out_api ||= Adyen::CashOutApi.new(@client, @version)
|
|
28
|
+
end
|
|
29
|
+
|
|
25
30
|
def transactions_api
|
|
26
31
|
@transactions_api ||= Adyen::TransactionsApi.new(@client, @version)
|
|
27
32
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require 'openssl'
|
|
2
|
+
|
|
1
3
|
module Adyen
|
|
2
4
|
module Utils
|
|
3
5
|
class HmacValidator
|
|
@@ -9,7 +11,9 @@ module Adyen
|
|
|
9
11
|
].freeze
|
|
10
12
|
|
|
11
13
|
# <b>DEPRECATED:</b> Please use valid_webhook_hmac?() instead.
|
|
14
|
+
# @deprecated
|
|
12
15
|
def valid_notification_hmac?(notification_request_item, hmac_key)
|
|
16
|
+
Adyen::Deprecation.warn(:valid_notification_hmac?, message: "Use valid_webhook_hmac?() instead.")
|
|
13
17
|
valid_webhook_hmac?(notification_request_item, hmac_key)
|
|
14
18
|
end
|
|
15
19
|
|
|
@@ -18,14 +22,14 @@ module Adyen
|
|
|
18
22
|
#
|
|
19
23
|
# @param webhook_request_item [Object] The webhook request item.
|
|
20
24
|
# @param hmac_key [String] The HMAC key used to validate the payload.
|
|
21
|
-
|
|
22
|
-
# @return [Boolean] Returns true if the HMAC signature is valid, otherwise false.
|
|
25
|
+
|
|
26
|
+
# @return [Boolean] Returns true if the HMAC signature is valid, otherwise false.
|
|
23
27
|
def valid_webhook_hmac?(webhook_request_item, hmac_key)
|
|
24
28
|
expected_sign = calculate_webhook_hmac(webhook_request_item, hmac_key)
|
|
25
29
|
merchant_sign =
|
|
26
30
|
webhook_request_item.dig('additionalData', 'hmacSignature')
|
|
27
31
|
|
|
28
|
-
expected_sign
|
|
32
|
+
merchant_sign.is_a?(String) && OpenSSL.secure_compare(expected_sign, merchant_sign)
|
|
29
33
|
end
|
|
30
34
|
|
|
31
35
|
# validates the HMAC signature of a payload against an expected signature. Use for webhooks that provide the
|
|
@@ -35,38 +39,31 @@ module Adyen
|
|
|
35
39
|
# @param hmac_key [String] The HMAC key used to validate the payload.
|
|
36
40
|
# @param payload [String] The webhook payload.
|
|
37
41
|
|
|
38
|
-
# @return [Boolean] Returns true if the HMAC signature is valid, otherwise false.
|
|
42
|
+
# @return [Boolean] Returns true if the HMAC signature is valid, otherwise false.
|
|
39
43
|
def valid_webhook_payload_hmac?(hmac_signature, hmac_key, payload)
|
|
40
44
|
expected_sign = calculate_webhook_payload_hmac(payload, hmac_key)
|
|
41
|
-
|
|
42
|
-
expected_sign == hmac_signature
|
|
45
|
+
hmac_signature.is_a?(String) && OpenSSL.secure_compare(expected_sign, hmac_signature)
|
|
43
46
|
end
|
|
44
47
|
|
|
45
48
|
# <b>DEPRECATED:</b> Please use calculate_webhook_hmac() instead.
|
|
49
|
+
# @deprecated
|
|
46
50
|
def calculate_notification_hmac(notification_request_item, hmac_key)
|
|
51
|
+
Adyen::Deprecation.warn(:calculate_notification_hmac, message: "Use calculate_webhook_hmac() instead.")
|
|
47
52
|
calculate_webhook_hmac(notification_request_item, hmac_key)
|
|
48
53
|
end
|
|
49
54
|
|
|
50
|
-
|
|
51
55
|
def calculate_webhook_payload_hmac(data, hmac_key)
|
|
52
|
-
Base64
|
|
53
|
-
|
|
54
|
-
)
|
|
56
|
+
# Base64 strict encoding
|
|
57
|
+
[OpenSSL::HMAC.digest(HMAC_ALGORITHM, [hmac_key].pack('H*'), data)].pack('m0')
|
|
55
58
|
end
|
|
56
59
|
|
|
57
60
|
def calculate_webhook_hmac(webhook_request_item, hmac_key)
|
|
58
61
|
data = data_to_sign(webhook_request_item)
|
|
59
62
|
|
|
60
|
-
Base64
|
|
61
|
-
|
|
62
|
-
)
|
|
63
|
+
# Base64 strict encoding
|
|
64
|
+
[OpenSSL::HMAC.digest(HMAC_ALGORITHM, [hmac_key].pack('H*'), data)].pack('m0')
|
|
63
65
|
end
|
|
64
66
|
|
|
65
|
-
|
|
66
|
-
# TODO: Deprecate instead of aliasing
|
|
67
|
-
alias valid_notification_hmac? valid_webhook_hmac?
|
|
68
|
-
alias calculate_notification_hmac calculate_webhook_hmac
|
|
69
|
-
|
|
70
67
|
def data_to_sign(webhook_request_item)
|
|
71
68
|
WEBHOOK_VALIDATION_KEYS
|
|
72
69
|
.map { webhook_request_item.dig(*_1.split('.')).to_s }
|
data/lib/adyen/version.rb
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "balancecontrol",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:52Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "balanceplatform",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-07-31T12:01:02Z",
|
|
5
|
+
"openapiCommitSha": "425d65d12163ebd4fe6fa6d2f859075817c81cba",
|
|
6
|
+
"automationCommitSha": "0c108bd8050cf480d2710b78b770afdfbdd89397",
|
|
7
|
+
"libraryCommitSha": "7f77a7b7aca2c2b22147ba4b996ada979f9decd9"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "binlookup",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:47Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "capital",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:47Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "checkout",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-08-04T08:22:34Z",
|
|
5
|
+
"openapiCommitSha": "f0d0bd47b721d1b4e2c86e8b3aad706ecb88423a",
|
|
6
|
+
"automationCommitSha": "0c108bd8050cf480d2710b78b770afdfbdd89397",
|
|
7
|
+
"libraryCommitSha": "2c40b0c319ba09d1dd30970a137b53af3193db76"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "dataprotection",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:47Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "disputes",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:52Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "legalentitymanagement",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:46Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "management",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-07-31T12:01:01Z",
|
|
5
|
+
"openapiCommitSha": "425d65d12163ebd4fe6fa6d2f859075817c81cba",
|
|
6
|
+
"automationCommitSha": "0c108bd8050cf480d2710b78b770afdfbdd89397",
|
|
7
|
+
"libraryCommitSha": "7f77a7b7aca2c2b22147ba4b996ada979f9decd9"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "payment",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:48Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "paymentsapp",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:40:00Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "payout",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:45Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "posmobile",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-07-27T10:28:53Z",
|
|
5
|
+
"openapiCommitSha": "2f7d0e1961772ee974be4ed268282cf2ba8f6e03",
|
|
6
|
+
"automationCommitSha": "0c108bd8050cf480d2710b78b770afdfbdd89397",
|
|
7
|
+
"libraryCommitSha": "c80f38ce8b02c80778053741d0e9175e8e530742"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "recurring",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:48Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "sessionauthentication",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:49Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "storedvalue",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-04-20T13:39:48Z",
|
|
5
|
+
"openapiCommitSha": "3550ecd3f320efaad6bee55ffed5122cb9ba09d5",
|
|
6
|
+
"automationCommitSha": "4ad0c0c7e87bc0e5994a9a3350a991d0691350bb",
|
|
7
|
+
"libraryCommitSha": "60ccdbdbbb7069d54600a8a8cd19eea245661134"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"service": "transfers",
|
|
3
|
+
"project": "ruby",
|
|
4
|
+
"generatedAt": "2026-07-31T12:01:01Z",
|
|
5
|
+
"openapiCommitSha": "425d65d12163ebd4fe6fa6d2f859075817c81cba",
|
|
6
|
+
"automationCommitSha": "0c108bd8050cf480d2710b78b770afdfbdd89397",
|
|
7
|
+
"libraryCommitSha": "7f77a7b7aca2c2b22147ba4b996ada979f9decd9"
|
|
8
|
+
}
|
|
@@ -42,4 +42,45 @@ RSpec.describe Adyen::BalanceControl, service: 'balanceControl' do
|
|
|
42
42
|
expect(response_hash)
|
|
43
43
|
.to be_a_kind_of Hash
|
|
44
44
|
end
|
|
45
|
+
|
|
46
|
+
describe 'deprecated balance_transfer' do
|
|
47
|
+
around do |example|
|
|
48
|
+
previous = Warning[:deprecated]
|
|
49
|
+
Warning[:deprecated] = true
|
|
50
|
+
example.run
|
|
51
|
+
ensure
|
|
52
|
+
Warning[:deprecated] = previous
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it 'emits a deprecation warning and still returns a successful response' do
|
|
56
|
+
request_body = JSON.parse(json_from_file('mocks/requests/BalanceControl/balance_transfer.json'))
|
|
57
|
+
|
|
58
|
+
response_body = json_from_file('mocks/responses/BalanceControl/balance_transfer.json')
|
|
59
|
+
|
|
60
|
+
url = @shared_values[:client].service_url(
|
|
61
|
+
@shared_values[:service],
|
|
62
|
+
'balanceTransfer',
|
|
63
|
+
@shared_values[:client].balance_control.version)
|
|
64
|
+
WebMock.stub_request(:post, url)
|
|
65
|
+
.with(
|
|
66
|
+
body: request_body,
|
|
67
|
+
headers: {
|
|
68
|
+
'x-api-key' => @shared_values[:client].api_key
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
.to_return(
|
|
72
|
+
body: response_body
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
result = nil
|
|
76
|
+
expect do
|
|
77
|
+
result = @shared_values[:client].balance_control.balance_control_api.balance_transfer(request_body)
|
|
78
|
+
end.to output(/\[DEPRECATED\] `balance_transfer` is deprecated since Adyen Balance Control API v1\n/).to_stderr
|
|
79
|
+
|
|
80
|
+
expect(result.status)
|
|
81
|
+
.to eq(200)
|
|
82
|
+
expect(result.response)
|
|
83
|
+
.to eq(JSON.parse(response_body))
|
|
84
|
+
end
|
|
85
|
+
end
|
|
45
86
|
end
|