gocardless_pro 2.45.0 → 2.46.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f933bb05815504fee3eb6ea9893bfc3b3a2588b0672a5bf015b0d91309f98ff6
4
- data.tar.gz: 151cd4b107edad4c6b6c55edfbbce6119d7d2c9eecee964c825b70e929733383
3
+ metadata.gz: 48f0431f3dc2e7308c560e95cb938c975ce7d3dc6a731357975779e04c9fb724
4
+ data.tar.gz: 5efc3b834b594cb4ed1a8c8d0355537d69e55ca9a44c036810e5c07f0e7ae86a
5
5
  SHA512:
6
- metadata.gz: 77c2b924f6aa8f9866657fc98d7c9c7531c2a1cea2cdd2d91c88adf3a0fc60dd5cbbf4a05a9c614be4fc88441403ff9b29c4eb662a6d8b3094bdfef1bbb12bd5
7
- data.tar.gz: 0fb451d644a7f14b703857e51f6cb29a07410692f0943caa11561083a8e8119772c4f709f2fb50df62cabdd656f556ea9cbfa0b93e138150b40d01f379cba3ba
6
+ metadata.gz: a5d8b6cacedabdf6658e7567f0b4b0cfd5687d7c25fee78d70bc124168f87dd7bdd035d36125378b6ecd797fc3025ec2f785397238d57457a5c0719c5d6d2cb6
7
+ data.tar.gz: 82df3b65a0f45cb0d067ba0f98794cd7a716d6aa5ce515b55a15124f8d9b88b94c4baf05eec3f41a1e2e1bce26e243a965f213b55db06a12a4f1cf02ec8680fc
@@ -98,6 +98,11 @@ module GoCardlessPro
98
98
  @mandate_pdfs ||= Services::MandatePdfsService.new(@api_service)
99
99
  end
100
100
 
101
+ # Access to the service for negative_balance_limit to make API calls
102
+ def negative_balance_limits
103
+ @negative_balance_limits ||= Services::NegativeBalanceLimitsService.new(@api_service)
104
+ end
105
+
101
106
  # Access to the service for payer_authorisation to make API calls
102
107
  def payer_authorisations
103
108
  @payer_authorisations ||= Services::PayerAuthorisationsService.new(@api_service)
@@ -208,7 +213,7 @@ module GoCardlessPro
208
213
  'User-Agent' => "#{user_agent}",
209
214
  'Content-Type' => 'application/json',
210
215
  'GoCardless-Client-Library' => 'gocardless-pro-ruby',
211
- 'GoCardless-Client-Version' => '2.45.0',
216
+ 'GoCardless-Client-Version' => '2.46.0',
212
217
  },
213
218
  }
214
219
  end
@@ -27,6 +27,7 @@ module GoCardlessPro
27
27
  attr_reader :expires_at
28
28
  attr_reader :id
29
29
  attr_reader :last_visited_at
30
+ attr_reader :qr_code_url
30
31
  attr_reader :redirect_uri
31
32
  attr_reader :url
32
33
 
@@ -42,6 +43,7 @@ module GoCardlessPro
42
43
  @id = object['id']
43
44
  @last_visited_at = object['last_visited_at']
44
45
  @links = object['links']
46
+ @qr_code_url = object['qr_code_url']
45
47
  @redirect_uri = object['redirect_uri']
46
48
  @url = object['url']
47
49
  @response = response
@@ -21,6 +21,7 @@ module GoCardlessPro
21
21
  attr_reader :address_line1
22
22
  attr_reader :address_line2
23
23
  attr_reader :address_line3
24
+ attr_reader :bank_reference_prefix
24
25
  attr_reader :can_create_refunds
25
26
  attr_reader :city
26
27
  attr_reader :country_code
@@ -46,6 +47,7 @@ module GoCardlessPro
46
47
  @address_line1 = object['address_line1']
47
48
  @address_line2 = object['address_line2']
48
49
  @address_line3 = object['address_line3']
50
+ @bank_reference_prefix = object['bank_reference_prefix']
49
51
  @can_create_refunds = object['can_create_refunds']
50
52
  @city = object['city']
51
53
  @country_code = object['country_code']
@@ -17,7 +17,7 @@ module GoCardlessPro
17
17
  # Not all institutions support both Payment Initiation (PIS) and Account
18
18
  # Information (AIS) services.
19
19
  class Institution
20
- attr_reader :bank_redirect
20
+ attr_reader :autocompletes_collect_bank_account
21
21
  attr_reader :country_code
22
22
  attr_reader :icon_url
23
23
  attr_reader :id
@@ -29,7 +29,7 @@ module GoCardlessPro
29
29
  def initialize(object, response = nil)
30
30
  @object = object
31
31
 
32
- @bank_redirect = object['bank_redirect']
32
+ @autocompletes_collect_bank_account = object['autocompletes_collect_bank_account']
33
33
  @country_code = object['country_code']
34
34
  @icon_url = object['icon_url']
35
35
  @id = object['id']
@@ -0,0 +1,69 @@
1
+ #
2
+ # This client is automatically generated from a template and JSON schema definition.
3
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
4
+ #
5
+
6
+ require 'uri'
7
+
8
+ module GoCardlessPro
9
+ # A module containing classes for each of the resources in the GC Api
10
+ module Resources
11
+ # Represents an instance of a negative_balance_limit resource returned from the API
12
+
13
+ # The negative balance limit for a creditor. If the creditor would exceed
14
+ # this limit, we will not allow the creation of refunds.
15
+ class NegativeBalanceLimit
16
+ attr_reader :active
17
+ attr_reader :balance_limit
18
+ attr_reader :created_at
19
+ attr_reader :currency
20
+ attr_reader :id
21
+ attr_reader :reason
22
+ attr_reader :updated_at
23
+
24
+ # Initialize a negative_balance_limit resource instance
25
+ # @param object [Hash] an object returned from the API
26
+ def initialize(object, response = nil)
27
+ @object = object
28
+
29
+ @active = object['active']
30
+ @balance_limit = object['balance_limit']
31
+ @created_at = object['created_at']
32
+ @currency = object['currency']
33
+ @id = object['id']
34
+ @links = object['links']
35
+ @reason = object['reason']
36
+ @updated_at = object['updated_at']
37
+ @response = response
38
+ end
39
+
40
+ def api_response
41
+ ApiResponse.new(@response)
42
+ end
43
+
44
+ # Return the links that the resource has
45
+ def links
46
+ @negative_balance_limit_links ||= Links.new(@links)
47
+ end
48
+
49
+ # Provides the negative_balance_limit resource as a hash of all its readable attributes
50
+ def to_h
51
+ @object
52
+ end
53
+
54
+ class Links
55
+ def initialize(links)
56
+ @links = links || {}
57
+ end
58
+
59
+ def creator_user
60
+ @links['creator_user']
61
+ end
62
+
63
+ def creditor
64
+ @links['creditor']
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -17,7 +17,6 @@ module GoCardlessPro
17
17
  #
18
18
  # The following rules apply when specifying recurrence:
19
19
  #
20
- # - The first payment must be charged within 1 year.
21
20
  # - If `day_of_month` and `start_date` are not provided `start_date` will be
22
21
  # the [mandate](#core-endpoints-mandates)'s `next_possible_charge_date` and
23
22
  # the subscription will then recur based on the `interval` & `interval_unit`
@@ -117,61 +117,6 @@ module GoCardlessPro
117
117
  Resources::Creditor.new(unenvelope_body(response.body), response)
118
118
  end
119
119
 
120
- # Applies a [scheme identifier](#core-endpoints-scheme-identifiers) to a
121
- # creditor.
122
- #
123
- # If the scheme identifier has a `pending` status, it will be applied
124
- # asynchronously
125
- # once it becomes `active`.
126
- #
127
- # If the creditor already has a scheme identifier for the scheme, it will be
128
- # replaced,
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).
136
- #
137
- # Example URL: /creditors/:identity/actions/apply_scheme_identifier
138
- #
139
- # @param identity # Unique identifier, beginning with "CR".
140
- # @param options [Hash] parameters as a hash, under a params key.
141
- def apply_scheme_identifier(identity, options = {})
142
- path = sub_url('/creditors/:identity/actions/apply_scheme_identifier', {
143
- 'identity' => identity,
144
- })
145
-
146
- params = options.delete(:params) || {}
147
- options[:params] = {}
148
- options[:params]['data'] = params
149
-
150
- options[:retry_failures] = false
151
-
152
- begin
153
- response = make_request(:post, path, options)
154
-
155
- # Response doesn't raise any errors until #body is called
156
- response.tap(&:body)
157
- rescue InvalidStateError => e
158
- if e.idempotent_creation_conflict?
159
- case @api_service.on_idempotency_conflict
160
- when :raise
161
- raise IdempotencyConflict, e.error
162
- when :fetch
163
- return get(e.conflicting_resource_id)
164
- end
165
- end
166
-
167
- raise e
168
- end
169
-
170
- return if response.body.nil?
171
-
172
- Resources::Creditor.new(unenvelope_body(response.body), response)
173
- end
174
-
175
120
  private
176
121
 
177
122
  # Unenvelope the response of the body using the service's `envelope_key`
@@ -0,0 +1,77 @@
1
+ require_relative './base_service'
2
+
3
+ # encoding: utf-8
4
+ #
5
+ # This client is automatically generated from a template and JSON schema definition.
6
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
7
+ #
8
+
9
+ module GoCardlessPro
10
+ module Services
11
+ # Service for making requests to the NegativeBalanceLimit endpoints
12
+ class NegativeBalanceLimitsService < BaseService
13
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of negative
14
+ # balance limits.
15
+ # Example URL: /negative_balance_limits
16
+ # @param options [Hash] parameters as a hash, under a params key.
17
+ def list(options = {})
18
+ path = '/negative_balance_limits'
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::NegativeBalanceLimit
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
+ # Creates a new negative balance limit, which also deactivates the existing
43
+ # limit (if present) for that currency and creditor combination.
44
+ # Example URL: /negative_balance_limits
45
+ # @param options [Hash] parameters as a hash, under a params key.
46
+ def create(options = {})
47
+ path = '/negative_balance_limits'
48
+
49
+ params = options.delete(:params) || {}
50
+ options[:params] = {}
51
+ options[:params][envelope_key] = params
52
+
53
+ options[:retry_failures] = true
54
+
55
+ response = make_request(:post, path, options)
56
+
57
+ return if response.body.nil?
58
+
59
+ Resources::NegativeBalanceLimit.new(unenvelope_body(response.body), response)
60
+ end
61
+
62
+ private
63
+
64
+ # Unenvelope the response of the body using the service's `envelope_key`
65
+ #
66
+ # @param body [Hash]
67
+ def unenvelope_body(body)
68
+ body[envelope_key] || body['data']
69
+ end
70
+
71
+ # return the key which API responses will envelope data under
72
+ def envelope_key
73
+ 'negative_balance_limits'
74
+ end
75
+ end
76
+ end
77
+ end
@@ -33,7 +33,7 @@ module GoCardlessPro
33
33
  # :-------------------------------------------------- |
34
34
  # | `bacs` | 18 characters | `/` `.` `&` `-`
35
35
  # |
36
- # | `sepa_core` | 70 characters | `/` `?` `:` `(` `)` `.` `,` `+` `&`
36
+ # | `sepa` | 70 characters | `/` `?` `:` `(` `)` `.` `,` `+` `&`
37
37
  # `<` `>` `'` `"` |
38
38
  # | `ach` | 16 characters | `/` `?` `:` `(` `)` `.` `,` `'` `+`
39
39
  # `-` |
@@ -3,5 +3,5 @@ end
3
3
 
4
4
  module GoCardlessPro
5
5
  # Current version of the GC gem
6
- VERSION = '2.45.0'
6
+ VERSION = '2.46.0'
7
7
  end
@@ -96,6 +96,9 @@ require_relative 'gocardless_pro/services/mandate_import_entries_service'
96
96
  require_relative 'gocardless_pro/resources/mandate_pdf'
97
97
  require_relative 'gocardless_pro/services/mandate_pdfs_service'
98
98
 
99
+ require_relative 'gocardless_pro/resources/negative_balance_limit'
100
+ require_relative 'gocardless_pro/services/negative_balance_limits_service'
101
+
99
102
  require_relative 'gocardless_pro/resources/payer_authorisation'
100
103
  require_relative 'gocardless_pro/services/payer_authorisations_service'
101
104
 
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.45.0
4
+ version: 2.46.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-04-11 00:00:00.000000000 Z
11
+ date: 2023-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -131,6 +131,7 @@ files:
131
131
  - lib/gocardless_pro/resources/mandate_import.rb
132
132
  - lib/gocardless_pro/resources/mandate_import_entry.rb
133
133
  - lib/gocardless_pro/resources/mandate_pdf.rb
134
+ - lib/gocardless_pro/resources/negative_balance_limit.rb
134
135
  - lib/gocardless_pro/resources/payer_authorisation.rb
135
136
  - lib/gocardless_pro/resources/payment.rb
136
137
  - lib/gocardless_pro/resources/payout.rb
@@ -164,6 +165,7 @@ files:
164
165
  - lib/gocardless_pro/services/mandate_imports_service.rb
165
166
  - lib/gocardless_pro/services/mandate_pdfs_service.rb
166
167
  - lib/gocardless_pro/services/mandates_service.rb
168
+ - lib/gocardless_pro/services/negative_balance_limits_service.rb
167
169
  - lib/gocardless_pro/services/payer_authorisations_service.rb
168
170
  - lib/gocardless_pro/services/payments_service.rb
169
171
  - lib/gocardless_pro/services/payout_items_service.rb