processout 2.20.0 → 2.22.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +52 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Dockerfile +7 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/Makefile +4 -0
  9. data/README.md +12 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/processout/activity.rb +206 -0
  14. data/lib/processout/addon.rb +401 -0
  15. data/lib/processout/alternative_merchant_certificate.rb +115 -0
  16. data/lib/processout/api_request.rb +295 -0
  17. data/lib/processout/api_version.rb +92 -0
  18. data/lib/processout/apple_pay_alternative_merchant_certificates.rb +121 -0
  19. data/lib/processout/balance.rb +92 -0
  20. data/lib/processout/balances.rb +111 -0
  21. data/lib/processout/card.rb +503 -0
  22. data/lib/processout/card_information.rb +164 -0
  23. data/lib/processout/coupon.rb +352 -0
  24. data/lib/processout/customer.rb +755 -0
  25. data/lib/processout/customer_action.rb +81 -0
  26. data/lib/processout/discount.rb +360 -0
  27. data/lib/processout/dunning_action.rb +81 -0
  28. data/lib/processout/errors/authentication_error.rb +9 -0
  29. data/lib/processout/errors/generic_error.rb +9 -0
  30. data/lib/processout/errors/internal_error.rb +9 -0
  31. data/lib/processout/errors/notfound_error.rb +9 -0
  32. data/lib/processout/errors/validation_error.rb +9 -0
  33. data/lib/processout/event.rb +237 -0
  34. data/lib/processout/gateway.rb +210 -0
  35. data/lib/processout/gateway_configuration.rb +346 -0
  36. data/lib/processout/gateway_request.rb +26 -0
  37. data/lib/processout/invoice.rb +985 -0
  38. data/lib/processout/invoice_detail.rb +235 -0
  39. data/lib/processout/invoice_device.rb +92 -0
  40. data/lib/processout/invoice_external_fraud_tools.rb +70 -0
  41. data/lib/processout/invoice_risk.rb +81 -0
  42. data/lib/processout/invoice_shipping.rb +202 -0
  43. data/lib/processout/invoice_tax.rb +81 -0
  44. data/lib/processout/networking/request.rb +102 -0
  45. data/lib/processout/networking/response.rb +67 -0
  46. data/lib/processout/payment_data_network_authentication.rb +70 -0
  47. data/lib/processout/payment_data_three_ds_authentication.rb +70 -0
  48. data/lib/processout/payment_data_three_ds_request.rb +103 -0
  49. data/lib/processout/payout.rb +379 -0
  50. data/lib/processout/payout_item.rb +238 -0
  51. data/lib/processout/plan.rb +368 -0
  52. data/lib/processout/product.rb +368 -0
  53. data/lib/processout/project.rb +353 -0
  54. data/lib/processout/refund.rb +277 -0
  55. data/lib/processout/subscription.rb +910 -0
  56. data/lib/processout/three_ds.rb +158 -0
  57. data/lib/processout/token.rb +493 -0
  58. data/lib/processout/transaction.rb +905 -0
  59. data/lib/processout/transaction_operation.rb +418 -0
  60. data/lib/processout/version.rb +3 -0
  61. data/lib/processout/webhook.rb +237 -0
  62. data/lib/processout/webhook_endpoint.rb +149 -0
  63. data/lib/processout.rb +263 -0
  64. data/processout.gemspec +26 -0
  65. metadata +66 -3
@@ -0,0 +1,158 @@
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 ThreeDS
10
+
11
+ attr_reader :version
12
+ attr_reader :status
13
+ attr_reader :fingerprinted
14
+ attr_reader :challenged
15
+ attr_reader :ares_trans_status
16
+ attr_reader :cres_trans_status
17
+ attr_reader :ds_trans_id
18
+ attr_reader :fingerprint_completion_indicator
19
+ attr_reader :server_trans_id
20
+
21
+
22
+ def version=(val)
23
+ @version = val
24
+ end
25
+
26
+ def status=(val)
27
+ @status = val
28
+ end
29
+
30
+ def fingerprinted=(val)
31
+ @fingerprinted = val
32
+ end
33
+
34
+ def challenged=(val)
35
+ @challenged = val
36
+ end
37
+
38
+ def ares_trans_status=(val)
39
+ @ares_trans_status = val
40
+ end
41
+
42
+ def cres_trans_status=(val)
43
+ @cres_trans_status = val
44
+ end
45
+
46
+ def ds_trans_id=(val)
47
+ @ds_trans_id = val
48
+ end
49
+
50
+ def fingerprint_completion_indicator=(val)
51
+ @fingerprint_completion_indicator = val
52
+ end
53
+
54
+ def server_trans_id=(val)
55
+ @server_trans_id = val
56
+ end
57
+
58
+
59
+ # Initializes the ThreeDS object
60
+ # Params:
61
+ # +client+:: +ProcessOut+ client instance
62
+ # +data+:: data that can be used to fill the object
63
+ def initialize(client, data = {})
64
+ @client = client
65
+
66
+ self.version = data.fetch(:version, nil)
67
+ self.status = data.fetch(:status, nil)
68
+ self.fingerprinted = data.fetch(:fingerprinted, nil)
69
+ self.challenged = data.fetch(:challenged, nil)
70
+ self.ares_trans_status = data.fetch(:ares_trans_status, nil)
71
+ self.cres_trans_status = data.fetch(:cres_trans_status, nil)
72
+ self.ds_trans_id = data.fetch(:ds_trans_id, nil)
73
+ self.fingerprint_completion_indicator = data.fetch(:fingerprint_completion_indicator, nil)
74
+ self.server_trans_id = data.fetch(:server_trans_id, nil)
75
+
76
+ end
77
+
78
+ # Create a new ThreeDS using the current client
79
+ def new(data = {})
80
+ ThreeDS.new(@client, data)
81
+ end
82
+
83
+ # Overrides the JSON marshaller to only send the fields we want
84
+ def to_json(options)
85
+ {
86
+ "version": self.version,
87
+ "status": self.status,
88
+ "fingerprinted": self.fingerprinted,
89
+ "challenged": self.challenged,
90
+ "ares_trans_status": self.ares_trans_status,
91
+ "cres_trans_status": self.cres_trans_status,
92
+ "ds_trans_id": self.ds_trans_id,
93
+ "fingerprint_completion_indicator": self.fingerprint_completion_indicator,
94
+ "server_trans_id": self.server_trans_id,
95
+ }.to_json
96
+ end
97
+
98
+ # Fills the object with data coming from the API
99
+ # Params:
100
+ # +data+:: +Hash+ of data coming from the API
101
+ def fill_with_data(data)
102
+ if data.nil?
103
+ return self
104
+ end
105
+ if data.include? "version"
106
+ self.version = data["version"]
107
+ end
108
+ if data.include? "status"
109
+ self.status = data["status"]
110
+ end
111
+ if data.include? "fingerprinted"
112
+ self.fingerprinted = data["fingerprinted"]
113
+ end
114
+ if data.include? "challenged"
115
+ self.challenged = data["challenged"]
116
+ end
117
+ if data.include? "ares_trans_status"
118
+ self.ares_trans_status = data["ares_trans_status"]
119
+ end
120
+ if data.include? "cres_trans_status"
121
+ self.cres_trans_status = data["cres_trans_status"]
122
+ end
123
+ if data.include? "ds_trans_id"
124
+ self.ds_trans_id = data["ds_trans_id"]
125
+ end
126
+ if data.include? "fingerprint_completion_indicator"
127
+ self.fingerprint_completion_indicator = data["fingerprint_completion_indicator"]
128
+ end
129
+ if data.include? "server_trans_id"
130
+ self.server_trans_id = data["server_trans_id"]
131
+ end
132
+
133
+ self
134
+ end
135
+
136
+ # Prefills the object with the data passed as parameters
137
+ # Params:
138
+ # +data+:: +Hash+ of data
139
+ def prefill(data)
140
+ if data.nil?
141
+ return self
142
+ end
143
+ self.version = data.fetch(:version, self.version)
144
+ self.status = data.fetch(:status, self.status)
145
+ self.fingerprinted = data.fetch(:fingerprinted, self.fingerprinted)
146
+ self.challenged = data.fetch(:challenged, self.challenged)
147
+ self.ares_trans_status = data.fetch(:ares_trans_status, self.ares_trans_status)
148
+ self.cres_trans_status = data.fetch(:cres_trans_status, self.cres_trans_status)
149
+ self.ds_trans_id = data.fetch(:ds_trans_id, self.ds_trans_id)
150
+ self.fingerprint_completion_indicator = data.fetch(:fingerprint_completion_indicator, self.fingerprint_completion_indicator)
151
+ self.server_trans_id = data.fetch(:server_trans_id, self.server_trans_id)
152
+
153
+ self
154
+ end
155
+
156
+
157
+ end
158
+ end
@@ -0,0 +1,493 @@
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 Token
10
+
11
+ attr_reader :id
12
+ attr_reader :customer
13
+ attr_reader :customer_id
14
+ attr_reader :gateway_configuration
15
+ attr_reader :gateway_configuration_id
16
+ attr_reader :card
17
+ attr_reader :card_id
18
+ attr_reader :type
19
+ attr_reader :metadata
20
+ attr_reader :is_subscription_only
21
+ attr_reader :is_default
22
+ attr_reader :return_url
23
+ attr_reader :cancel_url
24
+ attr_reader :summary
25
+ attr_reader :is_chargeable
26
+ attr_reader :created_at
27
+ attr_reader :description
28
+ attr_reader :invoice
29
+ attr_reader :invoice_id
30
+ attr_reader :manual_invoice_cancellation
31
+ attr_reader :verification_status
32
+ attr_reader :can_get_balance
33
+
34
+
35
+ def id=(val)
36
+ @id = val
37
+ end
38
+
39
+ def customer=(val)
40
+ if val.nil?
41
+ @customer = val
42
+ return
43
+ end
44
+
45
+ if val.instance_of? Customer
46
+ @customer = val
47
+ else
48
+ obj = Customer.new(@client)
49
+ obj.fill_with_data(val)
50
+ @customer = obj
51
+ end
52
+
53
+ end
54
+
55
+ def customer_id=(val)
56
+ @customer_id = val
57
+ end
58
+
59
+ def gateway_configuration=(val)
60
+ if val.nil?
61
+ @gateway_configuration = val
62
+ return
63
+ end
64
+
65
+ if val.instance_of? GatewayConfiguration
66
+ @gateway_configuration = val
67
+ else
68
+ obj = GatewayConfiguration.new(@client)
69
+ obj.fill_with_data(val)
70
+ @gateway_configuration = obj
71
+ end
72
+
73
+ end
74
+
75
+ def gateway_configuration_id=(val)
76
+ @gateway_configuration_id = val
77
+ end
78
+
79
+ def card=(val)
80
+ if val.nil?
81
+ @card = val
82
+ return
83
+ end
84
+
85
+ if val.instance_of? Card
86
+ @card = val
87
+ else
88
+ obj = Card.new(@client)
89
+ obj.fill_with_data(val)
90
+ @card = obj
91
+ end
92
+
93
+ end
94
+
95
+ def card_id=(val)
96
+ @card_id = val
97
+ end
98
+
99
+ def type=(val)
100
+ @type = val
101
+ end
102
+
103
+ def metadata=(val)
104
+ @metadata = val
105
+ end
106
+
107
+ def is_subscription_only=(val)
108
+ @is_subscription_only = val
109
+ end
110
+
111
+ def is_default=(val)
112
+ @is_default = val
113
+ end
114
+
115
+ def return_url=(val)
116
+ @return_url = val
117
+ end
118
+
119
+ def cancel_url=(val)
120
+ @cancel_url = val
121
+ end
122
+
123
+ def summary=(val)
124
+ @summary = val
125
+ end
126
+
127
+ def is_chargeable=(val)
128
+ @is_chargeable = val
129
+ end
130
+
131
+ def created_at=(val)
132
+ @created_at = val
133
+ end
134
+
135
+ def description=(val)
136
+ @description = val
137
+ end
138
+
139
+ def invoice=(val)
140
+ if val.nil?
141
+ @invoice = val
142
+ return
143
+ end
144
+
145
+ if val.instance_of? Invoice
146
+ @invoice = val
147
+ else
148
+ obj = Invoice.new(@client)
149
+ obj.fill_with_data(val)
150
+ @invoice = obj
151
+ end
152
+
153
+ end
154
+
155
+ def invoice_id=(val)
156
+ @invoice_id = val
157
+ end
158
+
159
+ def manual_invoice_cancellation=(val)
160
+ @manual_invoice_cancellation = val
161
+ end
162
+
163
+ def verification_status=(val)
164
+ @verification_status = val
165
+ end
166
+
167
+ def can_get_balance=(val)
168
+ @can_get_balance = val
169
+ end
170
+
171
+
172
+ # Initializes the Token object
173
+ # Params:
174
+ # +client+:: +ProcessOut+ client instance
175
+ # +data+:: data that can be used to fill the object
176
+ def initialize(client, data = {})
177
+ @client = client
178
+
179
+ self.id = data.fetch(:id, nil)
180
+ self.customer = data.fetch(:customer, nil)
181
+ self.customer_id = data.fetch(:customer_id, nil)
182
+ self.gateway_configuration = data.fetch(:gateway_configuration, nil)
183
+ self.gateway_configuration_id = data.fetch(:gateway_configuration_id, nil)
184
+ self.card = data.fetch(:card, nil)
185
+ self.card_id = data.fetch(:card_id, nil)
186
+ self.type = data.fetch(:type, nil)
187
+ self.metadata = data.fetch(:metadata, nil)
188
+ self.is_subscription_only = data.fetch(:is_subscription_only, nil)
189
+ self.is_default = data.fetch(:is_default, nil)
190
+ self.return_url = data.fetch(:return_url, nil)
191
+ self.cancel_url = data.fetch(:cancel_url, nil)
192
+ self.summary = data.fetch(:summary, nil)
193
+ self.is_chargeable = data.fetch(:is_chargeable, nil)
194
+ self.created_at = data.fetch(:created_at, nil)
195
+ self.description = data.fetch(:description, nil)
196
+ self.invoice = data.fetch(:invoice, nil)
197
+ self.invoice_id = data.fetch(:invoice_id, nil)
198
+ self.manual_invoice_cancellation = data.fetch(:manual_invoice_cancellation, nil)
199
+ self.verification_status = data.fetch(:verification_status, nil)
200
+ self.can_get_balance = data.fetch(:can_get_balance, nil)
201
+
202
+ end
203
+
204
+ # Create a new Token using the current client
205
+ def new(data = {})
206
+ Token.new(@client, data)
207
+ end
208
+
209
+ # Overrides the JSON marshaller to only send the fields we want
210
+ def to_json(options)
211
+ {
212
+ "id": self.id,
213
+ "customer": self.customer,
214
+ "customer_id": self.customer_id,
215
+ "gateway_configuration": self.gateway_configuration,
216
+ "gateway_configuration_id": self.gateway_configuration_id,
217
+ "card": self.card,
218
+ "card_id": self.card_id,
219
+ "type": self.type,
220
+ "metadata": self.metadata,
221
+ "is_subscription_only": self.is_subscription_only,
222
+ "is_default": self.is_default,
223
+ "return_url": self.return_url,
224
+ "cancel_url": self.cancel_url,
225
+ "summary": self.summary,
226
+ "is_chargeable": self.is_chargeable,
227
+ "created_at": self.created_at,
228
+ "description": self.description,
229
+ "invoice": self.invoice,
230
+ "invoice_id": self.invoice_id,
231
+ "manual_invoice_cancellation": self.manual_invoice_cancellation,
232
+ "verification_status": self.verification_status,
233
+ "can_get_balance": self.can_get_balance,
234
+ }.to_json
235
+ end
236
+
237
+ # Fills the object with data coming from the API
238
+ # Params:
239
+ # +data+:: +Hash+ of data coming from the API
240
+ def fill_with_data(data)
241
+ if data.nil?
242
+ return self
243
+ end
244
+ if data.include? "id"
245
+ self.id = data["id"]
246
+ end
247
+ if data.include? "customer"
248
+ self.customer = data["customer"]
249
+ end
250
+ if data.include? "customer_id"
251
+ self.customer_id = data["customer_id"]
252
+ end
253
+ if data.include? "gateway_configuration"
254
+ self.gateway_configuration = data["gateway_configuration"]
255
+ end
256
+ if data.include? "gateway_configuration_id"
257
+ self.gateway_configuration_id = data["gateway_configuration_id"]
258
+ end
259
+ if data.include? "card"
260
+ self.card = data["card"]
261
+ end
262
+ if data.include? "card_id"
263
+ self.card_id = data["card_id"]
264
+ end
265
+ if data.include? "type"
266
+ self.type = data["type"]
267
+ end
268
+ if data.include? "metadata"
269
+ self.metadata = data["metadata"]
270
+ end
271
+ if data.include? "is_subscription_only"
272
+ self.is_subscription_only = data["is_subscription_only"]
273
+ end
274
+ if data.include? "is_default"
275
+ self.is_default = data["is_default"]
276
+ end
277
+ if data.include? "return_url"
278
+ self.return_url = data["return_url"]
279
+ end
280
+ if data.include? "cancel_url"
281
+ self.cancel_url = data["cancel_url"]
282
+ end
283
+ if data.include? "summary"
284
+ self.summary = data["summary"]
285
+ end
286
+ if data.include? "is_chargeable"
287
+ self.is_chargeable = data["is_chargeable"]
288
+ end
289
+ if data.include? "created_at"
290
+ self.created_at = data["created_at"]
291
+ end
292
+ if data.include? "description"
293
+ self.description = data["description"]
294
+ end
295
+ if data.include? "invoice"
296
+ self.invoice = data["invoice"]
297
+ end
298
+ if data.include? "invoice_id"
299
+ self.invoice_id = data["invoice_id"]
300
+ end
301
+ if data.include? "manual_invoice_cancellation"
302
+ self.manual_invoice_cancellation = data["manual_invoice_cancellation"]
303
+ end
304
+ if data.include? "verification_status"
305
+ self.verification_status = data["verification_status"]
306
+ end
307
+ if data.include? "can_get_balance"
308
+ self.can_get_balance = data["can_get_balance"]
309
+ end
310
+
311
+ self
312
+ end
313
+
314
+ # Prefills the object with the data passed as parameters
315
+ # Params:
316
+ # +data+:: +Hash+ of data
317
+ def prefill(data)
318
+ if data.nil?
319
+ return self
320
+ end
321
+ self.id = data.fetch(:id, self.id)
322
+ self.customer = data.fetch(:customer, self.customer)
323
+ self.customer_id = data.fetch(:customer_id, self.customer_id)
324
+ self.gateway_configuration = data.fetch(:gateway_configuration, self.gateway_configuration)
325
+ self.gateway_configuration_id = data.fetch(:gateway_configuration_id, self.gateway_configuration_id)
326
+ self.card = data.fetch(:card, self.card)
327
+ self.card_id = data.fetch(:card_id, self.card_id)
328
+ self.type = data.fetch(:type, self.type)
329
+ self.metadata = data.fetch(:metadata, self.metadata)
330
+ self.is_subscription_only = data.fetch(:is_subscription_only, self.is_subscription_only)
331
+ self.is_default = data.fetch(:is_default, self.is_default)
332
+ self.return_url = data.fetch(:return_url, self.return_url)
333
+ self.cancel_url = data.fetch(:cancel_url, self.cancel_url)
334
+ self.summary = data.fetch(:summary, self.summary)
335
+ self.is_chargeable = data.fetch(:is_chargeable, self.is_chargeable)
336
+ self.created_at = data.fetch(:created_at, self.created_at)
337
+ self.description = data.fetch(:description, self.description)
338
+ self.invoice = data.fetch(:invoice, self.invoice)
339
+ self.invoice_id = data.fetch(:invoice_id, self.invoice_id)
340
+ self.manual_invoice_cancellation = data.fetch(:manual_invoice_cancellation, self.manual_invoice_cancellation)
341
+ self.verification_status = data.fetch(:verification_status, self.verification_status)
342
+ self.can_get_balance = data.fetch(:can_get_balance, self.can_get_balance)
343
+
344
+ self
345
+ end
346
+
347
+ # Get the customer's tokens.
348
+ # Params:
349
+ # +customer_id+:: ID of the customer
350
+ # +options+:: +Hash+ of options
351
+ def fetch_customer_tokens(customer_id, options = {})
352
+ self.prefill(options)
353
+
354
+ request = Request.new(@client)
355
+ path = "/customers/" + CGI.escape(customer_id) + "/tokens"
356
+ data = {
357
+
358
+ }
359
+
360
+ response = Response.new(request.get(path, data, options))
361
+ return_values = Array.new
362
+
363
+ a = Array.new
364
+ body = response.body
365
+ for v in body['tokens']
366
+ tmp = Token.new(@client)
367
+ tmp.fill_with_data(v)
368
+ a.push(tmp)
369
+ end
370
+
371
+ return_values.push(a)
372
+
373
+
374
+
375
+ return_values[0]
376
+ end
377
+
378
+ # Find a customer's token by its ID.
379
+ # Params:
380
+ # +customer_id+:: ID of the customer
381
+ # +token_id+:: ID of the token
382
+ # +options+:: +Hash+ of options
383
+ def find(customer_id, token_id, options = {})
384
+ self.prefill(options)
385
+
386
+ request = Request.new(@client)
387
+ path = "/customers/" + CGI.escape(customer_id) + "/tokens/" + CGI.escape(token_id) + ""
388
+ data = {
389
+
390
+ }
391
+
392
+ response = Response.new(request.get(path, data, options))
393
+ return_values = Array.new
394
+
395
+ body = response.body
396
+ body = body["token"]
397
+
398
+
399
+ obj = Token.new(@client)
400
+ return_values.push(obj.fill_with_data(body))
401
+
402
+
403
+
404
+ return_values[0]
405
+ end
406
+
407
+ # Create a new token for the given customer ID.
408
+ # Params:
409
+ # +options+:: +Hash+ of options
410
+ def create(options = {})
411
+ self.prefill(options)
412
+
413
+ request = Request.new(@client)
414
+ path = "/customers/" + CGI.escape(@customer_id) + "/tokens"
415
+ data = {
416
+ "metadata" => @metadata,
417
+ "return_url" => @return_url,
418
+ "cancel_url" => @cancel_url,
419
+ "description" => @description,
420
+ "invoice_id" => @invoice_id,
421
+ "manual_invoice_cancellation" => @manual_invoice_cancellation,
422
+ "source" => options.fetch(:source, nil),
423
+ "settings" => options.fetch(:settings, nil),
424
+ "device" => options.fetch(:device, nil),
425
+ "verify" => options.fetch(:verify, nil),
426
+ "verify_metadata" => options.fetch(:verify_metadata, nil),
427
+ "set_default" => options.fetch(:set_default, nil)
428
+ }
429
+
430
+ response = Response.new(request.post(path, data, options))
431
+ return_values = Array.new
432
+
433
+ body = response.body
434
+ body = body["token"]
435
+
436
+
437
+ return_values.push(self.fill_with_data(body))
438
+
439
+
440
+
441
+ return_values[0]
442
+ end
443
+
444
+ # Save the updated customer attributes.
445
+ # Params:
446
+ # +options+:: +Hash+ of options
447
+ def save(options = {})
448
+ self.prefill(options)
449
+
450
+ request = Request.new(@client)
451
+ path = "/customers/" + CGI.escape(@customer_id) + "/tokens/" + CGI.escape(@id) + ""
452
+ data = {
453
+ "source" => options.fetch(:source, nil),
454
+ "settings" => options.fetch(:settings, nil),
455
+ "device" => options.fetch(:device, nil),
456
+ "verify" => options.fetch(:verify, nil),
457
+ "verify_metadata" => options.fetch(:verify_metadata, nil),
458
+ "set_default" => options.fetch(:set_default, nil)
459
+ }
460
+
461
+ response = Response.new(request.put(path, data, options))
462
+ return_values = Array.new
463
+
464
+ return_values.push(response.success)
465
+
466
+
467
+ return_values[0]
468
+ end
469
+
470
+ # Delete a customer token
471
+ # Params:
472
+ # +options+:: +Hash+ of options
473
+ def delete(options = {})
474
+ self.prefill(options)
475
+
476
+ request = Request.new(@client)
477
+ path = "/customers/" + CGI.escape(@customer_id) + "/tokens/" + CGI.escape(@id) + ""
478
+ data = {
479
+
480
+ }
481
+
482
+ response = Response.new(request.delete(path, data, options))
483
+ return_values = Array.new
484
+
485
+ return_values.push(response.success)
486
+
487
+
488
+ return_values[0]
489
+ end
490
+
491
+
492
+ end
493
+ end