adyen-ruby-api-library 6.3.0 → 7.0.1
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/.gitignore +3 -0
- data/Makefile +72 -0
- data/README.md +20 -18
- data/lib/adyen/client.rb +68 -36
- data/lib/adyen/services/balanceControlService.rb +28 -0
- data/lib/adyen/services/balancePlatform/account_holders_api.rb +63 -0
- data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +123 -0
- data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +27 -0
- data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +27 -0
- data/lib/adyen/services/balancePlatform/grant_offers_api.rb +39 -0
- data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +51 -0
- data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +75 -0
- data/lib/adyen/services/balancePlatform/platform_api.rb +39 -0
- data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +63 -0
- data/lib/adyen/services/balancePlatform.rb +61 -0
- data/lib/adyen/services/binLookup.rb +40 -0
- data/lib/adyen/services/checkout/classic_checkout_sdk_api.rb +39 -0
- data/lib/adyen/services/checkout/modifications_api.rb +87 -0
- data/lib/adyen/services/checkout/orders_api.rb +51 -0
- data/lib/adyen/services/checkout/payment_links_api.rb +51 -0
- data/lib/adyen/services/checkout/payments_api.rb +87 -0
- data/lib/adyen/services/checkout/recurring_api.rb +39 -0
- data/lib/adyen/services/checkout/utility_api.rb +39 -0
- data/lib/adyen/services/checkout.rb +38 -211
- data/lib/adyen/services/dataProtection.rb +28 -0
- data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +63 -0
- data/lib/adyen/services/legalEntityManagement/documents_api.rb +63 -0
- data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +51 -0
- data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +75 -0
- data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +63 -0
- data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +51 -0
- data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +63 -0
- data/lib/adyen/services/legalEntityManagement.rb +51 -0
- data/lib/adyen/services/management/account_company_level_api.rb +51 -0
- data/lib/adyen/services/management/account_merchant_level_api.rb +63 -0
- data/lib/adyen/services/management/account_store_level_api.rb +111 -0
- data/lib/adyen/services/management/allowed_origins_company_level_api.rb +63 -0
- data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +63 -0
- data/lib/adyen/services/management/api_credentials_company_level_api.rb +63 -0
- data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +63 -0
- data/lib/adyen/services/management/api_key_company_level_api.rb +27 -0
- data/lib/adyen/services/management/api_key_merchant_level_api.rb +27 -0
- data/lib/adyen/services/management/client_key_company_level_api.rb +27 -0
- data/lib/adyen/services/management/client_key_merchant_level_api.rb +27 -0
- data/lib/adyen/services/management/my_api_credential_api.rb +75 -0
- data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +87 -0
- data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +75 -0
- data/lib/adyen/services/management/terminal_actions_company_level_api.rb +63 -0
- data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +27 -0
- data/lib/adyen/services/management/terminal_orders_company_level_api.rb +135 -0
- data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +135 -0
- data/lib/adyen/services/management/terminal_settings_company_level_api.rb +63 -0
- data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +63 -0
- data/lib/adyen/services/management/terminal_settings_store_level_api.rb +111 -0
- data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +63 -0
- data/lib/adyen/services/management/terminals_terminal_level_api.rb +27 -0
- data/lib/adyen/services/management/users_company_level_api.rb +63 -0
- data/lib/adyen/services/management/users_merchant_level_api.rb +63 -0
- data/lib/adyen/services/management/webhooks_company_level_api.rb +99 -0
- data/lib/adyen/services/management/webhooks_merchant_level_api.rb +99 -0
- data/lib/adyen/services/management.rb +151 -0
- data/lib/adyen/services/payment.rb +172 -0
- data/lib/adyen/services/payout/initialization_api.rb +51 -0
- data/lib/adyen/services/payout/instant_payouts_api.rb +27 -0
- data/lib/adyen/services/payout/reviewing_api.rb +39 -0
- data/lib/adyen/services/payout.rb +31 -0
- data/lib/adyen/services/posTerminalManagement.rb +76 -0
- data/lib/adyen/services/recurring.rb +81 -13
- data/lib/adyen/services/service.rb +2 -2
- data/lib/adyen/services/storedValue.rb +88 -0
- data/lib/adyen/services/transfers/transactions_api.rb +39 -0
- data/lib/adyen/services/transfers/transfers_api.rb +27 -0
- data/lib/adyen/services/transfers.rb +26 -0
- data/lib/adyen/version.rb +1 -1
- data/lib/adyen-ruby-api-library.rb +11 -5
- data/spec/account_spec.rb +1 -1
- data/spec/balance_control_spec.rb +44 -0
- data/spec/balance_platform_spec.rb +123 -0
- data/spec/bin_lookup_spec.rb +68 -10
- data/spec/checkout_spec.rb +56 -66
- data/spec/client_spec.rb +88 -9
- data/spec/fund_spec.rb +1 -1
- data/spec/hop_spec.rb +1 -1
- data/spec/lem_spec.rb +68 -0
- data/spec/management_spec.rb +68 -0
- data/spec/mocks/requests/BalanceControl/balance_transfer.json +10 -0
- data/spec/mocks/requests/BalancePlatform/create_account_holder.json +5 -0
- data/spec/mocks/requests/BalancePlatform/update_account_holder.json +10 -0
- data/spec/mocks/requests/LegalEntityManagement/create_business_line.json +15 -0
- data/spec/mocks/requests/Management/create_store.json +15 -0
- data/spec/mocks/requests/Recurring/create_permit.json +6 -0
- data/spec/mocks/requests/StoredValue/issue_giftcard.json +12 -0
- data/spec/mocks/requests/Transfers/get_transactions.json +82 -0
- data/spec/mocks/requests/Transfers/make_transfer.json +32 -0
- data/spec/mocks/responses/BalanceControl/balance_transfer.json +14 -0
- data/spec/mocks/responses/BalancePlatform/create_account_holder.json +41 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_account.json +15 -0
- data/spec/mocks/responses/BalancePlatform/update_account_holder.json +16 -0
- data/spec/mocks/responses/LegalEntityManagement/create_business_line.json +17 -0
- data/spec/mocks/responses/Management/create_store.json +23 -0
- data/spec/mocks/responses/Management/get_companies.json +42 -0
- data/spec/mocks/responses/Recurring/create_permit.json +4 -0
- data/spec/mocks/responses/StoredValue/issue_giftcard.json +13 -0
- data/spec/mocks/responses/Transfers/get_transactions.json +82 -0
- data/spec/mocks/responses/Transfers/make_transfer.json +36 -0
- data/spec/notification_spec.rb +1 -1
- data/spec/payments_spec.rb +41 -23
- data/spec/payouts_spec.rb +43 -16
- data/spec/pos_terminal_management_spec.rb +46 -0
- data/spec/recurring_spec.rb +2 -2
- data/spec/spec_helper.rb +0 -10
- data/spec/stored_value_spec.rb +43 -0
- data/spec/transfers_spec.rb +63 -0
- data/templates/api-single.mustache +29 -0
- data/templates/api-small.mustache +37 -0
- data/templates/api.mustache +36 -0
- data/templates/config.yaml +10 -0
- metadata +101 -11
- data/lib/adyen/services/bin_lookup.rb +0 -18
- data/lib/adyen/services/data_protection.rb +0 -17
- data/lib/adyen/services/payments.rb +0 -34
- data/lib/adyen/services/payouts.rb +0 -22
- data/lib/adyen/services/postfmapi.rb +0 -19
- data/spec/mocks/requests/Recurring/store_token.json +0 -15
- data/spec/mocks/responses/Recurring/store_token.json +0 -7
- data/spec/postfmapi_spec.rb +0 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c19d03c4d3dce36a0ad9b33ed6a5d0231b44a875314ed93da684c956f08adee1
|
|
4
|
+
data.tar.gz: 7dfddb2b1a02025f841a22041692c7e96f64ee243b6edd55fd0bde233b36c219
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a9c68c262addccf25287f2b466458053a8f5bf7b91a1e5aea20e51cb1ff18e8521e22fc52db805b7a509becd45d012c7eb93e5554dbba7722c02d321c55d1afb
|
|
7
|
+
data.tar.gz: '0980d9b00a6b387dacd4dade732e7cd8951e93bf545f2344aaf0c6bfb93c4b9685649fba3fd755bd2a30007ff90104d9397d553af75eace3c43262383d5f2247'
|
data/.gitignore
CHANGED
data/Makefile
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
generator:=ruby
|
|
2
|
+
openapi-generator-version:=6.4.0
|
|
3
|
+
openapi-generator-url:=https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$(openapi-generator-version)/openapi-generator-cli-$(openapi-generator-version).jar
|
|
4
|
+
openapi-generator-jar:=build/openapi-generator-cli.jar
|
|
5
|
+
openapi-generator-cli:=java -jar build/openapi-generator-cli.jar
|
|
6
|
+
output:=build/out
|
|
7
|
+
|
|
8
|
+
services:=balancePlatform checkout legalEntityManagement management payout platformsAccount platformsFund platformsHostedOnboardingPage platformsNotificationConfiguration transfers
|
|
9
|
+
singleFileServices:=balanceControlService binLookup dataProtection recurring storedValue posTerminalManagement payment
|
|
10
|
+
|
|
11
|
+
binLookup: spec=BinLookupService-v54
|
|
12
|
+
checkout: spec=CheckoutService-v70
|
|
13
|
+
dataProtection: spec=DataProtectionService-v1
|
|
14
|
+
storedValue: spec=StoredValueService-v46
|
|
15
|
+
posTerminalManagement: spec=TfmAPIService-v1
|
|
16
|
+
payment: spec=PaymentService-v68
|
|
17
|
+
recurring: spec=RecurringService-v68
|
|
18
|
+
payout: spec=PayoutService-v68
|
|
19
|
+
management: spec=ManagementService-v1
|
|
20
|
+
legalEntityManagement: spec=LegalEntityService-v3
|
|
21
|
+
balancePlatform: spec=BalancePlatformService-v2
|
|
22
|
+
platformsAccount: spec=AccountService-v6
|
|
23
|
+
platformsFund: spec=FundService-v6
|
|
24
|
+
platformsNotificationConfiguration: spec=NotificationConfigurationService-v6
|
|
25
|
+
platformsHostedOnboardingPage: spec=HopService-v6
|
|
26
|
+
transfers: spec=TransferService-v3
|
|
27
|
+
balanceControlService: spec=BalanceControlService-v1
|
|
28
|
+
|
|
29
|
+
allServices: $(services) $(singleFileServices)
|
|
30
|
+
|
|
31
|
+
$(services): build/spec $(openapi-generator-jar)
|
|
32
|
+
wget $(openapi-generator-url) -O build/openapi-generator-cli.jar
|
|
33
|
+
rm -rf $(output)
|
|
34
|
+
$(openapi-generator-cli) generate \
|
|
35
|
+
-i build/spec/json/$(spec).json \
|
|
36
|
+
-g $(generator) \
|
|
37
|
+
-c ./templates/config.yaml \
|
|
38
|
+
-o $(output) \
|
|
39
|
+
--global-property apis,apiTests=false,apiDocs=false,supportingFiles=api-single.rb\
|
|
40
|
+
--additional-properties serviceName=$@\
|
|
41
|
+
--skip-validate-spec
|
|
42
|
+
rm -f $(output)/lib/openapi_client/api/*-small.rb
|
|
43
|
+
mkdir -p lib/adyen/services/$@
|
|
44
|
+
mv $(output)/lib/openapi_client/api/*.rb lib/adyen/services/$@
|
|
45
|
+
mv $(output)/api/api-single.rb lib/adyen/services/$@.rb
|
|
46
|
+
rm -rf $(output)
|
|
47
|
+
|
|
48
|
+
$(singleFileServices): build/spec
|
|
49
|
+
wget $(openapi-generator-url) -O build/openapi-generator-cli.jar
|
|
50
|
+
cat <<< "$$(jq 'del(.paths[][].tags)' build/spec/json/$(spec).json)" > build/spec/json/$(spec).json
|
|
51
|
+
rm -rf $(output)
|
|
52
|
+
$(openapi-generator-cli) generate \
|
|
53
|
+
-i build/spec/json/$(spec).json \
|
|
54
|
+
-g $(generator) \
|
|
55
|
+
-c ./templates/config.yaml \
|
|
56
|
+
-o $(output) \
|
|
57
|
+
--global-property apis,apiTests=false,apiDocs=false\
|
|
58
|
+
--additional-properties serviceName=$@\
|
|
59
|
+
--skip-validate-spec
|
|
60
|
+
mv $(output)/lib/openapi_client/api/default_api-small.rb lib/adyen/services/$@.rb
|
|
61
|
+
rm -rf $(output)
|
|
62
|
+
|
|
63
|
+
templates: $(openapi-generator-jar)
|
|
64
|
+
$(openapi-generator-cli) author template -g $(generator) -o build/templates
|
|
65
|
+
|
|
66
|
+
# Download the generator
|
|
67
|
+
$(openapi-generator-jar):
|
|
68
|
+
wget --quiet -o /dev/null $(openapi-generator-url) -O $(openapi-generator-jar)
|
|
69
|
+
|
|
70
|
+
build/spec:
|
|
71
|
+
git clone https://github.com/Adyen/adyen-openapi.git build/spec
|
|
72
|
+
perl -i -pe's/"openapi" : "3.[0-9].[0-9]"/"openapi" : "3.0.0"/' build/spec/json/*.json
|
data/README.md
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
+

|
|
1
2
|
# Adyen API Library for Ruby
|
|
2
3
|
|
|
3
|
-
|
|
4
4
|
This is the officially supported Ruby library for using Adyen's APIs.
|
|
5
5
|
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
## Supported APIs
|
|
7
|
+
|
|
8
|
+
This library supports the following:
|
|
9
|
+
|
|
10
|
+
| API name | API version | Description | API object |
|
|
11
|
+
|----------|:-----------:|-------------|------------|
|
|
12
|
+
| [BIN lookup API](https://docs.adyen.com/api-explorer/#/BinLookup/v52/overview) | v54 | The BIN Lookup API provides endpoints for retrieving information based on a given BIN. | [BinLookup](lib/adyen/services/binLookup.rb) |
|
|
13
|
+
| [Checkout API](https://docs.adyen.com/api-explorer/#/CheckoutService/v69/overview) | v70 | Our latest integration for accepting online payments. | [CheckoutAPI](lib/adyen/services/checkout.rb) |
|
|
14
|
+
| [Configuration API](https://docs.adyen.com/api-explorer/#/balanceplatform/v2/overview) | v2 | The Configuration API enables you to create a platform where you can onboard your users as account holders and create balance accounts, cards, and business accounts. | [BalancePlatform](lib/adyen/services/balancePlatform.rb) |
|
|
15
|
+
| [DataProtection API](https://docs.adyen.com/development-resources/data-protection-api) | v1 | Adyen Data Protection API provides a way for you to process [Subject Erasure Requests](https://gdpr-info.eu/art-17-gdpr/) as mandated in GDPR. Use our API to submit a request to delete shopper's data, including payment details and other related information (for example, delivery address or shopper email) | [DataProtection](lib/adyen/services/dataProtection.rb) |
|
|
16
|
+
| [Legal Entity Management API](https://docs.adyen.com/api-explorer/#/legalentity/v3/overview) | v3 | Manage legal entities that contain information required for verification. | [LegalEntityManagement](lib/adyen/services/legalEntityManagement.rb) |
|
|
17
|
+
| [Management API](https://docs.adyen.com/api-explorer/#/ManagementService/v1/overview) | v1 | Configure and manage your Adyen company and merchant accounts, stores, and payment terminals. | [Management](lib/adyen/services/management.rb) |
|
|
18
|
+
| [Payments API](https://docs.adyen.com/api-explorer/#/Payment/v68/overview) | v68 | Our classic integration for online payments. | [Classic Integration API](lib/adyen/services/payment.rb) |
|
|
19
|
+
| [Payouts API](https://docs.adyen.com/api-explorer/#/Payout/v68/overview) | v68 | Endpoints for sending funds to your customers. | [Payout](lib/adyen/services/payout.rb) |
|
|
20
|
+
| [POS Terminal Management API](https://docs.adyen.com/api-explorer/#/postfmapi/v1/overview) | v1 | Endpoints for managing your point-of-sale payment terminals. | [TerminalManagement](lib/adyen/services/posTerminalManagement.rb) |
|
|
21
|
+
| [Recurring API](https://docs.adyen.com/api-explorer/#/Recurring/v68/overview) | v68 | Endpoints for managing saved payment details. | [Recurring](lib/adyen/services/recurring.rb) |
|
|
22
|
+
| [Stored Value API](https://docs.adyen.com/payment-methods/gift-cards/stored-value-api) | v46 | Manage both online and point-of-sale gift cards and other stored-value cards. | [StoredValue](lib/adyen/services/storedValue.rb) |
|
|
23
|
+
| [Transfers API](https://docs.adyen.com/api-explorer/transfers/3/overview) | v3 | The Transfers API provides endpoints that can be used to get information about all your transactions, move funds within your balance platform or send funds from your balance platform to a transfer instrument. | [Transfers](lib/adyen/services/transfers.rb) |
|
|
22
24
|
|
|
23
25
|
For more information, refer to our [documentation](https://docs.adyen.com/) or the [API Explorer](https://docs.adyen.com/api-explorer/).
|
|
24
26
|
|
|
@@ -64,7 +66,7 @@ adyen.api_key = 'AF5XXXXXXXXXXXXXXXXXXXX'
|
|
|
64
66
|
|
|
65
67
|
- Make a Payment
|
|
66
68
|
~~~~ruby
|
|
67
|
-
response = adyen.checkout.payments({
|
|
69
|
+
response = adyen.checkout.payments_api.payments({
|
|
68
70
|
:amount => {
|
|
69
71
|
:currency => "EUR",
|
|
70
72
|
:value => 1000
|
data/lib/adyen/client.rb
CHANGED
|
@@ -35,30 +35,43 @@ module Adyen
|
|
|
35
35
|
|
|
36
36
|
# base URL for API given service and @env
|
|
37
37
|
def service_url_base(service)
|
|
38
|
-
raise ArgumentError, "Please set Client.live_url_prefix to the portion of your merchant-specific URL prior to '-[service]-live.adyenpayments.com'" if @live_url_prefix.nil? and @env == :live
|
|
39
38
|
if @env == :mock
|
|
40
39
|
@mock_service_url_base
|
|
41
40
|
else
|
|
42
41
|
case service
|
|
43
42
|
when "Checkout"
|
|
44
|
-
url = "https://checkout-#{@env}.adyen.com
|
|
43
|
+
url = "https://checkout-#{@env}.adyen.com"
|
|
45
44
|
supports_live_url_prefix = true
|
|
46
45
|
when "Account", "Fund", "Notification", "Hop"
|
|
47
|
-
url = "https://cal-#{@env}.adyen.com/cal/services"
|
|
46
|
+
url = "https://cal-#{@env}.adyen.com/cal/services/#{service}"
|
|
48
47
|
supports_live_url_prefix = false
|
|
49
|
-
when "Recurring", "Payment", "Payout", "BinLookup"
|
|
50
|
-
url = "https://pal-#{@env}.adyen.com/pal/servlet"
|
|
48
|
+
when "Recurring", "Payment", "Payout", "BinLookup", "StoredValue", "BalanceControlService"
|
|
49
|
+
url = "https://pal-#{@env}.adyen.com/pal/servlet/#{service}"
|
|
51
50
|
supports_live_url_prefix = true
|
|
52
|
-
when "
|
|
51
|
+
when "PosTerminalManagement"
|
|
53
52
|
url = "https://postfmapi-#{@env}.adyen.com/postfmapi/terminal"
|
|
54
53
|
supports_live_url_prefix = false
|
|
55
54
|
when "DataProtectionService", "DisputeService"
|
|
56
|
-
url = "https://ca-#{@env}.adyen.com/ca/services"
|
|
55
|
+
url = "https://ca-#{@env}.adyen.com/ca/services/#{service}"
|
|
56
|
+
supports_live_url_prefix = false
|
|
57
|
+
when "LegalEntityManagement"
|
|
58
|
+
url = "https://kyc-#{@env}.adyen.com/lem"
|
|
59
|
+
supports_live_url_prefix = false
|
|
60
|
+
when "BalancePlatform"
|
|
61
|
+
url = "https://balanceplatform-api-#{@env}.adyen.com/bcl"
|
|
62
|
+
supports_live_url_prefix = false
|
|
63
|
+
when "Transfers"
|
|
64
|
+
url = "https://balanceplatform-api-#{@env}.adyen.com/btl"
|
|
65
|
+
supports_live_url_prefix = false
|
|
66
|
+
when "Management"
|
|
67
|
+
url = "https://management-#{@env}.adyen.com"
|
|
57
68
|
supports_live_url_prefix = false
|
|
58
69
|
else
|
|
59
70
|
raise ArgumentError, "Invalid service specified"
|
|
60
71
|
end
|
|
61
|
-
|
|
72
|
+
|
|
73
|
+
raise ArgumentError, "Please set Client.live_url_prefix to the portion of your merchant-specific URL prior to '-[service]-live.adyenpayments.com'" \
|
|
74
|
+
if @live_url_prefix.nil? and @env == :live and supports_live_url_prefix
|
|
62
75
|
if @env == :live && supports_live_url_prefix
|
|
63
76
|
url.insert(8, "#{@live_url_prefix}-")
|
|
64
77
|
url["adyen.com"] = "adyenpayments.com"
|
|
@@ -70,10 +83,10 @@ module Adyen
|
|
|
70
83
|
|
|
71
84
|
# construct full URL from service and endpoint
|
|
72
85
|
def service_url(service, action, version)
|
|
73
|
-
if service == "Checkout"
|
|
74
|
-
"#{service_url_base(service)}/v#{version}/#{action}"
|
|
86
|
+
if service == "Checkout" && @env == :live
|
|
87
|
+
return "#{service_url_base(service)}/checkout/v#{version}/#{action}"
|
|
75
88
|
else
|
|
76
|
-
"#{service_url_base(service)}
|
|
89
|
+
return "#{service_url_base(service)}/v#{version}/#{action}"
|
|
77
90
|
end
|
|
78
91
|
end
|
|
79
92
|
|
|
@@ -121,6 +134,10 @@ module Adyen
|
|
|
121
134
|
headers.map do |key, value|
|
|
122
135
|
faraday.headers[key] = value
|
|
123
136
|
end
|
|
137
|
+
|
|
138
|
+
# add library headers
|
|
139
|
+
faraday.headers["adyen-library-name"] = Adyen::NAME
|
|
140
|
+
faraday.headers["adyen-library-version"] = Adyen::VERSION
|
|
124
141
|
end
|
|
125
142
|
# if json string convert to hash
|
|
126
143
|
# needed to add applicationInfo
|
|
@@ -128,10 +145,6 @@ module Adyen
|
|
|
128
145
|
request_data = JSON.parse(request_data)
|
|
129
146
|
end
|
|
130
147
|
|
|
131
|
-
# add application only on checkout service
|
|
132
|
-
if with_application_info
|
|
133
|
-
add_application_info(request_data)
|
|
134
|
-
end
|
|
135
148
|
|
|
136
149
|
# convert to json
|
|
137
150
|
request_data = request_data.to_json
|
|
@@ -160,7 +173,7 @@ module Adyen
|
|
|
160
173
|
raise connection_error, "Connection to #{url} failed"
|
|
161
174
|
end
|
|
162
175
|
end
|
|
163
|
-
|
|
176
|
+
if action.fetch(:method) == 'post'
|
|
164
177
|
# post request to Adyen
|
|
165
178
|
begin
|
|
166
179
|
response = conn.post do |req|
|
|
@@ -169,8 +182,16 @@ module Adyen
|
|
|
169
182
|
rescue Faraday::ConnectionFailed => connection_error
|
|
170
183
|
raise connection_error, "Connection to #{url} failed"
|
|
171
184
|
end
|
|
185
|
+
end
|
|
186
|
+
else
|
|
187
|
+
begin
|
|
188
|
+
response = conn.post do |req|
|
|
189
|
+
req.body = request_data
|
|
190
|
+
end # handle client errors
|
|
191
|
+
rescue Faraday::ConnectionFailed => connection_error
|
|
192
|
+
raise connection_error, "Connection to #{url} failed"
|
|
193
|
+
end
|
|
172
194
|
end
|
|
173
|
-
|
|
174
195
|
# check for API errors
|
|
175
196
|
case response.status
|
|
176
197
|
when 401
|
|
@@ -189,31 +210,18 @@ module Adyen
|
|
|
189
210
|
formatted_response
|
|
190
211
|
end
|
|
191
212
|
|
|
192
|
-
# add application_info for analytics
|
|
193
|
-
def add_application_info(request_data)
|
|
194
|
-
adyenLibrary = {
|
|
195
|
-
:name => Adyen::NAME,
|
|
196
|
-
:version => Adyen::VERSION.to_s,
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
if request_data[:applicationInfo].nil?
|
|
200
|
-
request_data[:applicationInfo] = {}
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
request_data[:applicationInfo][:adyenLibrary] = adyenLibrary
|
|
204
|
-
end
|
|
205
213
|
|
|
206
214
|
# services
|
|
207
215
|
def checkout
|
|
208
216
|
@checkout ||= Adyen::Checkout.new(self)
|
|
209
217
|
end
|
|
210
218
|
|
|
211
|
-
def
|
|
212
|
-
@
|
|
219
|
+
def payment
|
|
220
|
+
@payment ||= Adyen::Payment.new(self)
|
|
213
221
|
end
|
|
214
222
|
|
|
215
|
-
def
|
|
216
|
-
@
|
|
223
|
+
def payout
|
|
224
|
+
@payout ||= Adyen::Payout.new(self)
|
|
217
225
|
end
|
|
218
226
|
|
|
219
227
|
def recurring
|
|
@@ -224,8 +232,8 @@ module Adyen
|
|
|
224
232
|
@marketpay ||= Adyen::Marketpay::Marketpay.new(self)
|
|
225
233
|
end
|
|
226
234
|
|
|
227
|
-
def
|
|
228
|
-
@
|
|
235
|
+
def pos_terminal_management
|
|
236
|
+
@pos_terminal_management ||= Adyen::PosTerminalManagement.new(self)
|
|
229
237
|
end
|
|
230
238
|
|
|
231
239
|
def data_protection
|
|
@@ -239,5 +247,29 @@ module Adyen
|
|
|
239
247
|
def bin_lookup
|
|
240
248
|
@bin_lookup ||= Adyen::BinLookup.new(self)
|
|
241
249
|
end
|
|
250
|
+
|
|
251
|
+
def legal_entity_management
|
|
252
|
+
@legal_entity_management ||= Adyen::LegalEntityManagement.new(self)
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
def balance_platform
|
|
256
|
+
@balance_platform ||= Adyen::BalancePlatform.new(self)
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
def transfers
|
|
260
|
+
@transfers ||= Adyen::Transfers.new(self)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
def management
|
|
264
|
+
@management ||= Adyen::Management.new(self)
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
def stored_value
|
|
268
|
+
@stored_value ||=Adyen::StoredValue.new(self)
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
def balance_control_service
|
|
272
|
+
@balance_control_service ||=Adyen::BalanceControlService.new(self)
|
|
273
|
+
end
|
|
242
274
|
end
|
|
243
275
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require_relative './service'
|
|
2
|
+
module Adyen
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class BalanceControlService < Service
|
|
6
|
+
attr_accessor :service, :version
|
|
7
|
+
DEFAULT_VERSION = 1
|
|
8
|
+
|
|
9
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
10
|
+
@service = "BalanceControlService"
|
|
11
|
+
@client = client
|
|
12
|
+
@version = version
|
|
13
|
+
end
|
|
14
|
+
|
|
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 % []
|
|
22
|
+
|
|
23
|
+
action = { method: "post", url: endpoint}
|
|
24
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
require_relative '../service'
|
|
2
|
+
module Adyen
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class AccountHoldersApi < Service
|
|
6
|
+
attr_accessor :service, :version
|
|
7
|
+
|
|
8
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
9
|
+
@service = "BalancePlatform"
|
|
10
|
+
@client = client
|
|
11
|
+
@version = version
|
|
12
|
+
end
|
|
13
|
+
|
|
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]
|
|
21
|
+
|
|
22
|
+
action = { method: "get", url: endpoint}
|
|
23
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
24
|
+
end
|
|
25
|
+
|
|
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}
|
|
35
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
36
|
+
end
|
|
37
|
+
|
|
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]
|
|
45
|
+
|
|
46
|
+
action = { method: "patch", url: endpoint}
|
|
47
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
48
|
+
end
|
|
49
|
+
|
|
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 % []
|
|
57
|
+
|
|
58
|
+
action = { method: "post", url: endpoint}
|
|
59
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
require_relative '../service'
|
|
2
|
+
module Adyen
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class BalanceAccountsApi < Service
|
|
6
|
+
attr_accessor :service, :version
|
|
7
|
+
|
|
8
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
9
|
+
@service = "BalancePlatform"
|
|
10
|
+
@client = client
|
|
11
|
+
@version = version
|
|
12
|
+
end
|
|
13
|
+
|
|
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]
|
|
21
|
+
|
|
22
|
+
action = { method: "delete", url: endpoint}
|
|
23
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
24
|
+
end
|
|
25
|
+
|
|
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}
|
|
35
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
36
|
+
end
|
|
37
|
+
|
|
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]
|
|
45
|
+
|
|
46
|
+
action = { method: "get", url: endpoint}
|
|
47
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
48
|
+
end
|
|
49
|
+
|
|
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]
|
|
57
|
+
|
|
58
|
+
action = { method: "get", url: endpoint}
|
|
59
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
60
|
+
end
|
|
61
|
+
|
|
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}
|
|
71
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
72
|
+
end
|
|
73
|
+
|
|
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]
|
|
81
|
+
|
|
82
|
+
action = { method: "patch", url: endpoint}
|
|
83
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
84
|
+
end
|
|
85
|
+
|
|
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]
|
|
93
|
+
|
|
94
|
+
action = { method: "patch", url: endpoint}
|
|
95
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
96
|
+
end
|
|
97
|
+
|
|
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 % []
|
|
105
|
+
|
|
106
|
+
action = { method: "post", url: endpoint}
|
|
107
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
108
|
+
end
|
|
109
|
+
|
|
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]
|
|
117
|
+
|
|
118
|
+
action = { method: "post", url: endpoint}
|
|
119
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
end
|
|
123
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require_relative '../service'
|
|
2
|
+
module Adyen
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class BankAccountValidationApi < Service
|
|
6
|
+
attr_accessor :service, :version
|
|
7
|
+
|
|
8
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
9
|
+
@service = "BalancePlatform"
|
|
10
|
+
@client = client
|
|
11
|
+
@version = version
|
|
12
|
+
end
|
|
13
|
+
|
|
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 % []
|
|
21
|
+
|
|
22
|
+
action = { method: "post", url: endpoint}
|
|
23
|
+
@client.call_adyen_api(@service, action, request, headers, @version)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require_relative '../service'
|
|
2
|
+
module Adyen
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class GrantAccountsApi < Service
|
|
6
|
+
attr_accessor :service, :version
|
|
7
|
+
|
|
8
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
9
|
+
@service = "BalancePlatform"
|
|
10
|
+
@client = client
|
|
11
|
+
@version = version
|
|
12
|
+
end
|
|
13
|
+
|
|
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]
|
|
21
|
+
|
|
22
|
+
action = { method: "get", url: endpoint}
|
|
23
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require_relative '../service'
|
|
2
|
+
module Adyen
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class GrantOffersApi < Service
|
|
6
|
+
attr_accessor :service, :version
|
|
7
|
+
|
|
8
|
+
def initialize(client, version = DEFAULT_VERSION)
|
|
9
|
+
@service = "BalancePlatform"
|
|
10
|
+
@client = client
|
|
11
|
+
@version = version
|
|
12
|
+
end
|
|
13
|
+
|
|
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}
|
|
23
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
24
|
+
end
|
|
25
|
+
|
|
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]
|
|
33
|
+
|
|
34
|
+
action = { method: "get", url: endpoint}
|
|
35
|
+
@client.call_adyen_api(@service, action, {}, headers, @version)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
end
|