adyen-ruby-api-library 4.0.2 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -0
- data/lib/adyen-ruby-api-library.rb +1 -0
- data/lib/adyen/client.rb +9 -2
- data/lib/adyen/services/marketpay.rb +18 -0
- data/lib/adyen/services/postfmapi.rb +19 -0
- data/lib/adyen/version.rb +1 -1
- data/spec/hop_spec.rb +14 -0
- data/spec/mocks/requests/Hop/get_onboarding_url.json +4 -0
- data/spec/mocks/requests/Terminal/assign_terminals.json +6 -0
- data/spec/mocks/requests/Terminal/find_terminal.json +3 -0
- data/spec/mocks/requests/Terminal/get_terminals_under_account.json +4 -0
- data/spec/mocks/responses/Hop/get_onboarding_url.json +7 -0
- data/spec/mocks/responses/Terminal/assign_terminals.json +5 -0
- data/spec/mocks/responses/Terminal/find_terminal.json +6 -0
- data/spec/mocks/responses/Terminal/get_terminals_under_account.json +11 -0
- data/spec/postfmapi_spec.rb +16 -0
- data/spec/service_spec.rb +1 -0
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c88f2064ec4c1e38cfbd6b4d07ea19e0f85e93b40529f17bbdb54674d34adb0
|
4
|
+
data.tar.gz: 2948eb3c524bc1361688bf800bda8e9f24f3aaa2b7ec199914ccbb5020b8d2f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: daebc0ac72b38814bd7111b47a91933ad5f5c5ae7b83eb50ef70fc1540251febb3a2cb2de4d644e0d49d48a1e4e3fa8de09450fa030627f13b48e7af558bf85c
|
7
|
+
data.tar.gz: 1e2a7692384f3da060ede6be60f5ac404c84360892a28b71a632a32ca42483900cba0699b865ab5ca82605cab0d19ae3b15e8b1dac37f19c4f8d51fb00a363b2
|
data/README.md
CHANGED
@@ -13,6 +13,7 @@ The Library supports all APIs under the following services:
|
|
13
13
|
* payouts
|
14
14
|
* recurring
|
15
15
|
* marketpay
|
16
|
+
* postfmapi
|
16
17
|
|
17
18
|
## Requirements
|
18
19
|
|
@@ -137,6 +138,14 @@ adyen.checkout.version = 50
|
|
137
138
|
- update_notification_configuration
|
138
139
|
- delete_notification_configurations
|
139
140
|
|
141
|
+
**marketpay.hop:**
|
142
|
+
- get_onboarding_url
|
143
|
+
|
144
|
+
**postfmapi:**
|
145
|
+
- assign_terminals
|
146
|
+
- find_terminal
|
147
|
+
- get_terminals_under_account
|
148
|
+
|
140
149
|
## Support
|
141
150
|
|
142
151
|
If you have any problems, questions or suggestions, create an issue here or send your inquiry to support@adyen.com.
|
@@ -7,6 +7,7 @@ require_relative "adyen/services/payments"
|
|
7
7
|
require_relative "adyen/services/payouts"
|
8
8
|
require_relative "adyen/services/recurring"
|
9
9
|
require_relative "adyen/services/marketpay"
|
10
|
+
require_relative "adyen/services/postfmapi"
|
10
11
|
require_relative "adyen/services/service"
|
11
12
|
require_relative "adyen/hash_with_accessors"
|
12
13
|
require_relative "adyen/utils/hmac_validator"
|
data/lib/adyen/client.rb
CHANGED
@@ -45,12 +45,15 @@ module Adyen
|
|
45
45
|
when "CheckoutUtility"
|
46
46
|
url = "https://checkout-#{@env}.adyen.com/checkout"
|
47
47
|
supports_live_url_prefix = true
|
48
|
-
when "Account", "Fund", "Notification"
|
48
|
+
when "Account", "Fund", "Notification", "Hop"
|
49
49
|
url = "https://cal-#{@env}.adyen.com/cal/services"
|
50
50
|
supports_live_url_prefix = false
|
51
51
|
when "Recurring", "Payment", "Payout"
|
52
52
|
url = "https://pal-#{@env}.adyen.com/pal/servlet"
|
53
53
|
supports_live_url_prefix = true
|
54
|
+
when "Terminal"
|
55
|
+
url = "https://postfmapi-#{@env}.adyen.com/postfmapi/terminal"
|
56
|
+
supports_live_url_prefix = false
|
54
57
|
else
|
55
58
|
raise ArgumentError, "Invalid service specified"
|
56
59
|
end
|
@@ -66,7 +69,7 @@ module Adyen
|
|
66
69
|
|
67
70
|
# construct full URL from service and endpoint
|
68
71
|
def service_url(service, action, version)
|
69
|
-
if service == "Checkout" || service == "CheckoutUtility"
|
72
|
+
if service == "Checkout" || service == "CheckoutUtility" || service == "Terminal"
|
70
73
|
"#{service_url_base(service)}/v#{version}/#{action}"
|
71
74
|
else
|
72
75
|
"#{service_url_base(service)}/#{service}/v#{version}/#{action}"
|
@@ -187,5 +190,9 @@ module Adyen
|
|
187
190
|
def marketpay
|
188
191
|
@marketpay ||= Adyen::Marketpay::Marketpay.new(self)
|
189
192
|
end
|
193
|
+
|
194
|
+
def postfmapi
|
195
|
+
@postfmapi ||= Adyen::PosTerminalManagement.new(self)
|
196
|
+
end
|
190
197
|
end
|
191
198
|
end
|
@@ -21,6 +21,10 @@ module Adyen
|
|
21
21
|
def notification
|
22
22
|
@notification ||= Adyen::Marketpay::Notification.new(@client)
|
23
23
|
end
|
24
|
+
|
25
|
+
def hop
|
26
|
+
@hop ||= Adyen::Marketpay::Hop.new(@client)
|
27
|
+
end
|
24
28
|
end
|
25
29
|
|
26
30
|
class Account < Service
|
@@ -88,5 +92,19 @@ module Adyen
|
|
88
92
|
super(client, version, service, method_names)
|
89
93
|
end
|
90
94
|
end
|
95
|
+
|
96
|
+
class Hop < Service
|
97
|
+
attr_accessor :version
|
98
|
+
DEFAULT_VERSION = 1
|
99
|
+
|
100
|
+
def initialize(client, version = DEFAULT_VERSION)
|
101
|
+
service = 'Hop'
|
102
|
+
method_names = [
|
103
|
+
:get_onboarding_url
|
104
|
+
]
|
105
|
+
|
106
|
+
super(client, version, service, method_names)
|
107
|
+
end
|
108
|
+
end
|
91
109
|
end
|
92
110
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative 'service'
|
2
|
+
|
3
|
+
module Adyen
|
4
|
+
class PosTerminalManagement < Service
|
5
|
+
attr_accessor :version
|
6
|
+
DEFAULT_VERSION = 1
|
7
|
+
|
8
|
+
def initialize(client, version = DEFAULT_VERSION)
|
9
|
+
service = 'Terminal'
|
10
|
+
method_names = [
|
11
|
+
:assign_terminals,
|
12
|
+
:find_terminal,
|
13
|
+
:get_terminals_under_account
|
14
|
+
]
|
15
|
+
|
16
|
+
super(client, version, service, method_names)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/adyen/version.rb
CHANGED
data/spec/hop_spec.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe Adyen::Payments, service: "marketpay hop service" do
|
4
|
+
# client instance to be used in dynamically generated tests
|
5
|
+
client = create_client(:basic)
|
6
|
+
|
7
|
+
# methods / values to test for
|
8
|
+
# format is defined in spec_helper
|
9
|
+
test_sets = [
|
10
|
+
["get_onboarding_url", "pspReference", "8815850625171183"]
|
11
|
+
]
|
12
|
+
|
13
|
+
generate_tests(client, "Hop", test_sets, client.marketpay.hop)
|
14
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"pspReference": "8815850625171183",
|
3
|
+
"resultCode": "Success",
|
4
|
+
"submittedAsync": "false",
|
5
|
+
"invalidFields": [],
|
6
|
+
"redirectUrl": "https://hop-test.adyen.com/hop/view/?token=BQABAQANDBQftSiV8pqlYYFRjIZmBIhE3Ls%2FgdLQ3kcTbflt4FDPves0B9kq7aSZUqKwRciwBEN3PX23ZPqGmYXTb7QklLY5YdEXvUdEgtFnJl9uDWK09texQ3djnTPW6JKrok5svw%2FGZyGHqF1NAbuqPPPLF8o5Jzzri8AqyQKig%2BtMmEibuCuZrIvMbJjcINfDk0OBHir8bNjHgMGFiDBOXdkiww%2FB1VXP2MMqSB1yqcXiKL1o%2B12czdB9wJ5wwsQLGlcuE2Z0%2BZNIQL3MdRomkphpkIWBPFN9YmyGS0Wel6trve6ghBl4q4e1C%2B9BMQKc4P0jrC9FrkBZvhtBYoN%2BfUfrEDbgXpXjXYa1tlfU53XoD%2FsAAA1n2PuQSyfTxEf8qpwAcB9oDN%2BrbpwxYwIk42kCGztAQShTwZzx%2B4VifKpjBdtHA4bSHEqOzGPvpQ6bk4viluLn9Ealv0ylf%2FC3w%2BZCmThg8%2B2EIiABmMK8Jbfijl%2FM%2FqE43F0QN9SveJjwkN5IYGra5QbErUdAPDMfDksPjy%2FY8j%2B2XT1kMwSOLbWTCfhP%2FM%2F68Ll50RuhfJOkgfdP%2BfSxbK9i9uAmEsJ980cABWPpB4MH27asGfZ17mCM3TavaiI9d9Gs3X1HIoEZehFKWEhoaGsEaoSBQ6ut6VnZoOCCBsvssg9aqi1LJKpwwWg4CjS9Ygrw1dnSYjyFO2HeKGXf4TUS7DSCF7tpUJlBen69Xaqbwg%2BHfNfmgcCoZwSgvg%3D%3D"
|
7
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe Adyen::PosTerminalManagement, service: "POS Terminal Management service" do
|
4
|
+
# client instance to be used in dynamically generated tests
|
5
|
+
client = create_client(:basic)
|
6
|
+
|
7
|
+
# methods / values to test for
|
8
|
+
# format is defined in spec_helper
|
9
|
+
test_sets = [
|
10
|
+
["find_terminal", "merchantAccount", "TestMerchant"],
|
11
|
+
["get_terminals_under_account", "merchantAccounts", [{ "merchantAccount" => "TestMerchant", "inStoreTerminals" => ["P400Plus-123456789"] }]],
|
12
|
+
["assign_terminals", "results", { "e285-123456789" => "Done" }]
|
13
|
+
]
|
14
|
+
|
15
|
+
generate_tests(client, "Terminal", test_sets, client.postfmapi)
|
16
|
+
end
|
data/spec/service_spec.rb
CHANGED
@@ -38,6 +38,7 @@ RSpec.describe Adyen::Service do
|
|
38
38
|
expect(described_class.action_for_method_name(:update_account_holder)).to eq 'updateAccountHolder'
|
39
39
|
expect(described_class.action_for_method_name(:update_account_holder_state)).to eq 'updateAccountHolderState'
|
40
40
|
expect(described_class.action_for_method_name(:upload_document)).to eq 'uploadDocument'
|
41
|
+
expect(described_class.action_for_method_name(:get_onboarding_url)).to eq 'getOnboardingUrl'
|
41
42
|
end
|
42
43
|
end
|
43
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adyen-ruby-api-library
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adyen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- lib/adyen/services/marketpay.rb
|
113
113
|
- lib/adyen/services/payments.rb
|
114
114
|
- lib/adyen/services/payouts.rb
|
115
|
+
- lib/adyen/services/postfmapi.rb
|
115
116
|
- lib/adyen/services/recurring.rb
|
116
117
|
- lib/adyen/services/service.rb
|
117
118
|
- lib/adyen/utils/hmac_validator.rb
|
@@ -124,6 +125,7 @@ files:
|
|
124
125
|
- spec/errors_spec.rb
|
125
126
|
- spec/fund_spec.rb
|
126
127
|
- spec/hash_with_accessors_spec.rb
|
128
|
+
- spec/hop_spec.rb
|
127
129
|
- spec/mocks/requests/Account/close_account.json
|
128
130
|
- spec/mocks/requests/Account/close_account_holder.json
|
129
131
|
- spec/mocks/requests/Account/create_account.json
|
@@ -152,6 +154,7 @@ files:
|
|
152
154
|
- spec/mocks/requests/Fund/refund_not_paid_out_transfers.json
|
153
155
|
- spec/mocks/requests/Fund/setup_beneficiary.json
|
154
156
|
- spec/mocks/requests/Fund/transfer_funds.json
|
157
|
+
- spec/mocks/requests/Hop/get_onboarding_url.json
|
155
158
|
- spec/mocks/requests/Notification/create_notification_configuration.json
|
156
159
|
- spec/mocks/requests/Notification/delete_notification_configurations.json
|
157
160
|
- spec/mocks/requests/Notification/get_notification_configuration.json
|
@@ -174,6 +177,9 @@ files:
|
|
174
177
|
- spec/mocks/requests/Recurring/disable.json
|
175
178
|
- spec/mocks/requests/Recurring/list_recurring_details.json
|
176
179
|
- spec/mocks/requests/Recurring/store_token.json
|
180
|
+
- spec/mocks/requests/Terminal/assign_terminals.json
|
181
|
+
- spec/mocks/requests/Terminal/find_terminal.json
|
182
|
+
- spec/mocks/requests/Terminal/get_terminals_under_account.json
|
177
183
|
- spec/mocks/responses/Account/close_account.json
|
178
184
|
- spec/mocks/responses/Account/close_account_holder.json
|
179
185
|
- spec/mocks/responses/Account/create_account.json
|
@@ -202,6 +208,7 @@ files:
|
|
202
208
|
- spec/mocks/responses/Fund/refund_not_paid_out_transfers.json
|
203
209
|
- spec/mocks/responses/Fund/setup_beneficiary.json
|
204
210
|
- spec/mocks/responses/Fund/transfer_funds.json
|
211
|
+
- spec/mocks/responses/Hop/get_onboarding_url.json
|
205
212
|
- spec/mocks/responses/Notification/create_notification_configuration.json
|
206
213
|
- spec/mocks/responses/Notification/delete_notification_configurations.json
|
207
214
|
- spec/mocks/responses/Notification/get_notification_configuration.json
|
@@ -224,9 +231,13 @@ files:
|
|
224
231
|
- spec/mocks/responses/Recurring/disable.json
|
225
232
|
- spec/mocks/responses/Recurring/list_recurring_details.json
|
226
233
|
- spec/mocks/responses/Recurring/store_token.json
|
234
|
+
- spec/mocks/responses/Terminal/assign_terminals.json
|
235
|
+
- spec/mocks/responses/Terminal/find_terminal.json
|
236
|
+
- spec/mocks/responses/Terminal/get_terminals_under_account.json
|
227
237
|
- spec/notification_spec.rb
|
228
238
|
- spec/payments_spec.rb
|
229
239
|
- spec/payouts_spec.rb
|
240
|
+
- spec/postfmapi_spec.rb
|
230
241
|
- spec/recurring_spec.rb
|
231
242
|
- spec/service_spec.rb
|
232
243
|
- spec/spec_helper.rb
|