processout 0.2.1 → 0.3.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/deploy.sh +2 -2
- data/lib/processout.rb +38 -38
- data/lib/processout/activity.rb +16 -10
- data/lib/processout/authorization_request.rb +24 -18
- data/lib/processout/card.rb +20 -14
- data/lib/processout/coupon.rb +26 -20
- data/lib/processout/customer.rb +36 -30
- data/lib/processout/customer_action.rb +9 -3
- data/lib/processout/discount.rb +19 -13
- data/lib/processout/event.rb +18 -12
- data/lib/processout/gateway.rb +15 -9
- data/lib/processout/gateway_configuration.rb +12 -6
- data/lib/processout/invoice.rb +40 -34
- data/lib/processout/plan.rb +25 -19
- data/lib/processout/product.rb +28 -22
- data/lib/processout/project.rb +14 -8
- data/lib/processout/refund.rb +17 -11
- data/lib/processout/subscription.rb +49 -43
- data/lib/processout/token.rb +15 -9
- data/lib/processout/transaction.rb +29 -23
- data/lib/processout/version.rb +1 -1
- data/lib/processout/webhook.rb +19 -13
- metadata +2 -2
data/lib/processout/plan.rb
CHANGED
@@ -80,24 +80,30 @@ module ProcessOut
|
|
80
80
|
# Initializes the Plan object
|
81
81
|
# Params:
|
82
82
|
# +client+:: +ProcessOut+ client instance
|
83
|
-
|
83
|
+
# +data+:: data that can be used to fill the object
|
84
|
+
def initialize(client, data = {})
|
84
85
|
@client = client
|
85
86
|
|
86
|
-
@id = ""
|
87
|
-
@project = nil
|
88
|
-
@name = ""
|
89
|
-
@amount = ""
|
90
|
-
@currency = ""
|
91
|
-
@metadata = Hash.new
|
92
|
-
@interval = ""
|
93
|
-
@trial_period = "0d"
|
94
|
-
@return_url = ""
|
95
|
-
@cancel_url = ""
|
96
|
-
@sandbox = false
|
97
|
-
@created_at = ""
|
87
|
+
@id = data.fetch(:id, "")
|
88
|
+
@project = data.fetch(:project, nil)
|
89
|
+
@name = data.fetch(:name, "")
|
90
|
+
@amount = data.fetch(:amount, "")
|
91
|
+
@currency = data.fetch(:currency, "")
|
92
|
+
@metadata = data.fetch(:metadata, Hash.new)
|
93
|
+
@interval = data.fetch(:interval, "")
|
94
|
+
@trial_period = data.fetch(:trial_period, "0d")
|
95
|
+
@return_url = data.fetch(:return_url, "")
|
96
|
+
@cancel_url = data.fetch(:cancel_url, "")
|
97
|
+
@sandbox = data.fetch(:sandbox, false)
|
98
|
+
@created_at = data.fetch(:created_at, "")
|
98
99
|
|
99
100
|
end
|
100
101
|
|
102
|
+
# Create a new Plan using the current client
|
103
|
+
def new(data = {})
|
104
|
+
Plan.new(@client, data)
|
105
|
+
end
|
106
|
+
|
101
107
|
# Fills the object with data coming from the API
|
102
108
|
# Params:
|
103
109
|
# +data+:: +Hash+ of data coming from the API
|
@@ -145,7 +151,7 @@ module ProcessOut
|
|
145
151
|
# Get all the plans.
|
146
152
|
# Params:
|
147
153
|
# +options+:: +Hash+ of options
|
148
|
-
def all(options =
|
154
|
+
def all(options = {})
|
149
155
|
request = Request.new(@client)
|
150
156
|
path = "/plans"
|
151
157
|
data = {
|
@@ -158,7 +164,7 @@ module ProcessOut
|
|
158
164
|
a = Array.new
|
159
165
|
body = response.body
|
160
166
|
for v in body['plans']
|
161
|
-
tmp = Plan(@client)
|
167
|
+
tmp = Plan.new(@client)
|
162
168
|
tmp.fill_with_data(v)
|
163
169
|
a.push(tmp)
|
164
170
|
end
|
@@ -173,7 +179,7 @@ module ProcessOut
|
|
173
179
|
# Create a new plan.
|
174
180
|
# Params:
|
175
181
|
# +options+:: +Hash+ of options
|
176
|
-
def create(options =
|
182
|
+
def create(options = {})
|
177
183
|
request = Request.new(@client)
|
178
184
|
path = "/plans"
|
179
185
|
data = {
|
@@ -206,7 +212,7 @@ module ProcessOut
|
|
206
212
|
# Params:
|
207
213
|
# +plan_id+:: ID of the plan
|
208
214
|
# +options+:: +Hash+ of options
|
209
|
-
def find(plan_id, options =
|
215
|
+
def find(plan_id, options = {})
|
210
216
|
request = Request.new(@client)
|
211
217
|
path = "/plans/" + CGI.escape(plan_id) + ""
|
212
218
|
data = {
|
@@ -231,7 +237,7 @@ module ProcessOut
|
|
231
237
|
# Update the plan. This action won't affect subscriptions already linked to this plan.
|
232
238
|
# Params:
|
233
239
|
# +options+:: +Hash+ of options
|
234
|
-
def update(options =
|
240
|
+
def update(options = {})
|
235
241
|
request = Request.new(@client)
|
236
242
|
path = "/plans/" + CGI.escape(@id) + ""
|
237
243
|
data = {
|
@@ -259,7 +265,7 @@ module ProcessOut
|
|
259
265
|
# Delete a plan. Subscriptions linked to this plan won't be affected.
|
260
266
|
# Params:
|
261
267
|
# +options+:: +Hash+ of options
|
262
|
-
def end(options =
|
268
|
+
def end(options = {})
|
263
269
|
request = Request.new(@client)
|
264
270
|
path = "/plans/" + CGI.escape(@id) + ""
|
265
271
|
data = {
|
data/lib/processout/product.rb
CHANGED
@@ -85,25 +85,31 @@ module ProcessOut
|
|
85
85
|
# Initializes the Product object
|
86
86
|
# Params:
|
87
87
|
# +client+:: +ProcessOut+ client instance
|
88
|
-
|
88
|
+
# +data+:: data that can be used to fill the object
|
89
|
+
def initialize(client, data = {})
|
89
90
|
@client = client
|
90
91
|
|
91
|
-
@id = ""
|
92
|
-
@project = nil
|
93
|
-
@url = ""
|
94
|
-
@name = ""
|
95
|
-
@amount = ""
|
96
|
-
@currency = ""
|
97
|
-
@metadata = Hash.new
|
98
|
-
@request_email = false
|
99
|
-
@request_shipping = false
|
100
|
-
@return_url = ""
|
101
|
-
@cancel_url = ""
|
102
|
-
@sandbox = false
|
103
|
-
@created_at = ""
|
92
|
+
@id = data.fetch(:id, "")
|
93
|
+
@project = data.fetch(:project, nil)
|
94
|
+
@url = data.fetch(:url, "")
|
95
|
+
@name = data.fetch(:name, "")
|
96
|
+
@amount = data.fetch(:amount, "")
|
97
|
+
@currency = data.fetch(:currency, "")
|
98
|
+
@metadata = data.fetch(:metadata, Hash.new)
|
99
|
+
@request_email = data.fetch(:request_email, false)
|
100
|
+
@request_shipping = data.fetch(:request_shipping, false)
|
101
|
+
@return_url = data.fetch(:return_url, "")
|
102
|
+
@cancel_url = data.fetch(:cancel_url, "")
|
103
|
+
@sandbox = data.fetch(:sandbox, false)
|
104
|
+
@created_at = data.fetch(:created_at, "")
|
104
105
|
|
105
106
|
end
|
106
107
|
|
108
|
+
# Create a new Product using the current client
|
109
|
+
def new(data = {})
|
110
|
+
Product.new(@client, data)
|
111
|
+
end
|
112
|
+
|
107
113
|
# Fills the object with data coming from the API
|
108
114
|
# Params:
|
109
115
|
# +data+:: +Hash+ of data coming from the API
|
@@ -154,7 +160,7 @@ module ProcessOut
|
|
154
160
|
# Create a new invoice from the product.
|
155
161
|
# Params:
|
156
162
|
# +options+:: +Hash+ of options
|
157
|
-
def invoice(options =
|
163
|
+
def invoice(options = {})
|
158
164
|
request = Request.new(@client)
|
159
165
|
path = "/products/" + CGI.escape(@id) + "/invoices"
|
160
166
|
data = {
|
@@ -166,7 +172,7 @@ module ProcessOut
|
|
166
172
|
|
167
173
|
body = response.body
|
168
174
|
body = body["invoice"]
|
169
|
-
invoice = Invoice(
|
175
|
+
invoice = Invoice.new(@client)
|
170
176
|
return_values.push(invoice.fill_with_data(body))
|
171
177
|
|
172
178
|
|
@@ -176,7 +182,7 @@ module ProcessOut
|
|
176
182
|
# Get all the products.
|
177
183
|
# Params:
|
178
184
|
# +options+:: +Hash+ of options
|
179
|
-
def all(options =
|
185
|
+
def all(options = {})
|
180
186
|
request = Request.new(@client)
|
181
187
|
path = "/products"
|
182
188
|
data = {
|
@@ -189,7 +195,7 @@ module ProcessOut
|
|
189
195
|
a = Array.new
|
190
196
|
body = response.body
|
191
197
|
for v in body['products']
|
192
|
-
tmp = Product(@client)
|
198
|
+
tmp = Product.new(@client)
|
193
199
|
tmp.fill_with_data(v)
|
194
200
|
a.push(tmp)
|
195
201
|
end
|
@@ -204,7 +210,7 @@ module ProcessOut
|
|
204
210
|
# Create a new product.
|
205
211
|
# Params:
|
206
212
|
# +options+:: +Hash+ of options
|
207
|
-
def create(options =
|
213
|
+
def create(options = {})
|
208
214
|
request = Request.new(@client)
|
209
215
|
path = "/products"
|
210
216
|
data = {
|
@@ -236,7 +242,7 @@ module ProcessOut
|
|
236
242
|
# Params:
|
237
243
|
# +product_id+:: ID of the product
|
238
244
|
# +options+:: +Hash+ of options
|
239
|
-
def find(product_id, options =
|
245
|
+
def find(product_id, options = {})
|
240
246
|
request = Request.new(@client)
|
241
247
|
path = "/products/" + CGI.escape(product_id) + ""
|
242
248
|
data = {
|
@@ -261,7 +267,7 @@ module ProcessOut
|
|
261
267
|
# Save the updated product attributes.
|
262
268
|
# Params:
|
263
269
|
# +options+:: +Hash+ of options
|
264
|
-
def save(options =
|
270
|
+
def save(options = {})
|
265
271
|
request = Request.new(@client)
|
266
272
|
path = "/products/" + CGI.escape(@id) + ""
|
267
273
|
data = {
|
@@ -292,7 +298,7 @@ module ProcessOut
|
|
292
298
|
# Delete the product.
|
293
299
|
# Params:
|
294
300
|
# +options+:: +Hash+ of options
|
295
|
-
def delete(options =
|
301
|
+
def delete(options = {})
|
296
302
|
request = Request.new(@client)
|
297
303
|
path = "/products/" + CGI.escape(@id) + ""
|
298
304
|
data = {
|
data/lib/processout/project.rb
CHANGED
@@ -38,17 +38,23 @@ module ProcessOut
|
|
38
38
|
# Initializes the Project object
|
39
39
|
# Params:
|
40
40
|
# +client+:: +ProcessOut+ client instance
|
41
|
-
|
41
|
+
# +data+:: data that can be used to fill the object
|
42
|
+
def initialize(client, data = {})
|
42
43
|
@client = client
|
43
44
|
|
44
|
-
@id = ""
|
45
|
-
@name = ""
|
46
|
-
@logo_url = ""
|
47
|
-
@email = ""
|
48
|
-
@created_at = ""
|
45
|
+
@id = data.fetch(:id, "")
|
46
|
+
@name = data.fetch(:name, "")
|
47
|
+
@logo_url = data.fetch(:logo_url, "")
|
48
|
+
@email = data.fetch(:email, "")
|
49
|
+
@created_at = data.fetch(:created_at, "")
|
49
50
|
|
50
51
|
end
|
51
52
|
|
53
|
+
# Create a new Project using the current client
|
54
|
+
def new(data = {})
|
55
|
+
Project.new(@client, data)
|
56
|
+
end
|
57
|
+
|
52
58
|
# Fills the object with data coming from the API
|
53
59
|
# Params:
|
54
60
|
# +data+:: +Hash+ of data coming from the API
|
@@ -75,7 +81,7 @@ module ProcessOut
|
|
75
81
|
# Get all the gateway configurations of the project
|
76
82
|
# Params:
|
77
83
|
# +options+:: +Hash+ of options
|
78
|
-
def gateway_configurations(options =
|
84
|
+
def gateway_configurations(options = {})
|
79
85
|
request = Request.new(@client)
|
80
86
|
path = "/projects/" + CGI.escape(@id) + "/gateway-configurations"
|
81
87
|
data = {
|
@@ -88,7 +94,7 @@ module ProcessOut
|
|
88
94
|
a = Array.new
|
89
95
|
body = response.body
|
90
96
|
for v in body['gateway_configurations']
|
91
|
-
tmp = GatewayConfiguration(@client)
|
97
|
+
tmp = GatewayConfiguration.new(@client)
|
92
98
|
tmp.fill_with_data(v)
|
93
99
|
a.push(tmp)
|
94
100
|
end
|
data/lib/processout/refund.rb
CHANGED
@@ -60,20 +60,26 @@ module ProcessOut
|
|
60
60
|
# Initializes the Refund object
|
61
61
|
# Params:
|
62
62
|
# +client+:: +ProcessOut+ client instance
|
63
|
-
|
63
|
+
# +data+:: data that can be used to fill the object
|
64
|
+
def initialize(client, data = {})
|
64
65
|
@client = client
|
65
66
|
|
66
|
-
@id = ""
|
67
|
-
@transaction = nil
|
68
|
-
@reason = ""
|
69
|
-
@information = ""
|
70
|
-
@amount = ""
|
71
|
-
@metadata = Hash.new
|
72
|
-
@sandbox = false
|
73
|
-
@created_at = ""
|
67
|
+
@id = data.fetch(:id, "")
|
68
|
+
@transaction = data.fetch(:transaction, nil)
|
69
|
+
@reason = data.fetch(:reason, "")
|
70
|
+
@information = data.fetch(:information, "")
|
71
|
+
@amount = data.fetch(:amount, "")
|
72
|
+
@metadata = data.fetch(:metadata, Hash.new)
|
73
|
+
@sandbox = data.fetch(:sandbox, false)
|
74
|
+
@created_at = data.fetch(:created_at, "")
|
74
75
|
|
75
76
|
end
|
76
77
|
|
78
|
+
# Create a new Refund using the current client
|
79
|
+
def new(data = {})
|
80
|
+
Refund.new(@client, data)
|
81
|
+
end
|
82
|
+
|
77
83
|
# Fills the object with data coming from the API
|
78
84
|
# Params:
|
79
85
|
# +data+:: +Hash+ of data coming from the API
|
@@ -111,7 +117,7 @@ module ProcessOut
|
|
111
117
|
# +transaction_id+:: ID of the transaction
|
112
118
|
# +refund_id+:: ID of the refund
|
113
119
|
# +options+:: +Hash+ of options
|
114
|
-
def find(transaction_id, refund_id, options =
|
120
|
+
def find(transaction_id, refund_id, options = {})
|
115
121
|
request = Request.new(@client)
|
116
122
|
path = "/transactions/" + CGI.escape(transaction_id) + "/refunds/" + CGI.escape(refund_id) + ""
|
117
123
|
data = {
|
@@ -137,7 +143,7 @@ module ProcessOut
|
|
137
143
|
# Params:
|
138
144
|
# +transaction_id+:: ID of the transaction
|
139
145
|
# +options+:: +Hash+ of options
|
140
|
-
def apply(transaction_id, options =
|
146
|
+
def apply(transaction_id, options = {})
|
141
147
|
request = Request.new(@client)
|
142
148
|
path = "/transactions/" + CGI.escape(transaction_id) + "/refunds"
|
143
149
|
data = {
|
@@ -161,34 +161,40 @@ module ProcessOut
|
|
161
161
|
# Initializes the Subscription object
|
162
162
|
# Params:
|
163
163
|
# +client+:: +ProcessOut+ client instance
|
164
|
-
|
164
|
+
# +data+:: data that can be used to fill the object
|
165
|
+
def initialize(client, data = {})
|
165
166
|
@client = client
|
166
167
|
|
167
|
-
@id = ""
|
168
|
-
@project = nil
|
169
|
-
@plan = nil
|
170
|
-
@customer = nil
|
171
|
-
@token = nil
|
172
|
-
@url = ""
|
173
|
-
@name = ""
|
174
|
-
@amount = ""
|
175
|
-
@currency = ""
|
176
|
-
@metadata = Hash.new
|
177
|
-
@interval = ""
|
178
|
-
@trial_end_at = ""
|
179
|
-
@activated = false
|
180
|
-
@active = false
|
181
|
-
@canceled = false
|
182
|
-
@cancellation_reason = ""
|
183
|
-
@pending_cancellation = false
|
184
|
-
@cancel_at = ""
|
185
|
-
@return_url = ""
|
186
|
-
@cancel_url = ""
|
187
|
-
@sandbox = false
|
188
|
-
@created_at = ""
|
189
|
-
@activated_at = ""
|
190
|
-
@iterate_at = ""
|
191
|
-
|
168
|
+
@id = data.fetch(:id, "")
|
169
|
+
@project = data.fetch(:project, nil)
|
170
|
+
@plan = data.fetch(:plan, nil)
|
171
|
+
@customer = data.fetch(:customer, nil)
|
172
|
+
@token = data.fetch(:token, nil)
|
173
|
+
@url = data.fetch(:url, "")
|
174
|
+
@name = data.fetch(:name, "")
|
175
|
+
@amount = data.fetch(:amount, "")
|
176
|
+
@currency = data.fetch(:currency, "")
|
177
|
+
@metadata = data.fetch(:metadata, Hash.new)
|
178
|
+
@interval = data.fetch(:interval, "")
|
179
|
+
@trial_end_at = data.fetch(:trial_end_at, "")
|
180
|
+
@activated = data.fetch(:activated, false)
|
181
|
+
@active = data.fetch(:active, false)
|
182
|
+
@canceled = data.fetch(:canceled, false)
|
183
|
+
@cancellation_reason = data.fetch(:cancellation_reason, "")
|
184
|
+
@pending_cancellation = data.fetch(:pending_cancellation, false)
|
185
|
+
@cancel_at = data.fetch(:cancel_at, "")
|
186
|
+
@return_url = data.fetch(:return_url, "")
|
187
|
+
@cancel_url = data.fetch(:cancel_url, "")
|
188
|
+
@sandbox = data.fetch(:sandbox, false)
|
189
|
+
@created_at = data.fetch(:created_at, "")
|
190
|
+
@activated_at = data.fetch(:activated_at, "")
|
191
|
+
@iterate_at = data.fetch(:iterate_at, "")
|
192
|
+
|
193
|
+
end
|
194
|
+
|
195
|
+
# Create a new Subscription using the current client
|
196
|
+
def new(data = {})
|
197
|
+
Subscription.new(@client, data)
|
192
198
|
end
|
193
199
|
|
194
200
|
# Fills the object with data coming from the API
|
@@ -274,7 +280,7 @@ module ProcessOut
|
|
274
280
|
# Get the customer owning the subscription.
|
275
281
|
# Params:
|
276
282
|
# +options+:: +Hash+ of options
|
277
|
-
def customer(options =
|
283
|
+
def customer(options = {})
|
278
284
|
request = Request.new(@client)
|
279
285
|
path = "/subscriptions/" + CGI.escape(@id) + "/customers"
|
280
286
|
data = {
|
@@ -286,7 +292,7 @@ module ProcessOut
|
|
286
292
|
|
287
293
|
body = response.body
|
288
294
|
body = body["customer"]
|
289
|
-
customer = Customer(
|
295
|
+
customer = Customer.new(@client)
|
290
296
|
return_values.push(customer.fill_with_data(body))
|
291
297
|
|
292
298
|
|
@@ -296,7 +302,7 @@ module ProcessOut
|
|
296
302
|
# Get the discounts applied to the subscription.
|
297
303
|
# Params:
|
298
304
|
# +options+:: +Hash+ of options
|
299
|
-
def discounts(options =
|
305
|
+
def discounts(options = {})
|
300
306
|
request = Request.new(@client)
|
301
307
|
path = "/subscriptions/" + CGI.escape(@id) + "/discounts"
|
302
308
|
data = {
|
@@ -309,7 +315,7 @@ module ProcessOut
|
|
309
315
|
a = Array.new
|
310
316
|
body = response.body
|
311
317
|
for v in body['discounts']
|
312
|
-
tmp = Discount(@client)
|
318
|
+
tmp = Discount.new(@client)
|
313
319
|
tmp.fill_with_data(v)
|
314
320
|
a.push(tmp)
|
315
321
|
end
|
@@ -325,7 +331,7 @@ module ProcessOut
|
|
325
331
|
# Params:
|
326
332
|
# +discount_id+:: ID of the discount or coupon to be removed from the subscription
|
327
333
|
# +options+:: +Hash+ of options
|
328
|
-
def remove_discount(discount_id, options =
|
334
|
+
def remove_discount(discount_id, options = {})
|
329
335
|
request = Request.new(@client)
|
330
336
|
path = "/subscriptions/" + CGI.escape(@id) + "/discounts/" + CGI.escape(discount_id) + ""
|
331
337
|
data = {
|
@@ -349,7 +355,7 @@ module ProcessOut
|
|
349
355
|
# Get the subscriptions past transactions.
|
350
356
|
# Params:
|
351
357
|
# +options+:: +Hash+ of options
|
352
|
-
def transactions(options =
|
358
|
+
def transactions(options = {})
|
353
359
|
request = Request.new(@client)
|
354
360
|
path = "/subscriptions/" + CGI.escape(@id) + "/transactions"
|
355
361
|
data = {
|
@@ -362,7 +368,7 @@ module ProcessOut
|
|
362
368
|
a = Array.new
|
363
369
|
body = response.body
|
364
370
|
for v in body['transactions']
|
365
|
-
tmp = Transaction(@client)
|
371
|
+
tmp = Transaction.new(@client)
|
366
372
|
tmp.fill_with_data(v)
|
367
373
|
a.push(tmp)
|
368
374
|
end
|
@@ -377,7 +383,7 @@ module ProcessOut
|
|
377
383
|
# Get all the subscriptions.
|
378
384
|
# Params:
|
379
385
|
# +options+:: +Hash+ of options
|
380
|
-
def all(options =
|
386
|
+
def all(options = {})
|
381
387
|
request = Request.new(@client)
|
382
388
|
path = "/subscriptions"
|
383
389
|
data = {
|
@@ -390,7 +396,7 @@ module ProcessOut
|
|
390
396
|
a = Array.new
|
391
397
|
body = response.body
|
392
398
|
for v in body['subscriptions']
|
393
|
-
tmp = Subscription(@client)
|
399
|
+
tmp = Subscription.new(@client)
|
394
400
|
tmp.fill_with_data(v)
|
395
401
|
a.push(tmp)
|
396
402
|
end
|
@@ -406,7 +412,7 @@ module ProcessOut
|
|
406
412
|
# Params:
|
407
413
|
# +customer_id+:: ID of the customer
|
408
414
|
# +options+:: +Hash+ of options
|
409
|
-
def create(customer_id, options =
|
415
|
+
def create(customer_id, options = {})
|
410
416
|
request = Request.new(@client)
|
411
417
|
path = "/subscriptions"
|
412
418
|
data = {
|
@@ -441,7 +447,7 @@ module ProcessOut
|
|
441
447
|
# +customer_id+:: ID of the customer
|
442
448
|
# +plan_id+:: ID of the plan
|
443
449
|
# +options+:: +Hash+ of options
|
444
|
-
def create_from_plan(customer_id, plan_id, options =
|
450
|
+
def create_from_plan(customer_id, plan_id, options = {})
|
445
451
|
request = Request.new(@client)
|
446
452
|
path = "/subscriptions"
|
447
453
|
data = {
|
@@ -476,7 +482,7 @@ module ProcessOut
|
|
476
482
|
# Params:
|
477
483
|
# +subscription_id+:: ID of the subscription
|
478
484
|
# +options+:: +Hash+ of options
|
479
|
-
def find(subscription_id, options =
|
485
|
+
def find(subscription_id, options = {})
|
480
486
|
request = Request.new(@client)
|
481
487
|
path = "/subscriptions/" + CGI.escape(subscription_id) + ""
|
482
488
|
data = {
|
@@ -502,7 +508,7 @@ module ProcessOut
|
|
502
508
|
# Params:
|
503
509
|
# +prorate+:: Define if proration should be done when updating the plan
|
504
510
|
# +options+:: +Hash+ of options
|
505
|
-
def update(prorate, options =
|
511
|
+
def update(prorate, options = {})
|
506
512
|
request = Request.new(@client)
|
507
513
|
path = "/subscriptions/" + CGI.escape(@id) + ""
|
508
514
|
data = {
|
@@ -529,7 +535,7 @@ module ProcessOut
|
|
529
535
|
# +plan_id+:: ID of the new plan to be applied on the subscription
|
530
536
|
# +prorate+:: Define if proration should be done when updating the plan
|
531
537
|
# +options+:: +Hash+ of options
|
532
|
-
def update_plan(plan_id, prorate, options =
|
538
|
+
def update_plan(plan_id, prorate, options = {})
|
533
539
|
request = Request.new(@client)
|
534
540
|
path = "/subscriptions/" + CGI.escape(@id) + ""
|
535
541
|
data = {
|
@@ -555,7 +561,7 @@ module ProcessOut
|
|
555
561
|
# Params:
|
556
562
|
# +source+:: Source to be applied on the subscription and used to pay future invoices. Can be a card, a token or a gateway request
|
557
563
|
# +options+:: +Hash+ of options
|
558
|
-
def apply_source(source, options =
|
564
|
+
def apply_source(source, options = {})
|
559
565
|
request = Request.new(@client)
|
560
566
|
path = "/subscriptions/" + CGI.escape(@id) + ""
|
561
567
|
data = {
|
@@ -580,7 +586,7 @@ module ProcessOut
|
|
580
586
|
# Params:
|
581
587
|
# +cancellation_reason+:: Cancellation reason
|
582
588
|
# +options+:: +Hash+ of options
|
583
|
-
def cancel(cancellation_reason, options =
|
589
|
+
def cancel(cancellation_reason, options = {})
|
584
590
|
request = Request.new(@client)
|
585
591
|
path = "/subscriptions/" + CGI.escape(@id) + ""
|
586
592
|
data = {
|
@@ -606,7 +612,7 @@ module ProcessOut
|
|
606
612
|
# +cancel_at+:: Cancellation date, in the form of a string
|
607
613
|
# +cancellation_reason+:: Cancellation reason
|
608
614
|
# +options+:: +Hash+ of options
|
609
|
-
def cancel_at(cancel_at, cancellation_reason, options =
|
615
|
+
def cancel_at(cancel_at, cancellation_reason, options = {})
|
610
616
|
request = Request.new(@client)
|
611
617
|
path = "/subscriptions/" + CGI.escape(@id) + ""
|
612
618
|
data = {
|