processout 2.17.0 → 2.20.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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. metadata +4 -65
  3. data/.gitignore +0 -52
  4. data/.rspec +0 -2
  5. data/.travis.yml +0 -5
  6. data/Dockerfile +0 -7
  7. data/Gemfile +0 -4
  8. data/LICENSE.txt +0 -21
  9. data/Makefile +0 -4
  10. data/README.md +0 -12
  11. data/Rakefile +0 -6
  12. data/bin/console +0 -14
  13. data/bin/setup +0 -8
  14. data/lib/processout/activity.rb +0 -206
  15. data/lib/processout/addon.rb +0 -401
  16. data/lib/processout/api_request.rb +0 -295
  17. data/lib/processout/api_version.rb +0 -92
  18. data/lib/processout/balance.rb +0 -81
  19. data/lib/processout/balances.rb +0 -111
  20. data/lib/processout/card.rb +0 -503
  21. data/lib/processout/card_information.rb +0 -164
  22. data/lib/processout/coupon.rb +0 -352
  23. data/lib/processout/customer.rb +0 -755
  24. data/lib/processout/customer_action.rb +0 -81
  25. data/lib/processout/discount.rb +0 -360
  26. data/lib/processout/dunning_action.rb +0 -81
  27. data/lib/processout/errors/authentication_error.rb +0 -9
  28. data/lib/processout/errors/generic_error.rb +0 -9
  29. data/lib/processout/errors/internal_error.rb +0 -9
  30. data/lib/processout/errors/notfound_error.rb +0 -9
  31. data/lib/processout/errors/validation_error.rb +0 -9
  32. data/lib/processout/event.rb +0 -237
  33. data/lib/processout/gateway.rb +0 -210
  34. data/lib/processout/gateway_configuration.rb +0 -346
  35. data/lib/processout/gateway_request.rb +0 -26
  36. data/lib/processout/invoice.rb +0 -945
  37. data/lib/processout/invoice_detail.rb +0 -224
  38. data/lib/processout/invoice_device.rb +0 -92
  39. data/lib/processout/invoice_external_fraud_tools.rb +0 -70
  40. data/lib/processout/invoice_risk.rb +0 -81
  41. data/lib/processout/invoice_shipping.rb +0 -191
  42. data/lib/processout/invoice_tax.rb +0 -81
  43. data/lib/processout/networking/request.rb +0 -102
  44. data/lib/processout/networking/response.rb +0 -67
  45. data/lib/processout/payment_data_network_authentication.rb +0 -70
  46. data/lib/processout/payment_data_three_ds_authentication.rb +0 -70
  47. data/lib/processout/payment_data_three_ds_request.rb +0 -103
  48. data/lib/processout/payout.rb +0 -379
  49. data/lib/processout/payout_item.rb +0 -238
  50. data/lib/processout/plan.rb +0 -368
  51. data/lib/processout/product.rb +0 -368
  52. data/lib/processout/project.rb +0 -353
  53. data/lib/processout/refund.rb +0 -265
  54. data/lib/processout/subscription.rb +0 -910
  55. data/lib/processout/three_ds.rb +0 -158
  56. data/lib/processout/token.rb +0 -482
  57. data/lib/processout/transaction.rb +0 -894
  58. data/lib/processout/transaction_operation.rb +0 -418
  59. data/lib/processout/version.rb +0 -3
  60. data/lib/processout/webhook.rb +0 -237
  61. data/lib/processout/webhook_endpoint.rb +0 -149
  62. data/lib/processout.rb +0 -251
  63. data/processout.gemspec +0 -26
@@ -1,368 +0,0 @@
1
- # The content of this file was automatically generated
2
-
3
- require "cgi"
4
- require "json"
5
- require "processout/networking/request"
6
- require "processout/networking/response"
7
-
8
- module ProcessOut
9
- class Product
10
-
11
- attr_reader :id
12
- attr_reader :project
13
- attr_reader :project_id
14
- attr_reader :url
15
- attr_reader :name
16
- attr_reader :amount
17
- attr_reader :currency
18
- attr_reader :metadata
19
- attr_reader :return_url
20
- attr_reader :cancel_url
21
- attr_reader :sandbox
22
- attr_reader :created_at
23
-
24
-
25
- def id=(val)
26
- @id = val
27
- end
28
-
29
- def project=(val)
30
- if val.nil?
31
- @project = val
32
- return
33
- end
34
-
35
- if val.instance_of? Project
36
- @project = val
37
- else
38
- obj = Project.new(@client)
39
- obj.fill_with_data(val)
40
- @project = obj
41
- end
42
-
43
- end
44
-
45
- def project_id=(val)
46
- @project_id = val
47
- end
48
-
49
- def url=(val)
50
- @url = val
51
- end
52
-
53
- def name=(val)
54
- @name = val
55
- end
56
-
57
- def amount=(val)
58
- @amount = val
59
- end
60
-
61
- def currency=(val)
62
- @currency = val
63
- end
64
-
65
- def metadata=(val)
66
- @metadata = val
67
- end
68
-
69
- def return_url=(val)
70
- @return_url = val
71
- end
72
-
73
- def cancel_url=(val)
74
- @cancel_url = val
75
- end
76
-
77
- def sandbox=(val)
78
- @sandbox = val
79
- end
80
-
81
- def created_at=(val)
82
- @created_at = val
83
- end
84
-
85
-
86
- # Initializes the Product object
87
- # Params:
88
- # +client+:: +ProcessOut+ client instance
89
- # +data+:: data that can be used to fill the object
90
- def initialize(client, data = {})
91
- @client = client
92
-
93
- self.id = data.fetch(:id, nil)
94
- self.project = data.fetch(:project, nil)
95
- self.project_id = data.fetch(:project_id, nil)
96
- self.url = data.fetch(:url, nil)
97
- self.name = data.fetch(:name, nil)
98
- self.amount = data.fetch(:amount, nil)
99
- self.currency = data.fetch(:currency, nil)
100
- self.metadata = data.fetch(:metadata, nil)
101
- self.return_url = data.fetch(:return_url, nil)
102
- self.cancel_url = data.fetch(:cancel_url, nil)
103
- self.sandbox = data.fetch(:sandbox, nil)
104
- self.created_at = data.fetch(:created_at, nil)
105
-
106
- end
107
-
108
- # Create a new Product using the current client
109
- def new(data = {})
110
- Product.new(@client, data)
111
- end
112
-
113
- # Overrides the JSON marshaller to only send the fields we want
114
- def to_json(options)
115
- {
116
- "id": self.id,
117
- "project": self.project,
118
- "project_id": self.project_id,
119
- "url": self.url,
120
- "name": self.name,
121
- "amount": self.amount,
122
- "currency": self.currency,
123
- "metadata": self.metadata,
124
- "return_url": self.return_url,
125
- "cancel_url": self.cancel_url,
126
- "sandbox": self.sandbox,
127
- "created_at": self.created_at,
128
- }.to_json
129
- end
130
-
131
- # Fills the object with data coming from the API
132
- # Params:
133
- # +data+:: +Hash+ of data coming from the API
134
- def fill_with_data(data)
135
- if data.nil?
136
- return self
137
- end
138
- if data.include? "id"
139
- self.id = data["id"]
140
- end
141
- if data.include? "project"
142
- self.project = data["project"]
143
- end
144
- if data.include? "project_id"
145
- self.project_id = data["project_id"]
146
- end
147
- if data.include? "url"
148
- self.url = data["url"]
149
- end
150
- if data.include? "name"
151
- self.name = data["name"]
152
- end
153
- if data.include? "amount"
154
- self.amount = data["amount"]
155
- end
156
- if data.include? "currency"
157
- self.currency = data["currency"]
158
- end
159
- if data.include? "metadata"
160
- self.metadata = data["metadata"]
161
- end
162
- if data.include? "return_url"
163
- self.return_url = data["return_url"]
164
- end
165
- if data.include? "cancel_url"
166
- self.cancel_url = data["cancel_url"]
167
- end
168
- if data.include? "sandbox"
169
- self.sandbox = data["sandbox"]
170
- end
171
- if data.include? "created_at"
172
- self.created_at = data["created_at"]
173
- end
174
-
175
- self
176
- end
177
-
178
- # Prefills the object with the data passed as parameters
179
- # Params:
180
- # +data+:: +Hash+ of data
181
- def prefill(data)
182
- if data.nil?
183
- return self
184
- end
185
- self.id = data.fetch(:id, self.id)
186
- self.project = data.fetch(:project, self.project)
187
- self.project_id = data.fetch(:project_id, self.project_id)
188
- self.url = data.fetch(:url, self.url)
189
- self.name = data.fetch(:name, self.name)
190
- self.amount = data.fetch(:amount, self.amount)
191
- self.currency = data.fetch(:currency, self.currency)
192
- self.metadata = data.fetch(:metadata, self.metadata)
193
- self.return_url = data.fetch(:return_url, self.return_url)
194
- self.cancel_url = data.fetch(:cancel_url, self.cancel_url)
195
- self.sandbox = data.fetch(:sandbox, self.sandbox)
196
- self.created_at = data.fetch(:created_at, self.created_at)
197
-
198
- self
199
- end
200
-
201
- # Create a new invoice from the product.
202
- # Params:
203
- # +options+:: +Hash+ of options
204
- def create_invoice(options = {})
205
- self.prefill(options)
206
-
207
- request = Request.new(@client)
208
- path = "/products/" + CGI.escape(@id) + "/invoices"
209
- data = {
210
-
211
- }
212
-
213
- response = Response.new(request.post(path, data, options))
214
- return_values = Array.new
215
-
216
- body = response.body
217
- body = body["invoice"]
218
- invoice = Invoice.new(@client)
219
- return_values.push(invoice.fill_with_data(body))
220
-
221
-
222
- return_values[0]
223
- end
224
-
225
- # Get all the products.
226
- # Params:
227
- # +options+:: +Hash+ of options
228
- def all(options = {})
229
- self.prefill(options)
230
-
231
- request = Request.new(@client)
232
- path = "/products"
233
- data = {
234
-
235
- }
236
-
237
- response = Response.new(request.get(path, data, options))
238
- return_values = Array.new
239
-
240
- a = Array.new
241
- body = response.body
242
- for v in body['products']
243
- tmp = Product.new(@client)
244
- tmp.fill_with_data(v)
245
- a.push(tmp)
246
- end
247
-
248
- return_values.push(a)
249
-
250
-
251
-
252
- return_values[0]
253
- end
254
-
255
- # Create a new product.
256
- # Params:
257
- # +options+:: +Hash+ of options
258
- def create(options = {})
259
- self.prefill(options)
260
-
261
- request = Request.new(@client)
262
- path = "/products"
263
- data = {
264
- "name" => @name,
265
- "amount" => @amount,
266
- "currency" => @currency,
267
- "metadata" => @metadata,
268
- "return_url" => @return_url,
269
- "cancel_url" => @cancel_url
270
- }
271
-
272
- response = Response.new(request.post(path, data, options))
273
- return_values = Array.new
274
-
275
- body = response.body
276
- body = body["product"]
277
-
278
-
279
- return_values.push(self.fill_with_data(body))
280
-
281
-
282
-
283
- return_values[0]
284
- end
285
-
286
- # Find a product by its ID.
287
- # Params:
288
- # +product_id+:: ID of the product
289
- # +options+:: +Hash+ of options
290
- def find(product_id, options = {})
291
- self.prefill(options)
292
-
293
- request = Request.new(@client)
294
- path = "/products/" + CGI.escape(product_id) + ""
295
- data = {
296
-
297
- }
298
-
299
- response = Response.new(request.get(path, data, options))
300
- return_values = Array.new
301
-
302
- body = response.body
303
- body = body["product"]
304
-
305
-
306
- obj = Product.new(@client)
307
- return_values.push(obj.fill_with_data(body))
308
-
309
-
310
-
311
- return_values[0]
312
- end
313
-
314
- # Save the updated product attributes.
315
- # Params:
316
- # +options+:: +Hash+ of options
317
- def save(options = {})
318
- self.prefill(options)
319
-
320
- request = Request.new(@client)
321
- path = "/products/" + CGI.escape(@id) + ""
322
- data = {
323
- "name" => @name,
324
- "amount" => @amount,
325
- "currency" => @currency,
326
- "metadata" => @metadata,
327
- "return_url" => @return_url,
328
- "cancel_url" => @cancel_url
329
- }
330
-
331
- response = Response.new(request.put(path, data, options))
332
- return_values = Array.new
333
-
334
- body = response.body
335
- body = body["product"]
336
-
337
-
338
- return_values.push(self.fill_with_data(body))
339
-
340
-
341
-
342
- return_values[0]
343
- end
344
-
345
- # Delete the product.
346
- # Params:
347
- # +options+:: +Hash+ of options
348
- def delete(options = {})
349
- self.prefill(options)
350
-
351
- request = Request.new(@client)
352
- path = "/products/" + CGI.escape(@id) + ""
353
- data = {
354
-
355
- }
356
-
357
- response = Response.new(request.delete(path, data, options))
358
- return_values = Array.new
359
-
360
- return_values.push(response.success)
361
-
362
-
363
- return_values[0]
364
- end
365
-
366
-
367
- end
368
- end
@@ -1,353 +0,0 @@
1
- # The content of this file was automatically generated
2
-
3
- require "cgi"
4
- require "json"
5
- require "processout/networking/request"
6
- require "processout/networking/response"
7
-
8
- module ProcessOut
9
- class Project
10
-
11
- attr_reader :id
12
- attr_reader :supervisor_project
13
- attr_reader :supervisor_project_id
14
- attr_reader :api_version
15
- attr_reader :name
16
- attr_reader :logo_url
17
- attr_reader :email
18
- attr_reader :default_currency
19
- attr_reader :private_key
20
- attr_reader :dunning_configuration
21
- attr_reader :created_at
22
-
23
-
24
- def id=(val)
25
- @id = val
26
- end
27
-
28
- def supervisor_project=(val)
29
- if val.nil?
30
- @supervisor_project = val
31
- return
32
- end
33
-
34
- if val.instance_of? Project
35
- @supervisor_project = val
36
- else
37
- obj = Project.new(@client)
38
- obj.fill_with_data(val)
39
- @supervisor_project = obj
40
- end
41
-
42
- end
43
-
44
- def supervisor_project_id=(val)
45
- @supervisor_project_id = val
46
- end
47
-
48
- def api_version=(val)
49
- if val.nil?
50
- @api_version = val
51
- return
52
- end
53
-
54
- if val.instance_of? APIVersion
55
- @api_version = val
56
- else
57
- obj = APIVersion.new(@client)
58
- obj.fill_with_data(val)
59
- @api_version = obj
60
- end
61
-
62
- end
63
-
64
- def name=(val)
65
- @name = val
66
- end
67
-
68
- def logo_url=(val)
69
- @logo_url = val
70
- end
71
-
72
- def email=(val)
73
- @email = val
74
- end
75
-
76
- def default_currency=(val)
77
- @default_currency = val
78
- end
79
-
80
- def private_key=(val)
81
- @private_key = val
82
- end
83
-
84
- def dunning_configuration=(val)
85
- if val.nil?
86
- @dunning_configuration = []
87
- return
88
- end
89
-
90
- if val.length > 0 and val[0].instance_of? DunningAction
91
- @dunning_configuration = val
92
- else
93
- l = Array.new
94
- for v in val
95
- obj = DunningAction.new(@client)
96
- obj.fill_with_data(v)
97
- l.push(obj)
98
- end
99
- @dunning_configuration = l
100
- end
101
-
102
- end
103
-
104
- def created_at=(val)
105
- @created_at = val
106
- end
107
-
108
-
109
- # Initializes the Project object
110
- # Params:
111
- # +client+:: +ProcessOut+ client instance
112
- # +data+:: data that can be used to fill the object
113
- def initialize(client, data = {})
114
- @client = client
115
-
116
- self.id = data.fetch(:id, nil)
117
- self.supervisor_project = data.fetch(:supervisor_project, nil)
118
- self.supervisor_project_id = data.fetch(:supervisor_project_id, nil)
119
- self.api_version = data.fetch(:api_version, nil)
120
- self.name = data.fetch(:name, nil)
121
- self.logo_url = data.fetch(:logo_url, nil)
122
- self.email = data.fetch(:email, nil)
123
- self.default_currency = data.fetch(:default_currency, nil)
124
- self.private_key = data.fetch(:private_key, nil)
125
- self.dunning_configuration = data.fetch(:dunning_configuration, nil)
126
- self.created_at = data.fetch(:created_at, nil)
127
-
128
- end
129
-
130
- # Create a new Project using the current client
131
- def new(data = {})
132
- Project.new(@client, data)
133
- end
134
-
135
- # Overrides the JSON marshaller to only send the fields we want
136
- def to_json(options)
137
- {
138
- "id": self.id,
139
- "supervisor_project": self.supervisor_project,
140
- "supervisor_project_id": self.supervisor_project_id,
141
- "api_version": self.api_version,
142
- "name": self.name,
143
- "logo_url": self.logo_url,
144
- "email": self.email,
145
- "default_currency": self.default_currency,
146
- "private_key": self.private_key,
147
- "dunning_configuration": self.dunning_configuration,
148
- "created_at": self.created_at,
149
- }.to_json
150
- end
151
-
152
- # Fills the object with data coming from the API
153
- # Params:
154
- # +data+:: +Hash+ of data coming from the API
155
- def fill_with_data(data)
156
- if data.nil?
157
- return self
158
- end
159
- if data.include? "id"
160
- self.id = data["id"]
161
- end
162
- if data.include? "supervisor_project"
163
- self.supervisor_project = data["supervisor_project"]
164
- end
165
- if data.include? "supervisor_project_id"
166
- self.supervisor_project_id = data["supervisor_project_id"]
167
- end
168
- if data.include? "api_version"
169
- self.api_version = data["api_version"]
170
- end
171
- if data.include? "name"
172
- self.name = data["name"]
173
- end
174
- if data.include? "logo_url"
175
- self.logo_url = data["logo_url"]
176
- end
177
- if data.include? "email"
178
- self.email = data["email"]
179
- end
180
- if data.include? "default_currency"
181
- self.default_currency = data["default_currency"]
182
- end
183
- if data.include? "private_key"
184
- self.private_key = data["private_key"]
185
- end
186
- if data.include? "dunning_configuration"
187
- self.dunning_configuration = data["dunning_configuration"]
188
- end
189
- if data.include? "created_at"
190
- self.created_at = data["created_at"]
191
- end
192
-
193
- self
194
- end
195
-
196
- # Prefills the object with the data passed as parameters
197
- # Params:
198
- # +data+:: +Hash+ of data
199
- def prefill(data)
200
- if data.nil?
201
- return self
202
- end
203
- self.id = data.fetch(:id, self.id)
204
- self.supervisor_project = data.fetch(:supervisor_project, self.supervisor_project)
205
- self.supervisor_project_id = data.fetch(:supervisor_project_id, self.supervisor_project_id)
206
- self.api_version = data.fetch(:api_version, self.api_version)
207
- self.name = data.fetch(:name, self.name)
208
- self.logo_url = data.fetch(:logo_url, self.logo_url)
209
- self.email = data.fetch(:email, self.email)
210
- self.default_currency = data.fetch(:default_currency, self.default_currency)
211
- self.private_key = data.fetch(:private_key, self.private_key)
212
- self.dunning_configuration = data.fetch(:dunning_configuration, self.dunning_configuration)
213
- self.created_at = data.fetch(:created_at, self.created_at)
214
-
215
- self
216
- end
217
-
218
- # Fetch the current project information.
219
- # Params:
220
- # +options+:: +Hash+ of options
221
- def fetch(options = {})
222
- self.prefill(options)
223
-
224
- request = Request.new(@client)
225
- path = "/projects/" + CGI.escape(@id) + ""
226
- data = {
227
-
228
- }
229
-
230
- response = Response.new(request.get(path, data, options))
231
- return_values = Array.new
232
-
233
- body = response.body
234
- body = body["project"]
235
-
236
-
237
- return_values.push(self.fill_with_data(body))
238
-
239
-
240
-
241
- return_values[0]
242
- end
243
-
244
- # Save the updated project's attributes.
245
- # Params:
246
- # +options+:: +Hash+ of options
247
- def save(options = {})
248
- self.prefill(options)
249
-
250
- request = Request.new(@client)
251
- path = "/projects/" + CGI.escape(@id) + ""
252
- data = {
253
-
254
- }
255
-
256
- response = Response.new(request.put(path, data, options))
257
- return_values = Array.new
258
-
259
- body = response.body
260
- body = body["project"]
261
-
262
-
263
- return_values.push(self.fill_with_data(body))
264
-
265
-
266
-
267
- return_values[0]
268
- end
269
-
270
- # Delete the project. Be careful! Executing this request will prevent any further interaction with the API that uses this project.
271
- # Params:
272
- # +options+:: +Hash+ of options
273
- def delete(options = {})
274
- self.prefill(options)
275
-
276
- request = Request.new(@client)
277
- path = "/projects/{project_id}"
278
- data = {
279
-
280
- }
281
-
282
- response = Response.new(request.delete(path, data, options))
283
- return_values = Array.new
284
-
285
- return_values.push(response.success)
286
-
287
-
288
- return_values[0]
289
- end
290
-
291
- # Get all the supervised projects.
292
- # Params:
293
- # +options+:: +Hash+ of options
294
- def fetch_supervised(options = {})
295
- self.prefill(options)
296
-
297
- request = Request.new(@client)
298
- path = "/supervised-projects"
299
- data = {
300
-
301
- }
302
-
303
- response = Response.new(request.get(path, data, options))
304
- return_values = Array.new
305
-
306
- a = Array.new
307
- body = response.body
308
- for v in body['projects']
309
- tmp = Project.new(@client)
310
- tmp.fill_with_data(v)
311
- a.push(tmp)
312
- end
313
-
314
- return_values.push(a)
315
-
316
-
317
-
318
- return_values[0]
319
- end
320
-
321
- # Create a new supervised project.
322
- # Params:
323
- # +options+:: +Hash+ of options
324
- def create_supervised(options = {})
325
- self.prefill(options)
326
-
327
- request = Request.new(@client)
328
- path = "/supervised-projects"
329
- data = {
330
- "id" => @id,
331
- "name" => @name,
332
- "default_currency" => @default_currency,
333
- "dunning_configuration" => @dunning_configuration,
334
- "applepay_settings" => options.fetch(:applepay_settings, nil)
335
- }
336
-
337
- response = Response.new(request.post(path, data, options))
338
- return_values = Array.new
339
-
340
- body = response.body
341
- body = body["project"]
342
-
343
-
344
- return_values.push(self.fill_with_data(body))
345
-
346
-
347
-
348
- return_values[0]
349
- end
350
-
351
-
352
- end
353
- end