adyen-ruby-api-library 6.0.0 → 10.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/release.yml +18 -0
  4. data/.github/workflows/codeql.yml +37 -0
  5. data/.github/workflows/label_new_issues.yml +15 -0
  6. data/.github/workflows/release.yml +40 -0
  7. data/.github/workflows/ruby.yml +2 -2
  8. data/.github/workflows/rubygems_release.yml +18 -0
  9. data/.github/workflows/stale.yml +26 -0
  10. data/.gitignore +3 -0
  11. data/.rubocop.yml +8 -0
  12. data/CONTRIBUTING.md +1 -1
  13. data/Gemfile +7 -7
  14. data/Makefile +79 -0
  15. data/README.md +158 -20
  16. data/Rakefile +3 -3
  17. data/VERSION +2 -0
  18. data/adyen-ruby-api-library.gemspec +6 -3
  19. data/bin/console +2 -2
  20. data/lib/adyen/client.rb +213 -99
  21. data/lib/adyen/errors.rb +30 -22
  22. data/lib/adyen/hash_with_accessors.rb +12 -7
  23. data/lib/adyen/services/balanceControlService.rb +27 -0
  24. data/lib/adyen/services/balancePlatform/account_holders_api.rb +76 -0
  25. data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +116 -0
  26. data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +26 -0
  27. data/lib/adyen/services/balancePlatform/card_orders_api.rb +36 -0
  28. data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +26 -0
  29. data/lib/adyen/services/balancePlatform/grant_offers_api.rb +36 -0
  30. data/lib/adyen/services/balancePlatform/manage_card_pin_api.rb +46 -0
  31. data/lib/adyen/services/balancePlatform/manage_sca_devices_api.rb +56 -0
  32. data/lib/adyen/services/balancePlatform/network_tokens_api.rb +36 -0
  33. data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +46 -0
  34. data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +86 -0
  35. data/lib/adyen/services/balancePlatform/platform_api.rb +46 -0
  36. data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +56 -0
  37. data/lib/adyen/services/balancePlatform/transfer_routes_api.rb +26 -0
  38. data/lib/adyen/services/balancePlatform.rb +89 -0
  39. data/lib/adyen/services/binLookup.rb +37 -0
  40. data/lib/adyen/services/checkout/donations_api.rb +36 -0
  41. data/lib/adyen/services/checkout/modifications_api.rb +76 -0
  42. data/lib/adyen/services/checkout/orders_api.rb +46 -0
  43. data/lib/adyen/services/checkout/payment_links_api.rb +46 -0
  44. data/lib/adyen/services/checkout/payments_api.rb +76 -0
  45. data/lib/adyen/services/checkout/recurring_api.rb +46 -0
  46. data/lib/adyen/services/checkout/utility_api.rb +48 -0
  47. data/lib/adyen/services/checkout.rb +29 -108
  48. data/lib/adyen/services/dataProtection.rb +27 -0
  49. data/lib/adyen/services/disputes.rb +67 -0
  50. data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +56 -0
  51. data/lib/adyen/services/legalEntityManagement/documents_api.rb +56 -0
  52. data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +46 -0
  53. data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +76 -0
  54. data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +66 -0
  55. data/lib/adyen/services/legalEntityManagement/tax_e_delivery_consent_api.rb +36 -0
  56. data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +66 -0
  57. data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +56 -0
  58. data/lib/adyen/services/legalEntityManagement.rb +59 -0
  59. data/lib/adyen/services/management/account_company_level_api.rb +46 -0
  60. data/lib/adyen/services/management/account_merchant_level_api.rb +56 -0
  61. data/lib/adyen/services/management/account_store_level_api.rb +96 -0
  62. data/lib/adyen/services/management/allowed_origins_company_level_api.rb +56 -0
  63. data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +56 -0
  64. data/lib/adyen/services/management/android_files_company_level_api.rb +76 -0
  65. data/lib/adyen/services/management/api_credentials_company_level_api.rb +56 -0
  66. data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +56 -0
  67. data/lib/adyen/services/management/api_key_company_level_api.rb +26 -0
  68. data/lib/adyen/services/management/api_key_merchant_level_api.rb +26 -0
  69. data/lib/adyen/services/management/client_key_company_level_api.rb +26 -0
  70. data/lib/adyen/services/management/client_key_merchant_level_api.rb +26 -0
  71. data/lib/adyen/services/management/my_api_credential_api.rb +76 -0
  72. data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +76 -0
  73. data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +66 -0
  74. data/lib/adyen/services/management/split_configuration_merchant_level_api.rb +106 -0
  75. data/lib/adyen/services/management/terminal_actions_company_level_api.rb +36 -0
  76. data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +26 -0
  77. data/lib/adyen/services/management/terminal_orders_company_level_api.rb +116 -0
  78. data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +116 -0
  79. data/lib/adyen/services/management/terminal_settings_company_level_api.rb +56 -0
  80. data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +56 -0
  81. data/lib/adyen/services/management/terminal_settings_store_level_api.rb +96 -0
  82. data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +56 -0
  83. data/lib/adyen/services/management/terminals_terminal_level_api.rb +36 -0
  84. data/lib/adyen/services/management/users_company_level_api.rb +56 -0
  85. data/lib/adyen/services/management/users_merchant_level_api.rb +56 -0
  86. data/lib/adyen/services/management/webhooks_company_level_api.rb +86 -0
  87. data/lib/adyen/services/management/webhooks_merchant_level_api.rb +86 -0
  88. data/lib/adyen/services/management.rb +164 -0
  89. data/lib/adyen/services/marketpay.rb +42 -36
  90. data/lib/adyen/services/payment.rb +149 -0
  91. data/lib/adyen/services/paymentsApp.rb +67 -0
  92. data/lib/adyen/services/payout/initialization_api.rb +46 -0
  93. data/lib/adyen/services/payout/instant_payouts_api.rb +26 -0
  94. data/lib/adyen/services/payout/reviewing_api.rb +36 -0
  95. data/lib/adyen/services/payout.rb +34 -0
  96. data/lib/adyen/services/posMobile.rb +27 -0
  97. data/lib/adyen/services/posTerminalManagement.rb +82 -0
  98. data/lib/adyen/services/recurring.rb +70 -13
  99. data/lib/adyen/services/service.rb +8 -2
  100. data/lib/adyen/services/storedValue.rb +77 -0
  101. data/lib/adyen/services/terminalCloudAPI.rb +38 -0
  102. data/lib/adyen/services/transfers/capital_api.rb +55 -0
  103. data/lib/adyen/services/transfers/transactions_api.rb +36 -0
  104. data/lib/adyen/services/transfers/transfers_api.rb +76 -0
  105. data/lib/adyen/services/transfers.rb +34 -0
  106. data/lib/adyen/utils/hmac_validator.rb +52 -22
  107. data/lib/adyen/version.rb +2 -2
  108. data/lib/adyen-ruby-api-library.rb +23 -15
  109. data/renovate.json +3 -3
  110. data/spec/account_spec.rb +20 -20
  111. data/spec/balance_control_spec.rb +43 -0
  112. data/spec/balance_platform_spec.rb +129 -0
  113. data/spec/bin_lookup_spec.rb +69 -11
  114. data/spec/checkout-oauth_spec.rb +588 -0
  115. data/spec/checkout_spec.rb +591 -314
  116. data/spec/client_spec.rb +240 -45
  117. data/spec/data_protection_spec.rb +4 -4
  118. data/spec/disputes_spec.rb +45 -0
  119. data/spec/errors_spec.rb +44 -15
  120. data/spec/fund_spec.rb +10 -10
  121. data/spec/hash_with_accessors_spec.rb +18 -8
  122. data/spec/hop_spec.rb +4 -4
  123. data/spec/lem_spec.rb +63 -0
  124. data/spec/management-oauth_spec.rb +62 -0
  125. data/spec/management_spec.rb +66 -0
  126. data/spec/mocks/requests/BalanceControl/balance_transfer.json +10 -0
  127. data/spec/mocks/requests/BalancePlatform/create_account_holder.json +5 -0
  128. data/spec/mocks/requests/BalancePlatform/update_account_holder.json +10 -0
  129. data/spec/mocks/requests/Checkout/amount_updates.json +22 -0
  130. data/spec/mocks/requests/Checkout/apple_pay_sessions.json +5 -0
  131. data/spec/mocks/requests/Checkout/capture.json +34 -0
  132. data/spec/mocks/requests/Checkout/generic_cancel.json +5 -0
  133. data/spec/mocks/requests/Checkout/modifications_request.json +0 -0
  134. data/spec/mocks/requests/Checkout/psp_cancel.json +4 -0
  135. data/spec/mocks/requests/Checkout/refund.json +34 -0
  136. data/spec/mocks/requests/DisputesService/retrieve_applicable_defense_reasons.json +4 -0
  137. data/spec/mocks/requests/LegalEntityManagement/create_business_line.json +15 -0
  138. data/spec/mocks/requests/Management/create_store.json +15 -0
  139. data/spec/mocks/requests/Recurring/create_permit.json +6 -0
  140. data/spec/mocks/requests/StoredValue/issue_giftcard.json +12 -0
  141. data/spec/mocks/requests/TerminalCloudAPI/connected_terminals.json +3 -0
  142. data/spec/mocks/requests/TerminalCloudAPI/sync_payment.json +29 -0
  143. data/spec/mocks/requests/Transfers/get_transactions.json +82 -0
  144. data/spec/mocks/requests/Transfers/make_transfer.json +32 -0
  145. data/spec/mocks/responses/BalanceControl/balance_transfer.json +14 -0
  146. data/spec/mocks/responses/BalancePlatform/create_account_holder.json +41 -0
  147. data/spec/mocks/responses/BalancePlatform/get_balance_account.json +15 -0
  148. data/spec/mocks/responses/BalancePlatform/update_account_holder.json +16 -0
  149. data/spec/mocks/responses/Checkout/amount_updates.json +24 -0
  150. data/spec/mocks/responses/Checkout/apple_pay_sessions.json +3 -0
  151. data/spec/mocks/responses/Checkout/capture.json +37 -0
  152. data/spec/mocks/responses/Checkout/generic_cancel.json +7 -0
  153. data/spec/mocks/responses/Checkout/modifications.json +0 -0
  154. data/spec/mocks/responses/Checkout/psp_cancel.json +7 -0
  155. data/spec/mocks/responses/Checkout/refund.json +37 -0
  156. data/spec/mocks/responses/Checkout/stored_payment_methods.json +1 -0
  157. data/spec/mocks/responses/DisputesService/retrieve_applicable_defense_reasons.json +71 -0
  158. data/spec/mocks/responses/LegalEntityManagement/create_business_line.json +17 -0
  159. data/spec/mocks/responses/Management/create_store.json +23 -0
  160. data/spec/mocks/responses/Management/get_companies.json +42 -0
  161. data/spec/mocks/responses/Recurring/create_permit.json +4 -0
  162. data/spec/mocks/responses/StoredValue/issue_giftcard.json +13 -0
  163. data/spec/mocks/responses/TerminalCloudAPI/connected_terminals.json +5 -0
  164. data/spec/mocks/responses/TerminalCloudAPI/sync_payment.json +18 -0
  165. data/spec/mocks/responses/Transfers/get_transactions.json +82 -0
  166. data/spec/mocks/responses/Transfers/make_transfer.json +36 -0
  167. data/spec/mocks/responses/Webhooks/backslash_webhook.json +41 -0
  168. data/spec/mocks/responses/Webhooks/colon_webhook.json +41 -0
  169. data/spec/mocks/responses/Webhooks/forwardslash_webhook.json +41 -0
  170. data/spec/mocks/responses/Webhooks/mixed_webhook.json +41 -0
  171. data/spec/notification_spec.rb +9 -9
  172. data/spec/payments_spec.rb +39 -22
  173. data/spec/payouts_spec.rb +39 -15
  174. data/spec/pos_terminal_management_spec.rb +44 -0
  175. data/spec/recurring_spec.rb +8 -8
  176. data/spec/service_spec.rb +4 -0
  177. data/spec/spec_helper.rb +42 -46
  178. data/spec/stored_value_spec.rb +44 -0
  179. data/spec/terminal_cloud_api_spec.rb +91 -0
  180. data/spec/transfers_spec.rb +64 -0
  181. data/spec/utils/hmac_validator_spec.rb +53 -23
  182. data/templates/api-single.mustache +32 -0
  183. data/templates/api-small.mustache +39 -0
  184. data/templates/api.mustache +38 -0
  185. data/templates/config.yaml +10 -0
  186. metadata +160 -47
  187. data/.github/dependabot.yml +0 -8
  188. data/docs/checkout.html +0 -128
  189. data/docs/index.html +0 -50
  190. data/docs/install-library.html +0 -61
  191. data/docs/javascripts/prism.js +0 -5
  192. data/docs/javascripts/scale.fix.js +0 -17
  193. data/docs/marketpay.html +0 -171
  194. data/docs/params.json +0 -1
  195. data/docs/payment.html +0 -106
  196. data/docs/payout.html +0 -135
  197. data/docs/recurring.html +0 -113
  198. data/docs/stylesheets/github-light.css +0 -115
  199. data/docs/stylesheets/prism.css +0 -140
  200. data/docs/stylesheets/styles.css +0 -324
  201. data/docs/using-library.html +0 -67
  202. data/lib/adyen/services/bin_lookup.rb +0 -18
  203. data/lib/adyen/services/data_protection.rb +0 -17
  204. data/lib/adyen/services/dispute.rb +0 -20
  205. data/lib/adyen/services/payments.rb +0 -34
  206. data/lib/adyen/services/payouts.rb +0 -22
  207. data/lib/adyen/services/postfmapi.rb +0 -19
  208. data/spec/dispute_spec.rb +0 -17
  209. data/spec/mocks/requests/DisputeService/defend_dispute.json +0 -5
  210. data/spec/mocks/requests/DisputeService/delete_dispute_defense_document.json +0 -5
  211. data/spec/mocks/requests/DisputeService/retrieve_applicable_defense_reasons.json +0 -4
  212. data/spec/mocks/requests/DisputeService/supply_defense_document.json +0 -11
  213. data/spec/mocks/requests/Recurring/store_token.json +0 -15
  214. data/spec/mocks/responses/DisputeService/defend_dispute.json +0 -5
  215. data/spec/mocks/responses/DisputeService/delete_dispute_defense_document.json +0 -5
  216. data/spec/mocks/responses/DisputeService/retrieve_applicable_defense_reasons.json +0 -28
  217. data/spec/mocks/responses/DisputeService/supply_defense_document.json +0 -5
  218. data/spec/mocks/responses/Recurring/store_token.json +0 -7
  219. data/spec/postfmapi_spec.rb +0 -16
@@ -0,0 +1,89 @@
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/card_orders_api'
5
+ require_relative 'balancePlatform/grant_accounts_api'
6
+ require_relative 'balancePlatform/grant_offers_api'
7
+ require_relative 'balancePlatform/manage_card_pin_api'
8
+ require_relative 'balancePlatform/manage_sca_devices_api'
9
+ require_relative 'balancePlatform/network_tokens_api'
10
+ require_relative 'balancePlatform/payment_instrument_groups_api'
11
+ require_relative 'balancePlatform/payment_instruments_api'
12
+ require_relative 'balancePlatform/platform_api'
13
+ require_relative 'balancePlatform/transaction_rules_api'
14
+ require_relative 'balancePlatform/transfer_routes_api'
15
+
16
+ module Adyen
17
+
18
+ # NOTE: This class is auto generated by OpenAPI Generator
19
+ # Ref: https://openapi-generator.tech
20
+ #
21
+ # Do not edit the class manually.
22
+ class BalancePlatform
23
+ attr_accessor :service, :version
24
+
25
+ DEFAULT_VERSION = 2
26
+ def initialize(client, version = DEFAULT_VERSION)
27
+ @service = 'BalancePlatform'
28
+ @client = client
29
+ @version = version
30
+ end
31
+
32
+ def account_holders_api
33
+ @account_holders_api ||= Adyen::AccountHoldersApi.new(@client, @version)
34
+ end
35
+
36
+ def balance_accounts_api
37
+ @balance_accounts_api ||= Adyen::BalanceAccountsApi.new(@client, @version)
38
+ end
39
+
40
+ def bank_account_validation_api
41
+ @bank_account_validation_api ||= Adyen::BankAccountValidationApi.new(@client, @version)
42
+ end
43
+
44
+ def card_orders_api
45
+ @card_orders_api ||= Adyen::CardOrdersApi.new(@client, @version)
46
+ end
47
+
48
+ def grant_accounts_api
49
+ @grant_accounts_api ||= Adyen::GrantAccountsApi.new(@client, @version)
50
+ end
51
+
52
+ def grant_offers_api
53
+ @grant_offers_api ||= Adyen::GrantOffersApi.new(@client, @version)
54
+ end
55
+
56
+ def manage_card_pin_api
57
+ @manage_card_pin_api ||= Adyen::ManageCardPINApi.new(@client, @version)
58
+ end
59
+
60
+ def manage_sca_devices_api
61
+ @manage_sca_devices_api ||= Adyen::ManageSCADevicesApi.new(@client, @version)
62
+ end
63
+
64
+ def network_tokens_api
65
+ @network_tokens_api ||= Adyen::NetworkTokensApi.new(@client, @version)
66
+ end
67
+
68
+ def payment_instrument_groups_api
69
+ @payment_instrument_groups_api ||= Adyen::PaymentInstrumentGroupsApi.new(@client, @version)
70
+ end
71
+
72
+ def payment_instruments_api
73
+ @payment_instruments_api ||= Adyen::PaymentInstrumentsApi.new(@client, @version)
74
+ end
75
+
76
+ def platform_api
77
+ @platform_api ||= Adyen::PlatformApi.new(@client, @version)
78
+ end
79
+
80
+ def transaction_rules_api
81
+ @transaction_rules_api ||= Adyen::TransactionRulesApi.new(@client, @version)
82
+ end
83
+
84
+ def transfer_routes_api
85
+ @transfer_routes_api ||= Adyen::TransferRoutesApi.new(@client, @version)
86
+ end
87
+
88
+ end
89
+ end
@@ -0,0 +1,37 @@
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 BinLookup < Service
9
+ attr_accessor :service, :version
10
+
11
+ DEFAULT_VERSION = 54
12
+ def initialize(client, version = DEFAULT_VERSION)
13
+ super(client, version, 'BinLookup')
14
+ end
15
+
16
+ # Check if 3D Secure is available
17
+ def get3ds_availability(request, headers: {})
18
+ endpoint = '/get3dsAvailability'.gsub(/{.+?}/, '%s')
19
+ endpoint = endpoint.gsub(%r{^/}, '')
20
+ endpoint = format(endpoint)
21
+
22
+ action = { method: 'post', url: endpoint }
23
+ @client.call_adyen_api(@service, action, request, headers, @version)
24
+ end
25
+
26
+ # Get a fees cost estimate
27
+ def get_cost_estimate(request, headers: {})
28
+ endpoint = '/getCostEstimate'.gsub(/{.+?}/, '%s')
29
+ endpoint = endpoint.gsub(%r{^/}, '')
30
+ endpoint = format(endpoint)
31
+
32
+ action = { method: 'post', url: endpoint }
33
+ @client.call_adyen_api(@service, action, request, headers, @version)
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,36 @@
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 DonationsApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Get a list of donation campaigns.
16
+ def donation_campaigns(request, headers: {})
17
+ endpoint = '/donationCampaigns'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint)
20
+
21
+ action = { method: 'post', url: endpoint }
22
+ @client.call_adyen_api(@service, action, request, headers, @version)
23
+ end
24
+
25
+ # Start a transaction for donations
26
+ def donations(request, headers: {})
27
+ endpoint = '/donations'.gsub(/{.+?}/, '%s')
28
+ endpoint = endpoint.gsub(%r{^/}, '')
29
+ endpoint = format(endpoint)
30
+
31
+ action = { method: 'post', url: endpoint }
32
+ @client.call_adyen_api(@service, action, request, headers, @version)
33
+ end
34
+
35
+ end
36
+ end
@@ -0,0 +1,76 @@
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 ModificationsApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Cancel an authorised payment
16
+ def cancel_authorised_payment(request, headers: {})
17
+ endpoint = '/cancels'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint)
20
+
21
+ action = { method: 'post', url: endpoint }
22
+ @client.call_adyen_api(@service, action, request, headers, @version)
23
+ end
24
+
25
+ # Cancel an authorised payment
26
+ def cancel_authorised_payment_by_psp_reference(request, payment_psp_reference, headers: {})
27
+ endpoint = '/payments/{paymentPspReference}/cancels'.gsub(/{.+?}/, '%s')
28
+ endpoint = endpoint.gsub(%r{^/}, '')
29
+ endpoint = format(endpoint, payment_psp_reference)
30
+
31
+ action = { method: 'post', url: endpoint }
32
+ @client.call_adyen_api(@service, action, request, headers, @version)
33
+ end
34
+
35
+ # Capture an authorised payment
36
+ def capture_authorised_payment(request, payment_psp_reference, headers: {})
37
+ endpoint = '/payments/{paymentPspReference}/captures'.gsub(/{.+?}/, '%s')
38
+ endpoint = endpoint.gsub(%r{^/}, '')
39
+ endpoint = format(endpoint, payment_psp_reference)
40
+
41
+ action = { method: 'post', url: endpoint }
42
+ @client.call_adyen_api(@service, action, request, headers, @version)
43
+ end
44
+
45
+ # Refund a captured payment
46
+ def refund_captured_payment(request, payment_psp_reference, headers: {})
47
+ endpoint = '/payments/{paymentPspReference}/refunds'.gsub(/{.+?}/, '%s')
48
+ endpoint = endpoint.gsub(%r{^/}, '')
49
+ endpoint = format(endpoint, payment_psp_reference)
50
+
51
+ action = { method: 'post', url: endpoint }
52
+ @client.call_adyen_api(@service, action, request, headers, @version)
53
+ end
54
+
55
+ # Refund or cancel a payment
56
+ def refund_or_cancel_payment(request, payment_psp_reference, headers: {})
57
+ endpoint = '/payments/{paymentPspReference}/reversals'.gsub(/{.+?}/, '%s')
58
+ endpoint = endpoint.gsub(%r{^/}, '')
59
+ endpoint = format(endpoint, payment_psp_reference)
60
+
61
+ action = { method: 'post', url: endpoint }
62
+ @client.call_adyen_api(@service, action, request, headers, @version)
63
+ end
64
+
65
+ # Update an authorised amount
66
+ def update_authorised_amount(request, payment_psp_reference, headers: {})
67
+ endpoint = '/payments/{paymentPspReference}/amountUpdates'.gsub(/{.+?}/, '%s')
68
+ endpoint = endpoint.gsub(%r{^/}, '')
69
+ endpoint = format(endpoint, payment_psp_reference)
70
+
71
+ action = { method: 'post', url: endpoint }
72
+ @client.call_adyen_api(@service, action, request, headers, @version)
73
+ end
74
+
75
+ end
76
+ end
@@ -0,0 +1,46 @@
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 OrdersApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Cancel an order
16
+ def cancel_order(request, headers: {})
17
+ endpoint = '/orders/cancel'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint)
20
+
21
+ action = { method: 'post', url: endpoint }
22
+ @client.call_adyen_api(@service, action, request, headers, @version)
23
+ end
24
+
25
+ # Get the balance of a gift card
26
+ def get_balance_of_gift_card(request, headers: {})
27
+ endpoint = '/paymentMethods/balance'.gsub(/{.+?}/, '%s')
28
+ endpoint = endpoint.gsub(%r{^/}, '')
29
+ endpoint = format(endpoint)
30
+
31
+ action = { method: 'post', url: endpoint }
32
+ @client.call_adyen_api(@service, action, request, headers, @version)
33
+ end
34
+
35
+ # Create an order
36
+ def orders(request, headers: {})
37
+ endpoint = '/orders'.gsub(/{.+?}/, '%s')
38
+ endpoint = endpoint.gsub(%r{^/}, '')
39
+ endpoint = format(endpoint)
40
+
41
+ action = { method: 'post', url: endpoint }
42
+ @client.call_adyen_api(@service, action, request, headers, @version)
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,46 @@
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 PaymentLinksApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Get a payment link
16
+ def get_payment_link(link_id, headers: {})
17
+ endpoint = '/paymentLinks/{linkId}'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint, link_id)
20
+
21
+ action = { method: 'get', url: endpoint }
22
+ @client.call_adyen_api(@service, action, {}, headers, @version)
23
+ end
24
+
25
+ # Create a payment link
26
+ def payment_links(request, headers: {})
27
+ endpoint = '/paymentLinks'.gsub(/{.+?}/, '%s')
28
+ endpoint = endpoint.gsub(%r{^/}, '')
29
+ endpoint = format(endpoint)
30
+
31
+ action = { method: 'post', url: endpoint }
32
+ @client.call_adyen_api(@service, action, request, headers, @version)
33
+ end
34
+
35
+ # Update the status of a payment link
36
+ def update_payment_link(request, link_id, headers: {})
37
+ endpoint = '/paymentLinks/{linkId}'.gsub(/{.+?}/, '%s')
38
+ endpoint = endpoint.gsub(%r{^/}, '')
39
+ endpoint = format(endpoint, link_id)
40
+
41
+ action = { method: 'patch', url: endpoint }
42
+ @client.call_adyen_api(@service, action, request, headers, @version)
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,76 @@
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 PaymentsApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Get the brands and other details of a card
16
+ def card_details(request, headers: {})
17
+ endpoint = '/cardDetails'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint)
20
+
21
+ action = { method: 'post', url: endpoint }
22
+ @client.call_adyen_api(@service, action, request, headers, @version)
23
+ end
24
+
25
+ # Get the result of a payment session
26
+ def get_result_of_payment_session(session_id, headers: {}, query_params: {})
27
+ endpoint = '/sessions/{sessionId}'.gsub(/{.+?}/, '%s')
28
+ endpoint = endpoint.gsub(%r{^/}, '')
29
+ endpoint = format(endpoint, session_id)
30
+ endpoint += create_query_string(query_params)
31
+ action = { method: 'get', url: endpoint }
32
+ @client.call_adyen_api(@service, action, {}, headers, @version)
33
+ end
34
+
35
+ # Get a list of available payment methods
36
+ def payment_methods(request, headers: {})
37
+ endpoint = '/paymentMethods'.gsub(/{.+?}/, '%s')
38
+ endpoint = endpoint.gsub(%r{^/}, '')
39
+ endpoint = format(endpoint)
40
+
41
+ action = { method: 'post', url: endpoint }
42
+ @client.call_adyen_api(@service, action, request, headers, @version)
43
+ end
44
+
45
+ # Start a transaction
46
+ def payments(request, headers: {})
47
+ endpoint = '/payments'.gsub(/{.+?}/, '%s')
48
+ endpoint = endpoint.gsub(%r{^/}, '')
49
+ endpoint = format(endpoint)
50
+
51
+ action = { method: 'post', url: endpoint }
52
+ @client.call_adyen_api(@service, action, request, headers, @version)
53
+ end
54
+
55
+ # Submit details for a payment
56
+ def payments_details(request, headers: {})
57
+ endpoint = '/payments/details'.gsub(/{.+?}/, '%s')
58
+ endpoint = endpoint.gsub(%r{^/}, '')
59
+ endpoint = format(endpoint)
60
+
61
+ action = { method: 'post', url: endpoint }
62
+ @client.call_adyen_api(@service, action, request, headers, @version)
63
+ end
64
+
65
+ # Create a payment session
66
+ def sessions(request, headers: {})
67
+ endpoint = '/sessions'.gsub(/{.+?}/, '%s')
68
+ endpoint = endpoint.gsub(%r{^/}, '')
69
+ endpoint = format(endpoint)
70
+
71
+ action = { method: 'post', url: endpoint }
72
+ @client.call_adyen_api(@service, action, request, headers, @version)
73
+ end
74
+
75
+ end
76
+ end
@@ -0,0 +1,46 @@
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 RecurringApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Delete a token for stored payment details
16
+ def delete_token_for_stored_payment_details(stored_payment_method_id, headers: {}, query_params: {})
17
+ endpoint = '/storedPaymentMethods/{storedPaymentMethodId}'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint, stored_payment_method_id)
20
+ endpoint += create_query_string(query_params)
21
+ action = { method: 'delete', url: endpoint }
22
+ @client.call_adyen_api(@service, action, {}, headers, @version)
23
+ end
24
+
25
+ # Get tokens for stored payment details
26
+ def get_tokens_for_stored_payment_details(headers: {}, query_params: {})
27
+ endpoint = '/storedPaymentMethods'.gsub(/{.+?}/, '%s')
28
+ endpoint = endpoint.gsub(%r{^/}, '')
29
+ endpoint = format(endpoint)
30
+ endpoint += create_query_string(query_params)
31
+ action = { method: 'get', url: endpoint }
32
+ @client.call_adyen_api(@service, action, {}, headers, @version)
33
+ end
34
+
35
+ # Create a token to store payment details
36
+ def stored_payment_methods(request, headers: {})
37
+ endpoint = '/storedPaymentMethods'.gsub(/{.+?}/, '%s')
38
+ endpoint = endpoint.gsub(%r{^/}, '')
39
+ endpoint = format(endpoint)
40
+
41
+ action = { method: 'post', url: endpoint }
42
+ @client.call_adyen_api(@service, action, request, headers, @version)
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,48 @@
1
+ require_relative '../service'
2
+ module Adyen
3
+
4
+ # NOTE: This class is auto generated by OpenAPI Generator
5
+ # Ref: https://openapi-generator.tech
6
+ #
7
+ # Do not edit the class manually.
8
+ class UtilityApi < Service
9
+ attr_accessor :service, :version
10
+
11
+ def initialize(client, version = DEFAULT_VERSION)
12
+ super(client, version, 'Checkout')
13
+ end
14
+
15
+ # Get an Apple Pay session
16
+ def get_apple_pay_session(request, headers: {})
17
+ endpoint = '/applePay/sessions'.gsub(/{.+?}/, '%s')
18
+ endpoint = endpoint.gsub(%r{^/}, '')
19
+ endpoint = format(endpoint)
20
+
21
+ action = { method: 'post', url: endpoint }
22
+ @client.call_adyen_api(@service, action, request, headers, @version)
23
+ end
24
+
25
+ # Create originKey values for domains
26
+ #
27
+ # Deprecated since Adyen Checkout API v67
28
+ def origin_keys(request, headers: {})
29
+ endpoint = '/originKeys'.gsub(/{.+?}/, '%s')
30
+ endpoint = endpoint.gsub(%r{^/}, '')
31
+ endpoint = format(endpoint)
32
+
33
+ action = { method: 'post', url: endpoint }
34
+ @client.call_adyen_api(@service, action, request, headers, @version)
35
+ end
36
+
37
+ # Updates the order for PayPal Express Checkout
38
+ def updates_order_for_paypal_express_checkout(request, headers: {})
39
+ endpoint = '/paypal/updateOrder'.gsub(/{.+?}/, '%s')
40
+ endpoint = endpoint.gsub(%r{^/}, '')
41
+ endpoint = format(endpoint)
42
+
43
+ action = { method: 'post', url: endpoint }
44
+ @client.call_adyen_api(@service, action, request, headers, @version)
45
+ end
46
+
47
+ end
48
+ end
@@ -1,133 +1,54 @@
1
- require_relative "service"
1
+ require_relative 'checkout/donations_api'
2
+ require_relative 'checkout/modifications_api'
3
+ require_relative 'checkout/orders_api'
4
+ require_relative 'checkout/payment_links_api'
5
+ require_relative 'checkout/payments_api'
6
+ require_relative 'checkout/recurring_api'
7
+ require_relative 'checkout/utility_api'
2
8
 
3
9
  module Adyen
4
- class Checkout < Service
5
- DEFAULT_VERSION = 68
6
10
 
7
- def initialize(client, version = DEFAULT_VERSION)
8
- service = "Checkout"
9
- method_names = [
10
- :payment_session,
11
- :origin_keys,
12
- :sessions
13
- ]
14
-
15
- with_application_info = [
16
- :payment_session,
17
- ]
18
-
19
- super(client, version, service, method_names, with_application_info)
20
- end
21
-
22
- # This method can't be dynamically defined because
23
- # it needs to be both a method and a class
24
- # to enable payments() and payments.detail(),
25
- # which is accomplished via an argument length checker
26
- # and the CheckoutDetail class below
27
- def payments(*args)
28
- case args.size
29
- when 0
30
- Adyen::CheckoutDetail.new(@client, @version)
31
- else
32
- action = "payments"
33
- args[1] ||= {} # optional headers arg
34
- @client.call_adyen_api(@service, action, args[0], args[1], @version, true)
35
- end
36
- end
37
-
38
- def payment_links(*args)
39
- case args.size
40
- when 0
41
- Adyen::CheckoutLink.new(@client, @version)
42
- else
43
- action = "paymentLinks"
44
- args[1] ||= {} # optional headers arg
45
- @client.call_adyen_api(@service, action, args[0], args[1], @version, true)
46
- end
47
- end
48
-
49
- def payment_methods(*args)
50
- case args.size
51
- when 0
52
- Adyen::CheckoutMethod.new(@client, @version)
53
- else
54
- action = "paymentMethods"
55
- args[1] ||= {} # optional headers arg
56
- @client.call_adyen_api(@service, action, args[0], args[1], @version)
57
- end
58
- end
11
+ # NOTE: This class is auto generated by OpenAPI Generator
12
+ # Ref: https://openapi-generator.tech
13
+ #
14
+ # Do not edit the class manually.
15
+ class Checkout
16
+ attr_accessor :service, :version
59
17
 
60
- def orders(*args)
61
- case args.size
62
- when 0
63
- Adyen::CheckoutOrder.new(@client, @version)
64
- else
65
- action = "orders"
66
- args[1] ||= {} # optional headers arg
67
- @client.call_adyen_api(@service, action, args[0], args[1], @version)
68
- end
69
- end
70
- end
71
-
72
- class CheckoutDetail < Service
18
+ DEFAULT_VERSION = 71
73
19
  def initialize(client, version = DEFAULT_VERSION)
74
- @service = "Checkout"
20
+ @service = 'Checkout'
75
21
  @client = client
76
22
  @version = version
77
23
  end
78
24
 
79
- def details(request, headers = {})
80
- action = "payments/details"
81
- @client.call_adyen_api(@service, action, request, headers, @version)
82
- end
83
-
84
- def result(request, headers = {})
85
- action = "payments/result"
86
- @client.call_adyen_api(@service, action, request, headers, @version)
25
+ def donations_api
26
+ @donations_api ||= Adyen::DonationsApi.new(@client, @version)
87
27
  end
88
- end
89
28
 
90
- class CheckoutLink < Service
91
- def initialize(client, version = DEFAULT_VERSION)
92
- @service = "Checkout"
93
- @client = client
94
- @version = version
29
+ def modifications_api
30
+ @modifications_api ||= Adyen::ModificationsApi.new(@client, @version)
95
31
  end
96
32
 
97
- def get(linkId, headers = {})
98
- action = { method: 'get', url: "paymentLinks/" + linkId }
99
- @client.call_adyen_api(@service, action, {}, headers, @version, true)
33
+ def orders_api
34
+ @orders_api ||= Adyen::OrdersApi.new(@client, @version)
100
35
  end
101
36
 
102
- def update(linkId, request, headers = {})
103
- action = { method: 'patch', url: "paymentLinks/" + linkId }
104
- @client.call_adyen_api(@service, action, request, headers, @version, false)
37
+ def payment_links_api
38
+ @payment_links_api ||= Adyen::PaymentLinksApi.new(@client, @version)
105
39
  end
106
- end
107
40
 
108
- class CheckoutMethod < Service
109
- def initialize(client, version = DEFAULT_VERSION)
110
- @service = "Checkout"
111
- @client = client
112
- @version = version
41
+ def payments_api
42
+ @payments_api ||= Adyen::PaymentsApi.new(@client, @version)
113
43
  end
114
44
 
115
- def balance(request, headers = {})
116
- action = "paymentMethods/balance"
117
- @client.call_adyen_api(@service, action, request, headers, @version, true)
45
+ def recurring_api
46
+ @recurring_api ||= Adyen::RecurringApi.new(@client, @version)
118
47
  end
119
- end
120
48
 
121
- class CheckoutOrder < Service
122
- def initialize(client, version = DEFAULT_VERSION)
123
- @service = "Checkout"
124
- @client = client
125
- @version = version
49
+ def utility_api
50
+ @utility_api ||= Adyen::UtilityApi.new(@client, @version)
126
51
  end
127
52
 
128
- def cancel(request, headers = {})
129
- action = "orders/cancel"
130
- @client.call_adyen_api(@service, action, request, headers, @version)
131
- end
132
53
  end
133
54
  end