gocardless_pro 2.43.0 → 2.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/gocardless_pro/client.rb +1 -1
- data/lib/gocardless_pro/resources/billing_request_flow.rb +2 -0
- data/lib/gocardless_pro/resources/creditor.rb +0 -2
- data/lib/gocardless_pro/resources/event.rb +4 -0
- data/lib/gocardless_pro/resources/payout_item.rb +5 -1
- data/lib/gocardless_pro/resources/redirect_flow.rb +6 -0
- data/lib/gocardless_pro/resources/verification_detail.rb +11 -1
- data/lib/gocardless_pro/services/bank_authorisations_service.rb +19 -19
- data/lib/gocardless_pro/services/billing_requests_service.rb +122 -80
- data/lib/gocardless_pro/services/creditors_service.rb +12 -3
- data/lib/gocardless_pro/services/institutions_service.rb +30 -0
- data/lib/gocardless_pro/services/payout_items_service.rb +3 -5
- data/lib/gocardless_pro/services/scheme_identifiers_service.rb +36 -4
- data/lib/gocardless_pro/services/verification_details_service.rb +19 -23
- data/lib/gocardless_pro/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f933bb05815504fee3eb6ea9893bfc3b3a2588b0672a5bf015b0d91309f98ff6
|
4
|
+
data.tar.gz: 151cd4b107edad4c6b6c55edfbbce6119d7d2c9eecee964c825b70e929733383
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77c2b924f6aa8f9866657fc98d7c9c7531c2a1cea2cdd2d91c88adf3a0fc60dd5cbbf4a05a9c614be4fc88441403ff9b29c4eb662a6d8b3094bdfef1bbb12bd5
|
7
|
+
data.tar.gz: 0fb451d644a7f14b703857e51f6cb29a07410692f0943caa11561083a8e8119772c4f709f2fb50df62cabdd656f556ea9cbfa0b93e138150b40d01f379cba3ba
|
@@ -208,7 +208,7 @@ module GoCardlessPro
|
|
208
208
|
'User-Agent' => "#{user_agent}",
|
209
209
|
'Content-Type' => 'application/json',
|
210
210
|
'GoCardless-Client-Library' => 'gocardless-pro-ruby',
|
211
|
-
'GoCardless-Client-Version' => '2.
|
211
|
+
'GoCardless-Client-Version' => '2.45.0',
|
212
212
|
},
|
213
213
|
}
|
214
214
|
end
|
@@ -29,6 +29,7 @@ module GoCardlessPro
|
|
29
29
|
attr_reader :redirect_uri
|
30
30
|
attr_reader :session_token
|
31
31
|
attr_reader :show_redirect_buttons
|
32
|
+
attr_reader :show_success_redirect_button
|
32
33
|
|
33
34
|
# Initialize a billing_request_flow resource instance
|
34
35
|
# @param object [Hash] an object returned from the API
|
@@ -51,6 +52,7 @@ module GoCardlessPro
|
|
51
52
|
@redirect_uri = object['redirect_uri']
|
52
53
|
@session_token = object['session_token']
|
53
54
|
@show_redirect_buttons = object['show_redirect_buttons']
|
55
|
+
@show_success_redirect_button = object['show_success_redirect_button']
|
54
56
|
@response = response
|
55
57
|
end
|
56
58
|
|
@@ -18,7 +18,6 @@ module GoCardlessPro
|
|
18
18
|
# Currently, for Anti Money Laundering reasons, any creditors you add must
|
19
19
|
# be directly related to your organisation.
|
20
20
|
class Creditor
|
21
|
-
attr_reader :activated
|
22
21
|
attr_reader :address_line1
|
23
22
|
attr_reader :address_line2
|
24
23
|
attr_reader :address_line3
|
@@ -44,7 +43,6 @@ module GoCardlessPro
|
|
44
43
|
def initialize(object, response = nil)
|
45
44
|
@object = object
|
46
45
|
|
47
|
-
@activated = object['activated']
|
48
46
|
@address_line1 = object['address_line1']
|
49
47
|
@address_line2 = object['address_line2']
|
50
48
|
@address_line3 = object['address_line3']
|
@@ -26,7 +26,11 @@ module GoCardlessPro
|
|
26
26
|
#
|
27
27
|
# The Payout Items API allows you to view, on a per-payout basis, the credit
|
28
28
|
# and debit
|
29
|
-
# items that make up that payout's amount.
|
29
|
+
# items that make up that payout's amount. Payout items can only be
|
30
|
+
# retrieved for payouts
|
31
|
+
# created in the last 6 months. Requests for older payouts will return an
|
32
|
+
# HTTP status
|
33
|
+
# <code>410 Gone</code>.
|
30
34
|
#
|
31
35
|
class PayoutItem
|
32
36
|
attr_reader :amount
|
@@ -10,6 +10,12 @@ module GoCardlessPro
|
|
10
10
|
module Resources
|
11
11
|
# Represents an instance of a redirect_flow resource returned from the API
|
12
12
|
|
13
|
+
# <p class="deprecated-notice"><strong>Deprecated</strong>: Redirect Flows
|
14
|
+
# are our legacy APIs for setting up
|
15
|
+
# mandates and will no longer be supported in the future. We strongly
|
16
|
+
# recommend using the
|
17
|
+
# [Billing Request flow](#billing-requests) instead.</p>
|
18
|
+
#
|
13
19
|
# Redirect flows enable you to use GoCardless' [hosted payment
|
14
20
|
# pages](https://pay-sandbox.gocardless.com/AL000000AKFPFF) to set up
|
15
21
|
# mandates with your customers. These pages are fully compliant and have
|
@@ -10,7 +10,17 @@ module GoCardlessPro
|
|
10
10
|
module Resources
|
11
11
|
# Represents an instance of a verification_detail resource returned from the API
|
12
12
|
|
13
|
-
#
|
13
|
+
# Verification details represent any information needed by GoCardless to
|
14
|
+
# verify a creditor.
|
15
|
+
#
|
16
|
+
# <p class="restricted-notice"><strong>Restricted</strong>:
|
17
|
+
# These endpoints are restricted to customers who want to collect their
|
18
|
+
# merchant's
|
19
|
+
# verification details and pass them to GoCardless via our API. Please
|
20
|
+
# [get in
|
21
|
+
# touch](mailto:help@gocardless.com) if you wish to enable this feature on
|
22
|
+
# your
|
23
|
+
# account.</p>
|
14
24
|
class VerificationDetail
|
15
25
|
attr_reader :address_line1
|
16
26
|
attr_reader :address_line2
|
@@ -10,25 +10,6 @@ module GoCardlessPro
|
|
10
10
|
module Services
|
11
11
|
# Service for making requests to the BankAuthorisation endpoints
|
12
12
|
class BankAuthorisationsService < BaseService
|
13
|
-
# Fetches a bank authorisation
|
14
|
-
# Example URL: /bank_authorisations/:identity
|
15
|
-
#
|
16
|
-
# @param identity # Unique identifier, beginning with "BAU".
|
17
|
-
# @param options [Hash] parameters as a hash, under a params key.
|
18
|
-
def get(identity, options = {})
|
19
|
-
path = sub_url('/bank_authorisations/:identity', {
|
20
|
-
'identity' => identity,
|
21
|
-
})
|
22
|
-
|
23
|
-
options[:retry_failures] = true
|
24
|
-
|
25
|
-
response = make_request(:get, path, options)
|
26
|
-
|
27
|
-
return if response.body.nil?
|
28
|
-
|
29
|
-
Resources::BankAuthorisation.new(unenvelope_body(response.body), response)
|
30
|
-
end
|
31
|
-
|
32
13
|
# Create a Bank Authorisation.
|
33
14
|
# Example URL: /bank_authorisations
|
34
15
|
# @param options [Hash] parameters as a hash, under a params key.
|
@@ -64,6 +45,25 @@ module GoCardlessPro
|
|
64
45
|
Resources::BankAuthorisation.new(unenvelope_body(response.body), response)
|
65
46
|
end
|
66
47
|
|
48
|
+
# Get a single bank authorisation.
|
49
|
+
# Example URL: /bank_authorisations/:identity
|
50
|
+
#
|
51
|
+
# @param identity # Unique identifier, beginning with "BAU".
|
52
|
+
# @param options [Hash] parameters as a hash, under a params key.
|
53
|
+
def get(identity, options = {})
|
54
|
+
path = sub_url('/bank_authorisations/:identity', {
|
55
|
+
'identity' => identity,
|
56
|
+
})
|
57
|
+
|
58
|
+
options[:retry_failures] = true
|
59
|
+
|
60
|
+
response = make_request(:get, path, options)
|
61
|
+
|
62
|
+
return if response.body.nil?
|
63
|
+
|
64
|
+
Resources::BankAuthorisation.new(unenvelope_body(response.body), response)
|
65
|
+
end
|
66
|
+
|
67
67
|
private
|
68
68
|
|
69
69
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -10,35 +10,6 @@ module GoCardlessPro
|
|
10
10
|
module Services
|
11
11
|
# Service for making requests to the BillingRequest endpoints
|
12
12
|
class BillingRequestsService < BaseService
|
13
|
-
# Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
|
14
|
-
# billing requests.
|
15
|
-
# Example URL: /billing_requests
|
16
|
-
# @param options [Hash] parameters as a hash, under a params key.
|
17
|
-
def list(options = {})
|
18
|
-
path = '/billing_requests'
|
19
|
-
|
20
|
-
options[:retry_failures] = true
|
21
|
-
|
22
|
-
response = make_request(:get, path, options)
|
23
|
-
|
24
|
-
ListResponse.new(
|
25
|
-
response: response,
|
26
|
-
unenveloped_body: unenvelope_body(response.body),
|
27
|
-
resource_class: Resources::BillingRequest
|
28
|
-
)
|
29
|
-
end
|
30
|
-
|
31
|
-
# Get a lazily enumerated list of all the items returned. This is similar to the `list` method but will paginate for you automatically.
|
32
|
-
#
|
33
|
-
# @param options [Hash] parameters as a hash. If the request is a GET, these will be converted to query parameters.
|
34
|
-
# Otherwise they will be the body of the request.
|
35
|
-
def all(options = {})
|
36
|
-
Paginator.new(
|
37
|
-
service: self,
|
38
|
-
options: options
|
39
|
-
).enumerator
|
40
|
-
end
|
41
|
-
|
42
13
|
#
|
43
14
|
# Example URL: /billing_requests
|
44
15
|
# @param options [Hash] parameters as a hash, under a params key.
|
@@ -74,25 +45,6 @@ module GoCardlessPro
|
|
74
45
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
75
46
|
end
|
76
47
|
|
77
|
-
# Fetches a billing request
|
78
|
-
# Example URL: /billing_requests/:identity
|
79
|
-
#
|
80
|
-
# @param identity # Unique identifier, beginning with "BRQ".
|
81
|
-
# @param options [Hash] parameters as a hash, under a params key.
|
82
|
-
def get(identity, options = {})
|
83
|
-
path = sub_url('/billing_requests/:identity', {
|
84
|
-
'identity' => identity,
|
85
|
-
})
|
86
|
-
|
87
|
-
options[:retry_failures] = true
|
88
|
-
|
89
|
-
response = make_request(:get, path, options)
|
90
|
-
|
91
|
-
return if response.body.nil?
|
92
|
-
|
93
|
-
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
94
|
-
end
|
95
|
-
|
96
48
|
# If the billing request has a pending <code>collect_customer_details</code>
|
97
49
|
# action, this endpoint can be used to collect the details in order to
|
98
50
|
# complete it.
|
@@ -192,6 +144,47 @@ module GoCardlessPro
|
|
192
144
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
193
145
|
end
|
194
146
|
|
147
|
+
# This is needed when you have a mandate request. As a scheme compliance rule we
|
148
|
+
# are required to
|
149
|
+
# allow the payer to crosscheck the details entered by them and confirm it.
|
150
|
+
# Example URL: /billing_requests/:identity/actions/confirm_payer_details
|
151
|
+
#
|
152
|
+
# @param identity # Unique identifier, beginning with "BRQ".
|
153
|
+
# @param options [Hash] parameters as a hash, under a params key.
|
154
|
+
def confirm_payer_details(identity, options = {})
|
155
|
+
path = sub_url('/billing_requests/:identity/actions/confirm_payer_details', {
|
156
|
+
'identity' => identity,
|
157
|
+
})
|
158
|
+
|
159
|
+
params = options.delete(:params) || {}
|
160
|
+
options[:params] = {}
|
161
|
+
options[:params]['data'] = params
|
162
|
+
|
163
|
+
options[:retry_failures] = false
|
164
|
+
|
165
|
+
begin
|
166
|
+
response = make_request(:post, path, options)
|
167
|
+
|
168
|
+
# Response doesn't raise any errors until #body is called
|
169
|
+
response.tap(&:body)
|
170
|
+
rescue InvalidStateError => e
|
171
|
+
if e.idempotent_creation_conflict?
|
172
|
+
case @api_service.on_idempotency_conflict
|
173
|
+
when :raise
|
174
|
+
raise IdempotencyConflict, e.error
|
175
|
+
when :fetch
|
176
|
+
return get(e.conflicting_resource_id)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
raise e
|
181
|
+
end
|
182
|
+
|
183
|
+
return if response.body.nil?
|
184
|
+
|
185
|
+
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
186
|
+
end
|
187
|
+
|
195
188
|
# If a billing request is ready to be fulfilled, call this endpoint to cause
|
196
189
|
# it to fulfil, executing the payment.
|
197
190
|
# Example URL: /billing_requests/:identity/actions/fulfil
|
@@ -232,19 +225,14 @@ module GoCardlessPro
|
|
232
225
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
233
226
|
end
|
234
227
|
|
235
|
-
#
|
236
|
-
#
|
237
|
-
#
|
238
|
-
# flows
|
239
|
-
# which do not have the lock_currency flag set to true on the Billing Request
|
240
|
-
# Flow. It
|
241
|
-
# will also not support any request which has a payments request.
|
242
|
-
# Example URL: /billing_requests/:identity/actions/choose_currency
|
228
|
+
# Immediately cancels a billing request, causing all billing request flows
|
229
|
+
# to expire.
|
230
|
+
# Example URL: /billing_requests/:identity/actions/cancel
|
243
231
|
#
|
244
232
|
# @param identity # Unique identifier, beginning with "BRQ".
|
245
233
|
# @param options [Hash] parameters as a hash, under a params key.
|
246
|
-
def
|
247
|
-
path = sub_url('/billing_requests/:identity/actions/
|
234
|
+
def cancel(identity, options = {})
|
235
|
+
path = sub_url('/billing_requests/:identity/actions/cancel', {
|
248
236
|
'identity' => identity,
|
249
237
|
})
|
250
238
|
|
@@ -277,15 +265,66 @@ module GoCardlessPro
|
|
277
265
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
278
266
|
end
|
279
267
|
|
280
|
-
#
|
281
|
-
#
|
282
|
-
#
|
283
|
-
#
|
268
|
+
# Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
|
269
|
+
# billing requests.
|
270
|
+
# Example URL: /billing_requests
|
271
|
+
# @param options [Hash] parameters as a hash, under a params key.
|
272
|
+
def list(options = {})
|
273
|
+
path = '/billing_requests'
|
274
|
+
|
275
|
+
options[:retry_failures] = true
|
276
|
+
|
277
|
+
response = make_request(:get, path, options)
|
278
|
+
|
279
|
+
ListResponse.new(
|
280
|
+
response: response,
|
281
|
+
unenveloped_body: unenvelope_body(response.body),
|
282
|
+
resource_class: Resources::BillingRequest
|
283
|
+
)
|
284
|
+
end
|
285
|
+
|
286
|
+
# Get a lazily enumerated list of all the items returned. This is similar to the `list` method but will paginate for you automatically.
|
287
|
+
#
|
288
|
+
# @param options [Hash] parameters as a hash. If the request is a GET, these will be converted to query parameters.
|
289
|
+
# Otherwise they will be the body of the request.
|
290
|
+
def all(options = {})
|
291
|
+
Paginator.new(
|
292
|
+
service: self,
|
293
|
+
options: options
|
294
|
+
).enumerator
|
295
|
+
end
|
296
|
+
|
297
|
+
# Fetches a billing request
|
298
|
+
# Example URL: /billing_requests/:identity
|
284
299
|
#
|
285
300
|
# @param identity # Unique identifier, beginning with "BRQ".
|
286
301
|
# @param options [Hash] parameters as a hash, under a params key.
|
287
|
-
def
|
288
|
-
path = sub_url('/billing_requests/:identity
|
302
|
+
def get(identity, options = {})
|
303
|
+
path = sub_url('/billing_requests/:identity', {
|
304
|
+
'identity' => identity,
|
305
|
+
})
|
306
|
+
|
307
|
+
options[:retry_failures] = true
|
308
|
+
|
309
|
+
response = make_request(:get, path, options)
|
310
|
+
|
311
|
+
return if response.body.nil?
|
312
|
+
|
313
|
+
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
314
|
+
end
|
315
|
+
|
316
|
+
# Notifies the customer linked to the billing request, asking them to authorise
|
317
|
+
# it.
|
318
|
+
# Currently, the customer can only be notified by email.
|
319
|
+
#
|
320
|
+
# This endpoint is currently supported only for Instant Bank Pay Billing
|
321
|
+
# Requests.
|
322
|
+
# Example URL: /billing_requests/:identity/actions/notify
|
323
|
+
#
|
324
|
+
# @param identity # Unique identifier, beginning with "BRQ".
|
325
|
+
# @param options [Hash] parameters as a hash, under a params key.
|
326
|
+
def notify(identity, options = {})
|
327
|
+
path = sub_url('/billing_requests/:identity/actions/notify', {
|
289
328
|
'identity' => identity,
|
290
329
|
})
|
291
330
|
|
@@ -318,14 +357,14 @@ module GoCardlessPro
|
|
318
357
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
319
358
|
end
|
320
359
|
|
321
|
-
#
|
322
|
-
#
|
323
|
-
# Example URL: /billing_requests/:identity/actions/
|
360
|
+
# Triggers a fallback from the open-banking flow to direct debit. Note, the
|
361
|
+
# billing request must have fallback enabled.
|
362
|
+
# Example URL: /billing_requests/:identity/actions/fallback
|
324
363
|
#
|
325
364
|
# @param identity # Unique identifier, beginning with "BRQ".
|
326
365
|
# @param options [Hash] parameters as a hash, under a params key.
|
327
|
-
def
|
328
|
-
path = sub_url('/billing_requests/:identity/actions/
|
366
|
+
def fallback(identity, options = {})
|
367
|
+
path = sub_url('/billing_requests/:identity/actions/fallback', {
|
329
368
|
'identity' => identity,
|
330
369
|
})
|
331
370
|
|
@@ -358,15 +397,19 @@ module GoCardlessPro
|
|
358
397
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
359
398
|
end
|
360
399
|
|
361
|
-
#
|
362
|
-
#
|
363
|
-
#
|
364
|
-
#
|
400
|
+
# This will allow for the updating of the currency and subsequently the scheme
|
401
|
+
# if
|
402
|
+
# needed for a Billing Request. This will only be available for mandate only
|
403
|
+
# flows
|
404
|
+
# which do not have the lock_currency flag set to true on the Billing Request
|
405
|
+
# Flow. It
|
406
|
+
# will also not support any request which has a payments request.
|
407
|
+
# Example URL: /billing_requests/:identity/actions/choose_currency
|
365
408
|
#
|
366
409
|
# @param identity # Unique identifier, beginning with "BRQ".
|
367
410
|
# @param options [Hash] parameters as a hash, under a params key.
|
368
|
-
def
|
369
|
-
path = sub_url('/billing_requests/:identity/actions/
|
411
|
+
def choose_currency(identity, options = {})
|
412
|
+
path = sub_url('/billing_requests/:identity/actions/choose_currency', {
|
370
413
|
'identity' => identity,
|
371
414
|
})
|
372
415
|
|
@@ -399,14 +442,13 @@ module GoCardlessPro
|
|
399
442
|
Resources::BillingRequest.new(unenvelope_body(response.body), response)
|
400
443
|
end
|
401
444
|
|
402
|
-
#
|
403
|
-
#
|
404
|
-
# Example URL: /billing_requests/:identity/actions/fallback
|
445
|
+
# Creates an Institution object and attaches it to the Billing Request
|
446
|
+
# Example URL: /billing_requests/:identity/actions/select_institution
|
405
447
|
#
|
406
448
|
# @param identity # Unique identifier, beginning with "BRQ".
|
407
449
|
# @param options [Hash] parameters as a hash, under a params key.
|
408
|
-
def
|
409
|
-
path = sub_url('/billing_requests/:identity/actions/
|
450
|
+
def select_institution(identity, options = {})
|
451
|
+
path = sub_url('/billing_requests/:identity/actions/select_institution', {
|
410
452
|
'identity' => identity,
|
411
453
|
})
|
412
454
|
|
@@ -119,11 +119,20 @@ module GoCardlessPro
|
|
119
119
|
|
120
120
|
# Applies a [scheme identifier](#core-endpoints-scheme-identifiers) to a
|
121
121
|
# creditor.
|
122
|
+
#
|
123
|
+
# If the scheme identifier has a `pending` status, it will be applied
|
124
|
+
# asynchronously
|
125
|
+
# once it becomes `active`.
|
126
|
+
#
|
122
127
|
# If the creditor already has a scheme identifier for the scheme, it will be
|
123
128
|
# replaced,
|
124
|
-
# and any mandates attached to it transferred asynchronously.
|
125
|
-
#
|
126
|
-
#
|
129
|
+
# and any mandates attached to it transferred asynchronously. On Bacs and SEPA,
|
130
|
+
# if
|
131
|
+
# payments were about to be submitted, they will be delayed. To minimise this
|
132
|
+
# delay, we
|
133
|
+
# recommend that you apply the new scheme identifier after the daily payment
|
134
|
+
# submission
|
135
|
+
# time (4 PM Europe/London time).
|
127
136
|
#
|
128
137
|
# Example URL: /creditors/:identity/actions/apply_scheme_identifier
|
129
138
|
#
|
@@ -11,6 +11,13 @@ module GoCardlessPro
|
|
11
11
|
# Service for making requests to the Institution endpoints
|
12
12
|
class InstitutionsService < BaseService
|
13
13
|
# Returns a list of supported institutions.
|
14
|
+
#
|
15
|
+
# <p class="deprecated-notice"><strong>Deprecated</strong>: This list
|
16
|
+
# institutions endpoint
|
17
|
+
# is no longer supported. We strongly recommend using the
|
18
|
+
# [List Institutions For Billing
|
19
|
+
# Request](#institutions-list-institutions-for-billing-request)
|
20
|
+
# instead.</p>
|
14
21
|
# Example URL: /institutions
|
15
22
|
# @param options [Hash] parameters as a hash, under a params key.
|
16
23
|
def list(options = {})
|
@@ -38,6 +45,29 @@ module GoCardlessPro
|
|
38
45
|
).enumerator
|
39
46
|
end
|
40
47
|
|
48
|
+
# Returns all institutions valid for a Billing Request.
|
49
|
+
#
|
50
|
+
# This endpoint is currently supported only for FasterPayments.
|
51
|
+
# Example URL: /billing_requests/:identity/institutions
|
52
|
+
#
|
53
|
+
# @param identity # Unique identifier, beginning with "BRQ".
|
54
|
+
# @param options [Hash] parameters as a hash, under a params key.
|
55
|
+
def list_for_billing_request(identity, options = {})
|
56
|
+
path = sub_url('/billing_requests/:identity/institutions', {
|
57
|
+
'identity' => identity,
|
58
|
+
})
|
59
|
+
|
60
|
+
options[:retry_failures] = false
|
61
|
+
|
62
|
+
response = make_request(:get, path, options)
|
63
|
+
|
64
|
+
ListResponse.new(
|
65
|
+
response: response,
|
66
|
+
unenveloped_body: unenvelope_body(response.body),
|
67
|
+
resource_class: Resources::Institution
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
41
71
|
private
|
42
72
|
|
43
73
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -13,11 +13,9 @@ module GoCardlessPro
|
|
13
13
|
# Returns a [cursor-paginated](#api-usage-cursor-pagination) list of items in
|
14
14
|
# the payout.
|
15
15
|
#
|
16
|
-
# <
|
17
|
-
#
|
18
|
-
#
|
19
|
-
# payouts will return an HTTP status <code>410 Gone</code>.
|
20
|
-
# </div>
|
16
|
+
# <strong>This endpoint only serves requests for payouts created in the last 6
|
17
|
+
# months. Requests for older payouts will return an HTTP status <code>410
|
18
|
+
# Gone</code>.</strong>
|
21
19
|
#
|
22
20
|
# Example URL: /payout_items
|
23
21
|
# @param options [Hash] parameters as a hash, under a params key.
|
@@ -10,11 +10,43 @@ module GoCardlessPro
|
|
10
10
|
module Services
|
11
11
|
# Service for making requests to the SchemeIdentifier endpoints
|
12
12
|
class SchemeIdentifiersService < BaseService
|
13
|
-
# Creates a new scheme identifier. The scheme identifier must be
|
14
|
-
# creditor](#creditors-apply-a-scheme-identifier) before payments
|
13
|
+
# Creates a new scheme identifier. The scheme identifier must be
|
14
|
+
# [applied to a creditor](#creditors-apply-a-scheme-identifier) before payments
|
15
|
+
# are taken
|
15
16
|
# using it. The scheme identifier must also have the `status` of active before
|
16
|
-
# it can be
|
17
|
-
#
|
17
|
+
# it can be
|
18
|
+
# used. On Bacs, this will take 5 working days. On other schemes, this happens
|
19
|
+
# instantly.
|
20
|
+
#
|
21
|
+
# #### Scheme identifier name validations
|
22
|
+
#
|
23
|
+
# The `name` field of a scheme identifier can contain alphanumeric characters,
|
24
|
+
# spaces and
|
25
|
+
# special characters.
|
26
|
+
#
|
27
|
+
# Its maximum length and the special characters it supports depend on the
|
28
|
+
# scheme:
|
29
|
+
#
|
30
|
+
# | __scheme__ | __maximum length__ | __special characters allowed__
|
31
|
+
# |
|
32
|
+
# | :---------------- | :----------------- |
|
33
|
+
# :-------------------------------------------------- |
|
34
|
+
# | `bacs` | 18 characters | `/` `.` `&` `-`
|
35
|
+
# |
|
36
|
+
# | `sepa_core` | 70 characters | `/` `?` `:` `(` `)` `.` `,` `+` `&`
|
37
|
+
# `<` `>` `'` `"` |
|
38
|
+
# | `ach` | 16 characters | `/` `?` `:` `(` `)` `.` `,` `'` `+`
|
39
|
+
# `-` |
|
40
|
+
# | `faster_payments` | 18 characters | `/` `?` `:` `(` `)` `.` `,` `'` `+`
|
41
|
+
# `-` |
|
42
|
+
#
|
43
|
+
# The validation error that gets returned for an invalid name will contain a
|
44
|
+
# suggested name
|
45
|
+
# in the metadata that is guaranteed to pass name validations.
|
46
|
+
#
|
47
|
+
# You should ensure that the name you set matches the legal name or the trading
|
48
|
+
# name of
|
49
|
+
# the creditor, otherwise, there is an increased risk of chargeback.
|
18
50
|
#
|
19
51
|
# Example URL: /scheme_identifiers
|
20
52
|
# @param options [Hash] parameters as a hash, under a params key.
|
@@ -10,6 +10,25 @@ module GoCardlessPro
|
|
10
10
|
module Services
|
11
11
|
# Service for making requests to the VerificationDetail endpoints
|
12
12
|
class VerificationDetailsService < BaseService
|
13
|
+
# Creates a new verification detail
|
14
|
+
# Example URL: /verification_details
|
15
|
+
# @param options [Hash] parameters as a hash, under a params key.
|
16
|
+
def create(options = {})
|
17
|
+
path = '/verification_details'
|
18
|
+
|
19
|
+
params = options.delete(:params) || {}
|
20
|
+
options[:params] = {}
|
21
|
+
options[:params][envelope_key] = params
|
22
|
+
|
23
|
+
options[:retry_failures] = true
|
24
|
+
|
25
|
+
response = make_request(:post, path, options)
|
26
|
+
|
27
|
+
return if response.body.nil?
|
28
|
+
|
29
|
+
Resources::VerificationDetail.new(unenvelope_body(response.body), response)
|
30
|
+
end
|
31
|
+
|
13
32
|
# Returns a list of verification details belonging to a creditor.
|
14
33
|
# Example URL: /verification_details
|
15
34
|
# @param options [Hash] parameters as a hash, under a params key.
|
@@ -38,29 +57,6 @@ module GoCardlessPro
|
|
38
57
|
).enumerator
|
39
58
|
end
|
40
59
|
|
41
|
-
# Verification details represent any information needed by GoCardless to verify
|
42
|
-
# a creditor.
|
43
|
-
# Currently, only UK-based companies are supported.
|
44
|
-
# In other words, to submit verification details for a creditor, their
|
45
|
-
# creditor_type must be company and their country_code must be GB.
|
46
|
-
# Example URL: /verification_details
|
47
|
-
# @param options [Hash] parameters as a hash, under a params key.
|
48
|
-
def create(options = {})
|
49
|
-
path = '/verification_details'
|
50
|
-
|
51
|
-
params = options.delete(:params) || {}
|
52
|
-
options[:params] = {}
|
53
|
-
options[:params][envelope_key] = params
|
54
|
-
|
55
|
-
options[:retry_failures] = true
|
56
|
-
|
57
|
-
response = make_request(:post, path, options)
|
58
|
-
|
59
|
-
return if response.body.nil?
|
60
|
-
|
61
|
-
Resources::VerificationDetail.new(unenvelope_body(response.body), response)
|
62
|
-
end
|
63
|
-
|
64
60
|
private
|
65
61
|
|
66
62
|
# Unenvelope the response of the body using the service's `envelope_key`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gocardless_pro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.45.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GoCardless
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: '0'
|
199
199
|
requirements: []
|
200
|
-
rubygems_version: 3.4.
|
200
|
+
rubygems_version: 3.4.10
|
201
201
|
signing_key:
|
202
202
|
specification_version: 4
|
203
203
|
summary: A gem for calling the GoCardless Pro API
|