gocardless_pro 3.0.0 → 3.2.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: 6e7c9c7f865d0173f9fc0f2a577c04178c49f5aea6dcb15499dec10f97eaf2b8
4
- data.tar.gz: fe2d4c30469b84f035028d73a9d3edd4f8298306c0f35b3c0eef09653f235182
3
+ metadata.gz: d491b212bf75a7f70a1191be6b0d7d94eb4fb6cfd2d319047d62d0e2e9adf94b
4
+ data.tar.gz: e473a9b05df7ec6b70e48f2b426a7fae6585ed0c919a3963d91431d6fe5bd4a4
5
5
  SHA512:
6
- metadata.gz: a705da86320bda9c898ead0194d23350adbc8280048b0bb01f4f75b5cac1fc010869dbee793f507424640521aea3eb3a26e6d9d988a60809d17a042f1123d085
7
- data.tar.gz: 756f6bddc3ba9d8aa5fd944f20427b74990e2dae69f2d30ca378f06ef4007c786d152e98abf8dc95000079261c28965436f0d63faeb096eb7e98f1ffacb8fe83
6
+ metadata.gz: b605624bcbbace950cf6ad9c4558a0b06abc9da731c85e934645716918cd9b9b9a5b25649e7a3e9fab57d8ca38f4facb8a221276062a1671e168eaff294d94e6
7
+ data.tar.gz: eeb013ab2a0278f9f56ccb437b0f61107d7afdbdbb9670a58aff1c6afea7086b319f9a349996401d64c68281c9be743a27d1e1e7318d6ae0a6681325e438a6d1
@@ -233,7 +233,7 @@ module GoCardlessPro
233
233
  'User-Agent' => "#{user_agent}",
234
234
  'Content-Type' => 'application/json',
235
235
  'GoCardless-Client-Library' => 'gocardless-pro-ruby',
236
- 'GoCardless-Client-Version' => '3.0.0'
236
+ 'GoCardless-Client-Version' => '3.2.0'
237
237
  }
238
238
  }
239
239
  end
@@ -10,18 +10,20 @@ module GoCardlessPro
10
10
  module Resources
11
11
  # Represents an instance of a billing_request resource returned from the API
12
12
 
13
- # Billing Requests help create resources that require input or action from a
14
- # customer. An example of required input might be additional customer
15
- # billing
16
- # details, while an action would be asking a customer to authorise a payment
17
- # using their mobile banking app.
13
+ # Billing Requests help create resources that require input or action from
14
+ # a customer. An example of required input might be additional customer
15
+ # billing details, while an action would be asking a customer to authorise a
16
+ # payment using their mobile banking app.
18
17
  #
19
18
  # See [Billing Requests:
20
19
  # Overview](https://developer.gocardless.com/getting-started/billing-requests/overview/)
21
- # for how-to's, explanations and tutorials.
20
+ # for how-to's, explanations and tutorials. <p
21
+ # class="notice"><strong>Important</strong>: All properties associated with
22
+ # `subscription_request` and `instalment_schedule_request` are only
23
+ # supported for ACH and PAD schemes.</p>
22
24
  class BillingRequest
23
- attr_reader :actions, :created_at, :fallback_enabled, :id, :mandate_request, :metadata, :payment_request,
24
- :purpose_code, :resources, :status, :subscription_request
25
+ attr_reader :actions, :created_at, :fallback_enabled, :fallback_occurred, :id, :instalment_schedule_request,
26
+ :mandate_request, :metadata, :payment_request, :purpose_code, :resources, :status, :subscription_request
25
27
 
26
28
  # Initialize a billing_request resource instance
27
29
  # @param object [Hash] an object returned from the API
@@ -31,7 +33,9 @@ module GoCardlessPro
31
33
  @actions = object['actions']
32
34
  @created_at = object['created_at']
33
35
  @fallback_enabled = object['fallback_enabled']
36
+ @fallback_occurred = object['fallback_occurred']
34
37
  @id = object['id']
38
+ @instalment_schedule_request = object['instalment_schedule_request']
35
39
  @links = object['links']
36
40
  @mandate_request = object['mandate_request']
37
41
  @metadata = object['metadata']
@@ -82,6 +86,14 @@ module GoCardlessPro
82
86
  @links['customer_billing_detail']
83
87
  end
84
88
 
89
+ def instalment_schedule_request
90
+ @links['instalment_schedule_request']
91
+ end
92
+
93
+ def instalment_schedule_request_instalment_schedule
94
+ @links['instalment_schedule_request_instalment_schedule']
95
+ end
96
+
85
97
  def mandate_request
86
98
  @links['mandate_request']
87
99
  end
@@ -109,6 +121,10 @@ module GoCardlessPro
109
121
  def subscription_request
110
122
  @links['subscription_request']
111
123
  end
124
+
125
+ def subscription_request_subscription
126
+ @links['subscription_request_subscription']
127
+ end
112
128
  end
113
129
  end
114
130
  end
@@ -15,7 +15,7 @@ module GoCardlessPro
15
15
  # authorisation (such as open banking single payments).
16
16
  class BillingRequestFlow
17
17
  attr_reader :authorisation_url, :auto_fulfil, :created_at, :customer_details_captured, :exit_uri, :expires_at,
18
- :id, :language, :lock_bank_account, :lock_currency, :lock_customer_details, :prefilled_bank_account, :prefilled_customer, :redirect_uri, :session_token, :show_redirect_buttons, :show_success_redirect_button
18
+ :id, :language, :lock_bank_account, :lock_currency, :lock_customer_details, :prefilled_bank_account, :prefilled_customer, :redirect_uri, :session_token, :show_redirect_buttons, :show_success_redirect_button, :skip_success_screen
19
19
 
20
20
  # Initialize a billing_request_flow resource instance
21
21
  # @param object [Hash] an object returned from the API
@@ -40,6 +40,7 @@ module GoCardlessPro
40
40
  @session_token = object['session_token']
41
41
  @show_redirect_buttons = object['show_redirect_buttons']
42
42
  @show_success_redirect_button = object['show_success_redirect_button']
43
+ @skip_success_screen = object['skip_success_screen']
43
44
  @response = response
44
45
  end
45
46
 
@@ -41,7 +41,7 @@ module GoCardlessPro
41
41
  # href="mailto:help@gocardless.com">get in touch</a> if you would like to
42
42
  # use this API.</p>
43
43
  class MandateImportEntry
44
- attr_reader :created_at, :record_identifier
44
+ attr_reader :created_at, :processing_errors, :record_identifier
45
45
 
46
46
  # Initialize a mandate_import_entry resource instance
47
47
  # @param object [Hash] an object returned from the API
@@ -50,6 +50,7 @@ module GoCardlessPro
50
50
 
51
51
  @created_at = object['created_at']
52
52
  @links = object['links']
53
+ @processing_errors = object['processing_errors']
53
54
  @record_identifier = object['record_identifier']
54
55
  @response = response
55
56
  end
@@ -10,7 +10,8 @@ module GoCardlessPro
10
10
  module Services
11
11
  # Service for making requests to the BillingRequest endpoints
12
12
  class BillingRequestsService < BaseService
13
- #
13
+ # <p class="notice"><strong>Important</strong>: All properties associated with
14
+ # `subscription_request` are only supported for ACH and PAD schemes.</p>
14
15
  # Example URL: /billing_requests
15
16
  # @param options [Hash] parameters as a hash, under a params key.
16
17
  def create(options = {})
@@ -45,6 +46,78 @@ module GoCardlessPro
45
46
  Resources::BillingRequest.new(unenvelope_body(response.body), response)
46
47
  end
47
48
 
49
+ # <p class="notice"><strong>Important</strong>: All properties associated with
50
+ # `instalment_schedule_request` are only supported for ACH and PAD schemes.</p>
51
+ # Example URL: /billing_requests
52
+ # @param options [Hash] parameters as a hash, under a params key.
53
+ def create_with_instalments_with_dates(options = {})
54
+ path = '/billing_requests'
55
+
56
+ params = options.delete(:params) || {}
57
+ options[:params] = {}
58
+ options[:params][envelope_key] = params
59
+
60
+ options[:retry_failures] = true
61
+
62
+ begin
63
+ response = make_request(:post, path, options)
64
+
65
+ # Response doesn't raise any errors until #body is called
66
+ response.tap(&:body)
67
+ rescue InvalidStateError => e
68
+ if e.idempotent_creation_conflict?
69
+ case @api_service.on_idempotency_conflict
70
+ when :raise
71
+ raise IdempotencyConflict, e.error
72
+ when :fetch
73
+ return get(e.conflicting_resource_id)
74
+ end
75
+ end
76
+
77
+ raise e
78
+ end
79
+
80
+ return if response.body.nil?
81
+
82
+ Resources::BillingRequest.new(unenvelope_body(response.body), response)
83
+ end
84
+
85
+ # <p class="notice"><strong>Important</strong>: All properties associated with
86
+ # `instalment_schedule_request` are only supported for ACH and PAD schemes.</p>
87
+ # Example URL: /billing_requests
88
+ # @param options [Hash] parameters as a hash, under a params key.
89
+ def create_with_instalments_with_schedule(options = {})
90
+ path = '/billing_requests'
91
+
92
+ params = options.delete(:params) || {}
93
+ options[:params] = {}
94
+ options[:params][envelope_key] = params
95
+
96
+ options[:retry_failures] = true
97
+
98
+ begin
99
+ response = make_request(:post, path, options)
100
+
101
+ # Response doesn't raise any errors until #body is called
102
+ response.tap(&:body)
103
+ rescue InvalidStateError => e
104
+ if e.idempotent_creation_conflict?
105
+ case @api_service.on_idempotency_conflict
106
+ when :raise
107
+ raise IdempotencyConflict, e.error
108
+ when :fetch
109
+ return get(e.conflicting_resource_id)
110
+ end
111
+ end
112
+
113
+ raise e
114
+ end
115
+
116
+ return if response.body.nil?
117
+
118
+ Resources::BillingRequest.new(unenvelope_body(response.body), response)
119
+ end
120
+
48
121
  # If the billing request has a pending <code>collect_customer_details</code>
49
122
  # action, this endpoint can be used to collect the details in order to
50
123
  # complete it.
@@ -3,5 +3,5 @@ end
3
3
 
4
4
  module GoCardlessPro
5
5
  # Current version of the GC gem
6
- VERSION = '3.0.0'
6
+ VERSION = '3.2.0'
7
7
  end
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: 3.0.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GoCardless
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-24 00:00:00.000000000 Z
11
+ date: 2025-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -86,7 +86,7 @@ dependencies:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: 0.9.11
89
- description:
89
+ description:
90
90
  email:
91
91
  - engineering@gocardless.com
92
92
  executables: []
@@ -192,7 +192,7 @@ homepage: https://github.com/gocardless/gocardless-pro-ruby
192
192
  licenses:
193
193
  - MIT
194
194
  metadata: {}
195
- post_install_message:
195
+ post_install_message:
196
196
  rdoc_options: []
197
197
  require_paths:
198
198
  - lib
@@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
208
  version: '0'
209
209
  requirements: []
210
210
  rubygems_version: 3.4.19
211
- signing_key:
211
+ signing_key:
212
212
  specification_version: 4
213
213
  summary: A gem for calling the GoCardless Pro API
214
214
  test_files: []