adyen-ruby-api-library 6.3.0 → 7.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/Makefile +72 -0
  4. data/README.md +20 -18
  5. data/lib/adyen/client.rb +68 -36
  6. data/lib/adyen/services/balanceControlService.rb +28 -0
  7. data/lib/adyen/services/balancePlatform/account_holders_api.rb +63 -0
  8. data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +123 -0
  9. data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +27 -0
  10. data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +27 -0
  11. data/lib/adyen/services/balancePlatform/grant_offers_api.rb +39 -0
  12. data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +51 -0
  13. data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +75 -0
  14. data/lib/adyen/services/balancePlatform/platform_api.rb +39 -0
  15. data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +63 -0
  16. data/lib/adyen/services/balancePlatform.rb +61 -0
  17. data/lib/adyen/services/binLookup.rb +40 -0
  18. data/lib/adyen/services/checkout/classic_checkout_sdk_api.rb +39 -0
  19. data/lib/adyen/services/checkout/modifications_api.rb +87 -0
  20. data/lib/adyen/services/checkout/orders_api.rb +51 -0
  21. data/lib/adyen/services/checkout/payment_links_api.rb +51 -0
  22. data/lib/adyen/services/checkout/payments_api.rb +87 -0
  23. data/lib/adyen/services/checkout/recurring_api.rb +39 -0
  24. data/lib/adyen/services/checkout/utility_api.rb +39 -0
  25. data/lib/adyen/services/checkout.rb +38 -211
  26. data/lib/adyen/services/dataProtection.rb +28 -0
  27. data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +63 -0
  28. data/lib/adyen/services/legalEntityManagement/documents_api.rb +63 -0
  29. data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +51 -0
  30. data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +75 -0
  31. data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +63 -0
  32. data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +51 -0
  33. data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +63 -0
  34. data/lib/adyen/services/legalEntityManagement.rb +51 -0
  35. data/lib/adyen/services/management/account_company_level_api.rb +51 -0
  36. data/lib/adyen/services/management/account_merchant_level_api.rb +63 -0
  37. data/lib/adyen/services/management/account_store_level_api.rb +111 -0
  38. data/lib/adyen/services/management/allowed_origins_company_level_api.rb +63 -0
  39. data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +63 -0
  40. data/lib/adyen/services/management/api_credentials_company_level_api.rb +63 -0
  41. data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +63 -0
  42. data/lib/adyen/services/management/api_key_company_level_api.rb +27 -0
  43. data/lib/adyen/services/management/api_key_merchant_level_api.rb +27 -0
  44. data/lib/adyen/services/management/client_key_company_level_api.rb +27 -0
  45. data/lib/adyen/services/management/client_key_merchant_level_api.rb +27 -0
  46. data/lib/adyen/services/management/my_api_credential_api.rb +75 -0
  47. data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +87 -0
  48. data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +75 -0
  49. data/lib/adyen/services/management/terminal_actions_company_level_api.rb +63 -0
  50. data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +27 -0
  51. data/lib/adyen/services/management/terminal_orders_company_level_api.rb +135 -0
  52. data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +135 -0
  53. data/lib/adyen/services/management/terminal_settings_company_level_api.rb +63 -0
  54. data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +63 -0
  55. data/lib/adyen/services/management/terminal_settings_store_level_api.rb +111 -0
  56. data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +63 -0
  57. data/lib/adyen/services/management/terminals_terminal_level_api.rb +27 -0
  58. data/lib/adyen/services/management/users_company_level_api.rb +63 -0
  59. data/lib/adyen/services/management/users_merchant_level_api.rb +63 -0
  60. data/lib/adyen/services/management/webhooks_company_level_api.rb +99 -0
  61. data/lib/adyen/services/management/webhooks_merchant_level_api.rb +99 -0
  62. data/lib/adyen/services/management.rb +151 -0
  63. data/lib/adyen/services/payment.rb +172 -0
  64. data/lib/adyen/services/payout/initialization_api.rb +51 -0
  65. data/lib/adyen/services/payout/instant_payouts_api.rb +27 -0
  66. data/lib/adyen/services/payout/reviewing_api.rb +39 -0
  67. data/lib/adyen/services/payout.rb +31 -0
  68. data/lib/adyen/services/posTerminalManagement.rb +76 -0
  69. data/lib/adyen/services/recurring.rb +81 -13
  70. data/lib/adyen/services/service.rb +2 -2
  71. data/lib/adyen/services/storedValue.rb +88 -0
  72. data/lib/adyen/services/transfers/transactions_api.rb +39 -0
  73. data/lib/adyen/services/transfers/transfers_api.rb +27 -0
  74. data/lib/adyen/services/transfers.rb +26 -0
  75. data/lib/adyen/version.rb +1 -1
  76. data/lib/adyen-ruby-api-library.rb +11 -5
  77. data/spec/account_spec.rb +1 -1
  78. data/spec/balance_control_spec.rb +44 -0
  79. data/spec/balance_platform_spec.rb +123 -0
  80. data/spec/bin_lookup_spec.rb +68 -10
  81. data/spec/checkout_spec.rb +56 -66
  82. data/spec/client_spec.rb +88 -9
  83. data/spec/fund_spec.rb +1 -1
  84. data/spec/hop_spec.rb +1 -1
  85. data/spec/lem_spec.rb +68 -0
  86. data/spec/management_spec.rb +68 -0
  87. data/spec/mocks/requests/BalanceControl/balance_transfer.json +10 -0
  88. data/spec/mocks/requests/BalancePlatform/create_account_holder.json +5 -0
  89. data/spec/mocks/requests/BalancePlatform/update_account_holder.json +10 -0
  90. data/spec/mocks/requests/LegalEntityManagement/create_business_line.json +15 -0
  91. data/spec/mocks/requests/Management/create_store.json +15 -0
  92. data/spec/mocks/requests/Recurring/create_permit.json +6 -0
  93. data/spec/mocks/requests/StoredValue/issue_giftcard.json +12 -0
  94. data/spec/mocks/requests/Transfers/get_transactions.json +82 -0
  95. data/spec/mocks/requests/Transfers/make_transfer.json +32 -0
  96. data/spec/mocks/responses/BalanceControl/balance_transfer.json +14 -0
  97. data/spec/mocks/responses/BalancePlatform/create_account_holder.json +41 -0
  98. data/spec/mocks/responses/BalancePlatform/get_balance_account.json +15 -0
  99. data/spec/mocks/responses/BalancePlatform/update_account_holder.json +16 -0
  100. data/spec/mocks/responses/LegalEntityManagement/create_business_line.json +17 -0
  101. data/spec/mocks/responses/Management/create_store.json +23 -0
  102. data/spec/mocks/responses/Management/get_companies.json +42 -0
  103. data/spec/mocks/responses/Recurring/create_permit.json +4 -0
  104. data/spec/mocks/responses/StoredValue/issue_giftcard.json +13 -0
  105. data/spec/mocks/responses/Transfers/get_transactions.json +82 -0
  106. data/spec/mocks/responses/Transfers/make_transfer.json +36 -0
  107. data/spec/notification_spec.rb +1 -1
  108. data/spec/payments_spec.rb +41 -23
  109. data/spec/payouts_spec.rb +43 -16
  110. data/spec/pos_terminal_management_spec.rb +46 -0
  111. data/spec/recurring_spec.rb +2 -2
  112. data/spec/spec_helper.rb +0 -10
  113. data/spec/stored_value_spec.rb +43 -0
  114. data/spec/transfers_spec.rb +63 -0
  115. data/templates/api-single.mustache +29 -0
  116. data/templates/api-small.mustache +37 -0
  117. data/templates/api.mustache +36 -0
  118. data/templates/config.yaml +10 -0
  119. metadata +101 -11
  120. data/lib/adyen/services/bin_lookup.rb +0 -18
  121. data/lib/adyen/services/data_protection.rb +0 -17
  122. data/lib/adyen/services/payments.rb +0 -34
  123. data/lib/adyen/services/payouts.rb +0 -22
  124. data/lib/adyen/services/postfmapi.rb +0 -19
  125. data/spec/mocks/requests/Recurring/store_token.json +0 -15
  126. data/spec/mocks/responses/Recurring/store_token.json +0 -7
  127. data/spec/postfmapi_spec.rb +0 -16
@@ -0,0 +1,51 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class PaymentInstrumentGroupsApi < 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_payment_instrument_group(id, headers: {} )
15
+ """
16
+ Get a payment instrument group
17
+ """
18
+ endpoint = "/paymentInstrumentGroups/{id}".gsub(/{.+?}/, '%s')
19
+ endpoint = endpoint.gsub(/^\//, "")
20
+ endpoint = endpoint % [id]
21
+
22
+ action = { method: "get", url: endpoint}
23
+ @client.call_adyen_api(@service, action, {}, headers, @version)
24
+ end
25
+
26
+ def get_all_transaction_rules_for_payment_instrument_group(id, headers: {} )
27
+ """
28
+ Get all transaction rules for a payment instrument group
29
+ """
30
+ endpoint = "/paymentInstrumentGroups/{id}/transactionRules".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % [id]
33
+
34
+ action = { method: "get", url: endpoint}
35
+ @client.call_adyen_api(@service, action, {}, headers, @version)
36
+ end
37
+
38
+ def create_payment_instrument_group(request, headers: {} )
39
+ """
40
+ Create a payment instrument group
41
+ """
42
+ endpoint = "/paymentInstrumentGroups".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % []
45
+
46
+ action = { method: "post", url: endpoint}
47
+ @client.call_adyen_api(@service, action, request, headers, @version)
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,75 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class PaymentInstrumentsApi < 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_payment_instrument(id, headers: {} )
15
+ """
16
+ Get a payment instrument
17
+ """
18
+ endpoint = "/paymentInstruments/{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_pan_of_payment_instrument(id, headers: {} )
27
+ """
28
+ Get the PAN of a payment instrument
29
+ """
30
+ endpoint = "/paymentInstruments/{id}/reveal".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % [id]
33
+
34
+ action = { method: "get", url: endpoint}
35
+ @client.call_adyen_api(@service, action, {}, headers, @version)
36
+ end
37
+
38
+ def get_all_transaction_rules_for_payment_instrument(id, headers: {} )
39
+ """
40
+ Get all transaction rules for a payment instrument
41
+ """
42
+ endpoint = "/paymentInstruments/{id}/transactionRules".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % [id]
45
+
46
+ action = { method: "get", url: endpoint}
47
+ @client.call_adyen_api(@service, action, {}, headers, @version)
48
+ end
49
+
50
+ def update_payment_instrument(request, id, headers: {} )
51
+ """
52
+ Update a payment instrument
53
+ """
54
+ endpoint = "/paymentInstruments/{id}".gsub(/{.+?}/, '%s')
55
+ endpoint = endpoint.gsub(/^\//, "")
56
+ endpoint = endpoint % [id]
57
+
58
+ action = { method: "patch", url: endpoint}
59
+ @client.call_adyen_api(@service, action, request, headers, @version)
60
+ end
61
+
62
+ def create_payment_instrument(request, headers: {} )
63
+ """
64
+ Create a payment instrument
65
+ """
66
+ endpoint = "/paymentInstruments".gsub(/{.+?}/, '%s')
67
+ endpoint = endpoint.gsub(/^\//, "")
68
+ endpoint = endpoint % []
69
+
70
+ action = { method: "post", url: endpoint}
71
+ @client.call_adyen_api(@service, action, request, headers, @version)
72
+ end
73
+
74
+ end
75
+ end
@@ -0,0 +1,39 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class PlatformApi < 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_balance_platform(id, headers: {} )
15
+ """
16
+ Get a balance platform
17
+ """
18
+ endpoint = "/balancePlatforms/{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_account_holders_under_balance_platform(id, headers: {} , queryParams: {})
27
+ """
28
+ Get all account holders under a balance platform
29
+ """
30
+ endpoint = "/balancePlatforms/{id}/accountHolders".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
+ end
39
+ end
@@ -0,0 +1,63 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class TransactionRulesApi < 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_transaction_rule(transactionRuleId, headers: {} )
15
+ """
16
+ Delete a transaction rule
17
+ """
18
+ endpoint = "/transactionRules/{transactionRuleId}".gsub(/{.+?}/, '%s')
19
+ endpoint = endpoint.gsub(/^\//, "")
20
+ endpoint = endpoint % [transactionRuleId]
21
+
22
+ action = { method: "delete", url: endpoint}
23
+ @client.call_adyen_api(@service, action, {}, headers, @version)
24
+ end
25
+
26
+ def get_transaction_rule(transactionRuleId, headers: {} )
27
+ """
28
+ Get a transaction rule
29
+ """
30
+ endpoint = "/transactionRules/{transactionRuleId}".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % [transactionRuleId]
33
+
34
+ action = { method: "get", url: endpoint}
35
+ @client.call_adyen_api(@service, action, {}, headers, @version)
36
+ end
37
+
38
+ def update_transaction_rule(request, transactionRuleId, headers: {} )
39
+ """
40
+ Update a transaction rule
41
+ """
42
+ endpoint = "/transactionRules/{transactionRuleId}".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % [transactionRuleId]
45
+
46
+ action = { method: "patch", url: endpoint}
47
+ @client.call_adyen_api(@service, action, request, headers, @version)
48
+ end
49
+
50
+ def create_transaction_rule(request, headers: {} )
51
+ """
52
+ Create a transaction rule
53
+ """
54
+ endpoint = "/transactionRules".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,61 @@
1
+ require_relative 'balancePlatform/account_holders_api'
2
+ require_relative 'balancePlatform/balance_accounts_api'
3
+ require_relative 'balancePlatform/bank_account_validation_api'
4
+ require_relative 'balancePlatform/grant_accounts_api'
5
+ require_relative 'balancePlatform/grant_offers_api'
6
+ require_relative 'balancePlatform/payment_instrument_groups_api'
7
+ require_relative 'balancePlatform/payment_instruments_api'
8
+ require_relative 'balancePlatform/platform_api'
9
+ require_relative 'balancePlatform/transaction_rules_api'
10
+
11
+ module Adyen
12
+
13
+
14
+ class BalancePlatform
15
+ attr_accessor :service, :version
16
+
17
+ DEFAULT_VERSION = 2
18
+ def initialize(client, version = DEFAULT_VERSION)
19
+ @service = "BalancePlatform"
20
+ @client = client
21
+ @version = version
22
+ end
23
+
24
+ def account_holders_api
25
+ @account_holders_api ||= Adyen::AccountHoldersApi.new(@client, @version)
26
+ end
27
+
28
+ def balance_accounts_api
29
+ @balance_accounts_api ||= Adyen::BalanceAccountsApi.new(@client, @version)
30
+ end
31
+
32
+ def bank_account_validation_api
33
+ @bank_account_validation_api ||= Adyen::BankAccountValidationApi.new(@client, @version)
34
+ end
35
+
36
+ def grant_accounts_api
37
+ @grant_accounts_api ||= Adyen::GrantAccountsApi.new(@client, @version)
38
+ end
39
+
40
+ def grant_offers_api
41
+ @grant_offers_api ||= Adyen::GrantOffersApi.new(@client, @version)
42
+ end
43
+
44
+ def payment_instrument_groups_api
45
+ @payment_instrument_groups_api ||= Adyen::PaymentInstrumentGroupsApi.new(@client, @version)
46
+ end
47
+
48
+ def payment_instruments_api
49
+ @payment_instruments_api ||= Adyen::PaymentInstrumentsApi.new(@client, @version)
50
+ end
51
+
52
+ def platform_api
53
+ @platform_api ||= Adyen::PlatformApi.new(@client, @version)
54
+ end
55
+
56
+ def transaction_rules_api
57
+ @transaction_rules_api ||= Adyen::TransactionRulesApi.new(@client, @version)
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,40 @@
1
+ require_relative './service'
2
+ module Adyen
3
+
4
+
5
+ class BinLookup < Service
6
+ attr_accessor :service, :version
7
+ DEFAULT_VERSION = 54
8
+
9
+ def initialize(client, version = DEFAULT_VERSION)
10
+ @service = "BinLookup"
11
+ @client = client
12
+ @version = version
13
+ end
14
+
15
+ def get3ds_availability(request, headers: {} )
16
+ """
17
+ Check if 3D Secure is available
18
+ """
19
+ endpoint = "/get3dsAvailability".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
+ def get_cost_estimate(request, headers: {} )
28
+ """
29
+ Get a fees cost estimate
30
+ """
31
+ endpoint = "/getCostEstimate".gsub(/{.+?}/, '%s')
32
+ endpoint = endpoint.gsub(/^\//, "")
33
+ endpoint = endpoint % []
34
+
35
+ action = { method: "post", url: endpoint}
36
+ @client.call_adyen_api(@service, action, request, headers, @version)
37
+ end
38
+
39
+ end
40
+ end
@@ -0,0 +1,39 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class ClassicCheckoutSDKApi < Service
6
+ attr_accessor :service, :version
7
+
8
+ def initialize(client, version = DEFAULT_VERSION)
9
+ @service = "Checkout"
10
+ @client = client
11
+ @version = version
12
+ end
13
+
14
+ def payment_session(request, headers: {} )
15
+ """
16
+ Create a payment session
17
+ """
18
+ endpoint = "/paymentSession".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
+ def verify_payment_result(request, headers: {} )
27
+ """
28
+ Verify a payment result
29
+ """
30
+ endpoint = "/payments/result".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % []
33
+
34
+ action = { method: "post", url: endpoint}
35
+ @client.call_adyen_api(@service, action, request, headers, @version)
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,87 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class ModificationsApi < Service
6
+ attr_accessor :service, :version
7
+
8
+ def initialize(client, version = DEFAULT_VERSION)
9
+ @service = "Checkout"
10
+ @client = client
11
+ @version = version
12
+ end
13
+
14
+ def cancel_authorised_payment(request, headers: {} )
15
+ """
16
+ Cancel an authorised payment
17
+ """
18
+ endpoint = "/cancels".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
+ def update_authorised_amount(request, paymentPspReference, headers: {} )
27
+ """
28
+ Update an authorised amount
29
+ """
30
+ endpoint = "/payments/{paymentPspReference}/amountUpdates".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % [paymentPspReference]
33
+
34
+ action = { method: "post", url: endpoint}
35
+ @client.call_adyen_api(@service, action, request, headers, @version)
36
+ end
37
+
38
+ def cancel_authorised_payment_by_psp_reference(request, paymentPspReference, headers: {} )
39
+ """
40
+ Cancel an authorised payment
41
+ """
42
+ endpoint = "/payments/{paymentPspReference}/cancels".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % [paymentPspReference]
45
+
46
+ action = { method: "post", url: endpoint}
47
+ @client.call_adyen_api(@service, action, request, headers, @version)
48
+ end
49
+
50
+ def capture_authorised_payment(request, paymentPspReference, headers: {} )
51
+ """
52
+ Capture an authorised payment
53
+ """
54
+ endpoint = "/payments/{paymentPspReference}/captures".gsub(/{.+?}/, '%s')
55
+ endpoint = endpoint.gsub(/^\//, "")
56
+ endpoint = endpoint % [paymentPspReference]
57
+
58
+ action = { method: "post", url: endpoint}
59
+ @client.call_adyen_api(@service, action, request, headers, @version)
60
+ end
61
+
62
+ def refund_captured_payment(request, paymentPspReference, headers: {} )
63
+ """
64
+ Refund a captured payment
65
+ """
66
+ endpoint = "/payments/{paymentPspReference}/refunds".gsub(/{.+?}/, '%s')
67
+ endpoint = endpoint.gsub(/^\//, "")
68
+ endpoint = endpoint % [paymentPspReference]
69
+
70
+ action = { method: "post", url: endpoint}
71
+ @client.call_adyen_api(@service, action, request, headers, @version)
72
+ end
73
+
74
+ def refund_or_cancel_payment(request, paymentPspReference, headers: {} )
75
+ """
76
+ Refund or cancel a payment
77
+ """
78
+ endpoint = "/payments/{paymentPspReference}/reversals".gsub(/{.+?}/, '%s')
79
+ endpoint = endpoint.gsub(/^\//, "")
80
+ endpoint = endpoint % [paymentPspReference]
81
+
82
+ action = { method: "post", url: endpoint}
83
+ @client.call_adyen_api(@service, action, request, headers, @version)
84
+ end
85
+
86
+ end
87
+ end
@@ -0,0 +1,51 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class OrdersApi < Service
6
+ attr_accessor :service, :version
7
+
8
+ def initialize(client, version = DEFAULT_VERSION)
9
+ @service = "Checkout"
10
+ @client = client
11
+ @version = version
12
+ end
13
+
14
+ def orders(request, headers: {} )
15
+ """
16
+ Create an order
17
+ """
18
+ endpoint = "/orders".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
+ def cancel_order(request, headers: {} )
27
+ """
28
+ Cancel an order
29
+ """
30
+ endpoint = "/orders/cancel".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % []
33
+
34
+ action = { method: "post", url: endpoint}
35
+ @client.call_adyen_api(@service, action, request, headers, @version)
36
+ end
37
+
38
+ def get_balance_of_gift_card(request, headers: {} )
39
+ """
40
+ Get the balance of a gift card
41
+ """
42
+ endpoint = "/paymentMethods/balance".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % []
45
+
46
+ action = { method: "post", url: endpoint}
47
+ @client.call_adyen_api(@service, action, request, headers, @version)
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,51 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class PaymentLinksApi < Service
6
+ attr_accessor :service, :version
7
+
8
+ def initialize(client, version = DEFAULT_VERSION)
9
+ @service = "Checkout"
10
+ @client = client
11
+ @version = version
12
+ end
13
+
14
+ def get_payment_link(linkId, headers: {} )
15
+ """
16
+ Get a payment link
17
+ """
18
+ endpoint = "/paymentLinks/{linkId}".gsub(/{.+?}/, '%s')
19
+ endpoint = endpoint.gsub(/^\//, "")
20
+ endpoint = endpoint % [linkId]
21
+
22
+ action = { method: "get", url: endpoint}
23
+ @client.call_adyen_api(@service, action, {}, headers, @version)
24
+ end
25
+
26
+ def update_payment_link(request, linkId, headers: {} )
27
+ """
28
+ Update the status of a payment link
29
+ """
30
+ endpoint = "/paymentLinks/{linkId}".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % [linkId]
33
+
34
+ action = { method: "patch", url: endpoint}
35
+ @client.call_adyen_api(@service, action, request, headers, @version)
36
+ end
37
+
38
+ def payment_links(request, headers: {} )
39
+ """
40
+ Create a payment link
41
+ """
42
+ endpoint = "/paymentLinks".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % []
45
+
46
+ action = { method: "post", url: endpoint}
47
+ @client.call_adyen_api(@service, action, request, headers, @version)
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,87 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class PaymentsApi < Service
6
+ attr_accessor :service, :version
7
+
8
+ def initialize(client, version = DEFAULT_VERSION)
9
+ @service = "Checkout"
10
+ @client = client
11
+ @version = version
12
+ end
13
+
14
+ def card_details(request, headers: {} )
15
+ """
16
+ Get the list of brands on the card
17
+ """
18
+ endpoint = "/cardDetails".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
+ def donations(request, headers: {} )
27
+ """
28
+ Start a transaction for donations
29
+ """
30
+ endpoint = "/donations".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % []
33
+
34
+ action = { method: "post", url: endpoint}
35
+ @client.call_adyen_api(@service, action, request, headers, @version)
36
+ end
37
+
38
+ def payment_methods(request, headers: {} )
39
+ """
40
+ Get a list of available payment methods
41
+ """
42
+ endpoint = "/paymentMethods".gsub(/{.+?}/, '%s')
43
+ endpoint = endpoint.gsub(/^\//, "")
44
+ endpoint = endpoint % []
45
+
46
+ action = { method: "post", url: endpoint}
47
+ @client.call_adyen_api(@service, action, request, headers, @version)
48
+ end
49
+
50
+ def payments(request, headers: {} )
51
+ """
52
+ Start a transaction
53
+ """
54
+ endpoint = "/payments".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
+ def payments_details(request, headers: {} )
63
+ """
64
+ Submit details for a payment
65
+ """
66
+ endpoint = "/payments/details".gsub(/{.+?}/, '%s')
67
+ endpoint = endpoint.gsub(/^\//, "")
68
+ endpoint = endpoint % []
69
+
70
+ action = { method: "post", url: endpoint}
71
+ @client.call_adyen_api(@service, action, request, headers, @version)
72
+ end
73
+
74
+ def sessions(request, headers: {} )
75
+ """
76
+ Create a payment session
77
+ """
78
+ endpoint = "/sessions".gsub(/{.+?}/, '%s')
79
+ endpoint = endpoint.gsub(/^\//, "")
80
+ endpoint = endpoint % []
81
+
82
+ action = { method: "post", url: endpoint}
83
+ @client.call_adyen_api(@service, action, request, headers, @version)
84
+ end
85
+
86
+ end
87
+ end
@@ -0,0 +1,39 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+
5
+ class RecurringApi < Service
6
+ attr_accessor :service, :version
7
+
8
+ def initialize(client, version = DEFAULT_VERSION)
9
+ @service = "Checkout"
10
+ @client = client
11
+ @version = version
12
+ end
13
+
14
+ def delete_token_for_stored_payment_details(recurringId, headers: {} , queryParams: {})
15
+ """
16
+ Delete a token for stored payment details
17
+ """
18
+ endpoint = "/storedPaymentMethods/{recurringId}".gsub(/{.+?}/, '%s')
19
+ endpoint = endpoint.gsub(/^\//, "")
20
+ endpoint = endpoint % [recurringId]
21
+ endpoint = endpoint + create_query_string(queryParams)
22
+ action = { method: "delete", url: endpoint}
23
+ @client.call_adyen_api(@service, action, {}, headers, @version)
24
+ end
25
+
26
+ def get_tokens_for_stored_payment_details(headers: {} , queryParams: {})
27
+ """
28
+ Get tokens for stored payment details
29
+ """
30
+ endpoint = "/storedPaymentMethods".gsub(/{.+?}/, '%s')
31
+ endpoint = endpoint.gsub(/^\//, "")
32
+ endpoint = endpoint % []
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
+ end
39
+ end