recurly 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of recurly might be problematic. Click here for more details.
- data/lib/recurly.rb +1 -0
- data/lib/recurly/base.rb +92 -12
- data/lib/recurly/formats/xml_with_errors.rb +132 -0
- data/lib/recurly/version.rb +1 -1
- data/spec/config/recurly.yml +4 -4
- data/spec/integration/transaction_spec.rb +4 -3
- data/spec/vcr/account/accept-language-account/1297746103.yml +6 -6
- data/spec/vcr/account/close/1297746103.yml +17 -17
- data/spec/vcr/account/create-blank/1297746103.yml +4 -4
- data/spec/vcr/account/create-duplicate/1297746103.yml +10 -10
- data/spec/vcr/account/create-min/1297746103.yml +6 -6
- data/spec/vcr/account/create/1297746103.yml +6 -6
- data/spec/vcr/account/find/1297746103.yml +16 -16
- data/spec/vcr/account/list/1297746103.yml +204 -156
- data/spec/vcr/account/update/1297746103.yml +29 -29
- data/spec/vcr/billing/create/1298594128.yml +21 -21
- data/spec/vcr/billing/destroy/1298594128.yml +28 -28
- data/spec/vcr/billing/find/1298594128.yml +28 -28
- data/spec/vcr/billing/update/1298594128.yml +29 -29
- data/spec/vcr/charge/create/1297746103.yml +29 -29
- data/spec/vcr/charge/delete-uninvoiced/1297746103.yml +32 -32
- data/spec/vcr/charge/list-all/1297746103.yml +41 -41
- data/spec/vcr/charge/list-invoiced/1297746103.yml +68 -68
- data/spec/vcr/charge/list-pending/1297746103.yml +41 -41
- data/spec/vcr/charge/lookup/1297746103.yml +21 -21
- data/spec/vcr/coupon/create/1299714521.yml +25 -25
- data/spec/vcr/coupon/destroy/1299714521.yml +22 -22
- data/spec/vcr/credit/create/1299714599.yml +21 -21
- data/spec/vcr/credit/delete/1299714599.yml +28 -28
- data/spec/vcr/credit/list/1299714599.yml +41 -41
- data/spec/vcr/credit/lookup/1299714599.yml +21 -21
- data/spec/vcr/invoice/create-no-charges/1297746103.yml +18 -18
- data/spec/vcr/invoice/create/1297746103.yml +42 -42
- data/spec/vcr/invoice/list/1297746103.yml +61 -61
- data/spec/vcr/invoice/lookup/1297746103.yml +43 -43
- data/spec/vcr/plan/all.yml +65 -52
- data/spec/vcr/plan/find.yml +58 -34
- data/spec/vcr/plan/update.yml +28 -29
- data/spec/vcr/subscription/addons/add/1297746103.yml +293 -335
- data/spec/vcr/subscription/addons/add/1301884213.yml +480 -0
- data/spec/vcr/subscription/addons/create/1297746103.yml +134 -335
- data/spec/vcr/subscription/addons/create/1301884213.yml +321 -0
- data/spec/vcr/subscription/addons/remove/1297746103.yml +262 -335
- data/spec/vcr/subscription/addons/remove/1301884213.yml +449 -0
- data/spec/vcr/subscription/cancel-with-code/{1297746103.yml → 1301881900.yml} +104 -92
- data/spec/vcr/subscription/cancel/{1297746103.yml → 1301881900.yml} +90 -78
- data/spec/vcr/subscription/change1/{1297746103.yml → 1301881900.yml} +86 -74
- data/spec/vcr/subscription/change2/{1297746103.yml → 1301881900.yml} +86 -74
- data/spec/vcr/subscription/create/{1297746103.yml → 1301881900.yml} +50 -38
- data/spec/vcr/subscription/find/{1297746103.yml → 1301881900.yml} +62 -50
- data/spec/vcr/subscription/reactivate/{1297746103.yml → 1301881900.yml} +95 -83
- data/spec/vcr/subscription/refund-full/{1297746103.yml → 1301881900.yml} +79 -67
- data/spec/vcr/subscription/refund-none/{1297746103.yml → 1301881900.yml} +79 -67
- data/spec/vcr/subscription/refund-partial/{1297746103.yml → 1301881900.yml} +79 -67
- data/spec/vcr/transaction/all/1301883347.yml +387 -0
- data/spec/vcr/transaction/create-no-account/{1300473500.yml → 1301883347.yml} +18 -18
- data/spec/vcr/transaction/create-with-account/{1300473500.yml → 1301883347.yml} +37 -37
- data/spec/vcr/transaction/list-filled/{1300473500.yml → 1301883347.yml} +169 -169
- data/spec/vcr/transaction/list-initial/{1300473500.yml → 1301883347.yml} +39 -39
- data/spec/vcr/transaction/lookup/{1300473500.yml → 1301883347.yml} +119 -119
- data/spec/vcr/transaction/refund/{1300473500.yml → 1301883347.yml} +53 -53
- data/spec/vcr/transaction/void/1301883347.yml +365 -0
- data/spec/vcr/transparent/post-url/{1300476053.yml → 1301879142.yml} +19 -19
- metadata +66 -58
- data/spec/vcr/transaction/all/1300473500.yml +0 -387
- data/spec/vcr/transaction/void/1300473500.yml +0 -620
- data/spec/vcr/transparent/post-url/1300475927.yml +0 -41
- data/spec/vcr/transparent/post-url/1300475952.yml +0 -41
- data/spec/vcr/transparent/post-url/1300476034.yml +0 -125
- data/spec/vcr/transparent/post-url/1300476102.yml +0 -125
- data/spec/vcr/transparent/post-url/1300476126.yml +0 -125
@@ -2,7 +2,7 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
|
-
uri: http://api-test-
|
5
|
+
uri: http://api-test%40hello-test.com:50a5b8a69a2545db84ac4112ba8cac6f@app.recurly.local:3000/accounts.xml
|
6
6
|
body: |
|
7
7
|
<?xml version="1.0" encoding="UTF-8"?>
|
8
8
|
<account>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
headers:
|
22
22
|
authorization:
|
23
|
-
- Basic
|
23
|
+
- Basic YXBpLXRlc3RAaGVsbG8tdGVzdC5jb206NTBhNWI4YTY5YTI1NDVkYjg0YWM0MTEyYmE4Y2FjNmY=
|
24
24
|
content-type:
|
25
25
|
- application/xml
|
26
26
|
accept:
|
@@ -39,13 +39,13 @@
|
|
39
39
|
location:
|
40
40
|
- http://app.recurly.local:3000/accounts/subscription-addons-create-1297746103
|
41
41
|
x-runtime:
|
42
|
-
- "
|
42
|
+
- "336"
|
43
43
|
content-type:
|
44
44
|
- application/xml; charset=utf-8
|
45
45
|
content-length:
|
46
46
|
- "607"
|
47
47
|
set-cookie:
|
48
|
-
- _recurly_session=
|
48
|
+
- _recurly_session=f59011ae2ec0875ee7e217d19cb86219; domain=.recurly.local; path=/; HttpOnly
|
49
49
|
connection:
|
50
50
|
- close
|
51
51
|
server:
|
@@ -62,8 +62,8 @@
|
|
62
62
|
<company_name>Recurly Ruby Gem</company_name>
|
63
63
|
<balance_in_cents type="integer">0</balance_in_cents>
|
64
64
|
<closed type="boolean">false</closed>
|
65
|
-
<hosted_login_token>
|
66
|
-
<created_at type="datetime">2011-
|
65
|
+
<hosted_login_token>337af8a5a7af48b2856a212822ba49a8</hosted_login_token>
|
66
|
+
<created_at type="datetime">2011-04-04T02:17:59Z</created_at>
|
67
67
|
<state>active</state>
|
68
68
|
</account>
|
69
69
|
|
@@ -71,11 +71,11 @@
|
|
71
71
|
- !ruby/struct:VCR::HTTPInteraction
|
72
72
|
request: !ruby/struct:VCR::Request
|
73
73
|
method: :get
|
74
|
-
uri: http://api-test-
|
74
|
+
uri: http://api-test%40hello-test.com:50a5b8a69a2545db84ac4112ba8cac6f@app.recurly.local:3000/company/plans/paid.xml
|
75
75
|
body:
|
76
76
|
headers:
|
77
77
|
authorization:
|
78
|
-
- Basic
|
78
|
+
- Basic YXBpLXRlc3RAaGVsbG8tdGVzdC5jb206NTBhNWI4YTY5YTI1NDVkYjg0YWM0MTEyYmE4Y2FjNmY=
|
79
79
|
accept:
|
80
80
|
- application/xml
|
81
81
|
accept-encoding:
|
@@ -90,17 +90,17 @@
|
|
90
90
|
message: OK
|
91
91
|
headers:
|
92
92
|
x-runtime:
|
93
|
-
- "
|
93
|
+
- "309"
|
94
94
|
content-type:
|
95
95
|
- application/xml; charset=utf-8
|
96
96
|
etag:
|
97
|
-
- "\"
|
97
|
+
- "\"eea146faf9def8e0ad1bce0a43411f13\""
|
98
98
|
cache-control:
|
99
99
|
- private, max-age=0, must-revalidate
|
100
100
|
content-length:
|
101
|
-
- "
|
101
|
+
- "1558"
|
102
102
|
set-cookie:
|
103
|
-
- _recurly_session=
|
103
|
+
- _recurly_session=0a030a9a1e1e2f772774619844283d04; domain=.recurly.local; path=/; HttpOnly
|
104
104
|
connection:
|
105
105
|
- close
|
106
106
|
server:
|
@@ -113,30 +113,42 @@
|
|
113
113
|
<description></description>
|
114
114
|
<success_url></success_url>
|
115
115
|
<cancel_url></cancel_url>
|
116
|
-
<created_at type="datetime">2011-
|
117
|
-
<unit_amount_in_cents type="integer">
|
116
|
+
<created_at type="datetime">2011-04-03T21:46:48Z</created_at>
|
117
|
+
<unit_amount_in_cents type="integer">200</unit_amount_in_cents>
|
118
118
|
<setup_fee_in_cents type="integer">0</setup_fee_in_cents>
|
119
119
|
<plan_interval_length type="integer">1</plan_interval_length>
|
120
|
-
<plan_interval_unit>
|
120
|
+
<plan_interval_unit>months</plan_interval_unit>
|
121
121
|
<trial_interval_length type="integer">0</trial_interval_length>
|
122
122
|
<trial_interval_unit>months</trial_interval_unit>
|
123
123
|
<latest_version depreciated="true">
|
124
124
|
<version type="integer">1</version>
|
125
|
-
<unit_amount_in_cents type="integer">
|
125
|
+
<unit_amount_in_cents type="integer">200</unit_amount_in_cents>
|
126
126
|
<setup_fee_in_cents type="integer">0</setup_fee_in_cents>
|
127
127
|
<plan_interval_length type="integer">1</plan_interval_length>
|
128
|
-
<plan_interval_unit>
|
128
|
+
<plan_interval_unit>months</plan_interval_unit>
|
129
129
|
<trial_interval_length type="integer">0</trial_interval_length>
|
130
130
|
<trial_interval_unit>months</trial_interval_unit>
|
131
|
-
<created_at type="datetime">2011-
|
131
|
+
<created_at type="datetime">2011-04-04T02:15:00Z</created_at>
|
132
132
|
</latest_version>
|
133
|
+
<add_ons type="array">
|
134
|
+
<add_on>
|
135
|
+
<add_on_code>special</add_on_code>
|
136
|
+
<default_unit_amount_in_cents>1000</default_unit_amount_in_cents>
|
137
|
+
<default_quantity>1</default_quantity>
|
138
|
+
</add_on>
|
139
|
+
<add_on>
|
140
|
+
<add_on_code>special2</add_on_code>
|
141
|
+
<default_unit_amount_in_cents>50000</default_unit_amount_in_cents>
|
142
|
+
<default_quantity>1</default_quantity>
|
143
|
+
</add_on>
|
144
|
+
</add_ons>
|
133
145
|
</plan>
|
134
146
|
|
135
147
|
http_version: "1.1"
|
136
148
|
- !ruby/struct:VCR::HTTPInteraction
|
137
149
|
request: !ruby/struct:VCR::Request
|
138
150
|
method: :post
|
139
|
-
uri: http://api-test-
|
151
|
+
uri: http://api-test%40hello-test.com:50a5b8a69a2545db84ac4112ba8cac6f@app.recurly.local:3000/accounts/subscription-addons-create-1297746103/subscription.xml
|
140
152
|
body: |
|
141
153
|
<?xml version="1.0" encoding="UTF-8"?>
|
142
154
|
<subscription>
|
@@ -159,7 +171,7 @@
|
|
159
171
|
<credit-card>
|
160
172
|
<number>4111111111111111</number>
|
161
173
|
<year type="integer">2012</year>
|
162
|
-
<month type="integer">
|
174
|
+
<month type="integer">4</month>
|
163
175
|
<verification-value>123</verification-value>
|
164
176
|
</credit-card>
|
165
177
|
</billing-info>
|
@@ -168,8 +180,8 @@
|
|
168
180
|
<username type="yaml" nil="true"></username>
|
169
181
|
<balance-in-cents type="integer">0</balance-in-cents>
|
170
182
|
<closed type="boolean">false</closed>
|
171
|
-
<hosted-login-token>
|
172
|
-
<created-at type="datetime">2011-
|
183
|
+
<hosted-login-token>337af8a5a7af48b2856a212822ba49a8</hosted-login-token>
|
184
|
+
<created-at type="datetime">2011-04-04T02:17:59Z</created-at>
|
173
185
|
<state>active</state>
|
174
186
|
</account>
|
175
187
|
<add-ons type="array">
|
@@ -184,7 +196,7 @@
|
|
184
196
|
|
185
197
|
headers:
|
186
198
|
authorization:
|
187
|
-
- Basic
|
199
|
+
- Basic YXBpLXRlc3RAaGVsbG8tdGVzdC5jb206NTBhNWI4YTY5YTI1NDVkYjg0YWM0MTEyYmE4Y2FjNmY=
|
188
200
|
content-type:
|
189
201
|
- application/xml
|
190
202
|
accept:
|
@@ -195,328 +207,115 @@
|
|
195
207
|
- close
|
196
208
|
response: !ruby/struct:VCR::Response
|
197
209
|
status: !ruby/struct:VCR::ResponseStatus
|
198
|
-
code:
|
199
|
-
message:
|
210
|
+
code: 201
|
211
|
+
message: Created
|
200
212
|
headers:
|
201
213
|
cache-control:
|
202
214
|
- no-cache
|
215
|
+
x-runtime:
|
216
|
+
- "5165"
|
217
|
+
content-type:
|
218
|
+
- application/xml; charset=utf-8
|
219
|
+
content-length:
|
220
|
+
- "1105"
|
221
|
+
set-cookie:
|
222
|
+
- _recurly_session=50b766478217dad3544920df25605a31; domain=.recurly.local; path=/; HttpOnly
|
223
|
+
connection:
|
224
|
+
- close
|
225
|
+
server:
|
226
|
+
- thin 1.2.7 codename No Hup
|
227
|
+
body: |
|
228
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
229
|
+
<subscription>
|
230
|
+
<id>subscription-addons-create-1297746103</id>
|
231
|
+
<account_code>subscription-addons-create-1297746103</account_code>
|
232
|
+
<plan>
|
233
|
+
<plan_code>paid</plan_code>
|
234
|
+
<name>Paid</name>
|
235
|
+
</plan>
|
236
|
+
<state>active</state>
|
237
|
+
<quantity type="integer">1</quantity>
|
238
|
+
<total_amount_in_cents type="integer">1200</total_amount_in_cents>
|
239
|
+
<activated_at type="datetime">2011-04-04T02:18:04Z</activated_at>
|
240
|
+
<canceled_at nil="true" type="datetime"></canceled_at>
|
241
|
+
<expires_at nil="true" type="datetime"></expires_at>
|
242
|
+
<current_period_started_at type="datetime">2011-04-04T02:18:04Z</current_period_started_at>
|
243
|
+
<current_period_ends_at type="datetime">2011-05-04T02:18:04Z</current_period_ends_at>
|
244
|
+
<trial_started_at nil="true" type="datetime"></trial_started_at>
|
245
|
+
<trial_ends_at nil="true" type="datetime"></trial_ends_at>
|
246
|
+
<add_ons type="array">
|
247
|
+
<add_on>
|
248
|
+
<add_on_code>special</add_on_code>
|
249
|
+
<unit_amount_in_cents type="integer">1000</unit_amount_in_cents>
|
250
|
+
<quantity type="integer">1</quantity>
|
251
|
+
</add_on>
|
252
|
+
</add_ons>
|
253
|
+
</subscription>
|
254
|
+
|
255
|
+
http_version: "1.1"
|
256
|
+
- !ruby/struct:VCR::HTTPInteraction
|
257
|
+
request: !ruby/struct:VCR::Request
|
258
|
+
method: :get
|
259
|
+
uri: http://api-test%40hello-test.com:50a5b8a69a2545db84ac4112ba8cac6f@app.recurly.local:3000/accounts/subscription-addons-create-1297746103/subscription.xml
|
260
|
+
body:
|
261
|
+
headers:
|
262
|
+
authorization:
|
263
|
+
- Basic YXBpLXRlc3RAaGVsbG8tdGVzdC5jb206NTBhNWI4YTY5YTI1NDVkYjg0YWM0MTEyYmE4Y2FjNmY=
|
264
|
+
accept:
|
265
|
+
- application/xml
|
266
|
+
accept-encoding:
|
267
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
268
|
+
user-agent:
|
269
|
+
- Ruby
|
270
|
+
connection:
|
271
|
+
- close
|
272
|
+
response: !ruby/struct:VCR::Response
|
273
|
+
status: !ruby/struct:VCR::ResponseStatus
|
274
|
+
code: 200
|
275
|
+
message: OK
|
276
|
+
headers:
|
277
|
+
x-runtime:
|
278
|
+
- "736"
|
203
279
|
content-type:
|
204
|
-
-
|
280
|
+
- application/xml; charset=utf-8
|
281
|
+
etag:
|
282
|
+
- "\"6469d20fd09efcf27f101c54f7b8e1b7\""
|
283
|
+
cache-control:
|
284
|
+
- private, max-age=0, must-revalidate
|
205
285
|
content-length:
|
206
|
-
- "
|
286
|
+
- "1105"
|
207
287
|
set-cookie:
|
208
|
-
- _recurly_session=
|
288
|
+
- _recurly_session=f02d070c2fb55e697787eaf290b85a92; domain=.recurly.local; path=/; HttpOnly
|
209
289
|
connection:
|
210
290
|
- close
|
211
291
|
server:
|
212
292
|
- thin 1.2.7 codename No Hup
|
213
293
|
body: |
|
214
|
-
|
215
|
-
<
|
216
|
-
<
|
217
|
-
<
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
NoMethodError
|
241
|
-
|
242
|
-
in Accounts/subscriptionController#create
|
243
|
-
|
244
|
-
</h1>
|
245
|
-
<pre>You have a nil object when you didn't expect it!
|
246
|
-
You might have expected an instance of Array.
|
247
|
-
The error occurred while evaluating nil.slice</pre>
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
<p><code>RAILS_ROOT: /Users/isaac/Development/recurly/app</code></p>
|
252
|
-
|
253
|
-
<div id="traces">
|
254
|
-
|
255
|
-
|
256
|
-
<a href="#" onclick="document.getElementById('Framework-Trace').style.display='none';document.getElementById('Full-Trace').style.display='none';document.getElementById('Application-Trace').style.display='block';; return false;">Application Trace</a> |
|
257
|
-
|
258
|
-
|
259
|
-
<a href="#" onclick="document.getElementById('Application-Trace').style.display='none';document.getElementById('Full-Trace').style.display='none';document.getElementById('Framework-Trace').style.display='block';; return false;">Framework Trace</a> |
|
260
|
-
|
261
|
-
|
262
|
-
<a href="#" onclick="document.getElementById('Application-Trace').style.display='none';document.getElementById('Framework-Trace').style.display='none';document.getElementById('Full-Trace').style.display='block';; return false;">Full Trace</a>
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
<div id="Application-Trace" style="display: block;">
|
267
|
-
<pre><code>/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:23:in `block in sanitize_params'
|
268
|
-
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `collect'
|
269
|
-
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `sanitize_params'
|
270
|
-
/Users/isaac/Development/recurly/app/app/controllers/accounts/subscription_controller.rb:250:in `init_account_and_billing_info'</code></pre>
|
271
|
-
</div>
|
272
|
-
|
273
|
-
<div id="Framework-Trace" style="display: none;">
|
274
|
-
<pre><code>/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:178:in `evaluate_method'
|
275
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:166:in `call'
|
276
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:225:in `call'
|
277
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:629:in `run_before_filters'
|
278
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:615:in `call_filters'
|
279
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
|
280
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
|
281
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
|
282
|
-
/Users/isaac/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'
|
283
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `ms'
|
284
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
|
285
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/rescue.rb:160:in `perform_action_with_rescue'
|
286
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/flash.rb:151:in `perform_action_with_flash'
|
287
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:532:in `process'
|
288
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:606:in `process_with_filters'
|
289
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/compass-0.10.6/lib/compass/app_integration/rails/actionpack2/action_controller.rb:7:in `process_with_compass'
|
290
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:391:in `process'
|
291
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:386:in `call'
|
292
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/routing/route_set.rb:438:in `call'
|
293
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:87:in `dispatch'
|
294
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:121:in `_call'
|
295
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:130:in `block in build_middleware_stack'
|
296
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `call'
|
297
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `block in call'
|
298
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
|
299
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:9:in `cache'
|
300
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:28:in `call'
|
301
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
|
302
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/haml-3.0.25/lib/sass/plugin/rack.rb:41:in `call'
|
303
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/string_coercion.rb:25:in `call'
|
304
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/head.rb:9:in `call'
|
305
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/methodoverride.rb:24:in `call'
|
306
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/params_parser.rb:15:in `call'
|
307
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/session/abstract_store.rb:177:in `call'
|
308
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/cache/strategy/local_cache.rb:25:in `call'
|
309
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/rack.rb:27:in `call'
|
310
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/failsafe.rb:26:in `call'
|
311
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/user_informer.rb:12:in `call'
|
312
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:114:in `block in call'
|
313
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/reloader.rb:34:in `run'
|
314
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:108:in `call'
|
315
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/rack/fiber_pool.rb:19:in `block in call'
|
316
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `call'
|
317
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `block (3 levels) in initialize'
|
318
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `loop'
|
319
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `block (2 levels) in initialize'</code></pre>
|
320
|
-
</div>
|
321
|
-
|
322
|
-
<div id="Full-Trace" style="display: none;">
|
323
|
-
<pre><code>/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:23:in `block in sanitize_params'
|
324
|
-
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `collect'
|
325
|
-
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `sanitize_params'
|
326
|
-
/Users/isaac/Development/recurly/app/app/controllers/accounts/subscription_controller.rb:250:in `init_account_and_billing_info'
|
327
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:178:in `evaluate_method'
|
328
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:166:in `call'
|
329
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:225:in `call'
|
330
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:629:in `run_before_filters'
|
331
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:615:in `call_filters'
|
332
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
|
333
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
|
334
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
|
335
|
-
/Users/isaac/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'
|
336
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `ms'
|
337
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
|
338
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/rescue.rb:160:in `perform_action_with_rescue'
|
339
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/flash.rb:151:in `perform_action_with_flash'
|
340
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:532:in `process'
|
341
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:606:in `process_with_filters'
|
342
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/compass-0.10.6/lib/compass/app_integration/rails/actionpack2/action_controller.rb:7:in `process_with_compass'
|
343
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:391:in `process'
|
344
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:386:in `call'
|
345
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/routing/route_set.rb:438:in `call'
|
346
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:87:in `dispatch'
|
347
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:121:in `_call'
|
348
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:130:in `block in build_middleware_stack'
|
349
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `call'
|
350
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `block in call'
|
351
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
|
352
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:9:in `cache'
|
353
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:28:in `call'
|
354
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
|
355
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/haml-3.0.25/lib/sass/plugin/rack.rb:41:in `call'
|
356
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/string_coercion.rb:25:in `call'
|
357
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/head.rb:9:in `call'
|
358
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/methodoverride.rb:24:in `call'
|
359
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/params_parser.rb:15:in `call'
|
360
|
-
/Users/isaac/Development/recurly/app/lib/xml_request_check.rb:10:in `call'
|
361
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/session/abstract_store.rb:177:in `call'
|
362
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/cache/strategy/local_cache.rb:25:in `call'
|
363
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/rack.rb:27:in `call'
|
364
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/failsafe.rb:26:in `call'
|
365
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/user_informer.rb:12:in `call'
|
366
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:114:in `block in call'
|
367
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/reloader.rb:34:in `run'
|
368
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:108:in `call'
|
369
|
-
/Users/isaac/Development/recurly/app/lib/rack_rails_check.rb:16:in `call'
|
370
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/rack/fiber_pool.rb:19:in `block in call'
|
371
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `call'
|
372
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `block (3 levels) in initialize'
|
373
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `loop'
|
374
|
-
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `block (2 levels) in initialize'</code></pre>
|
375
|
-
</div>
|
376
|
-
|
377
|
-
</div>
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
<h2 style="margin-top: 30px">Request</h2>
|
385
|
-
<p><b>Parameters</b>: <pre>{"subscription"=>{"plan_code"=>"paid",
|
386
|
-
"quantity"=>1,
|
387
|
-
"account"=>{"account_code"=>"subscription-addons-create-1297746103",
|
388
|
-
"first_name"=>"Verena",
|
389
|
-
"last_name"=>"Test",
|
390
|
-
"email"=>"verena@test.com",
|
391
|
-
"company_name"=>"Recurly Ruby Gem",
|
392
|
-
"billing_info"=>{"first_name"=>"Verena",
|
393
|
-
"last_name"=>"Test",
|
394
|
-
"address1"=>"123 Test St",
|
395
|
-
"city"=>"San Francisco",
|
396
|
-
"state"=>"CA",
|
397
|
-
"zip"=>"94115",
|
398
|
-
"country"=>"US",
|
399
|
-
"credit_card"=>{"number"=>"4111111111111111",
|
400
|
-
"year"=>2012,
|
401
|
-
"month"=>3,
|
402
|
-
"verification_value"=>"123"}},
|
403
|
-
"accept_language"=>nil,
|
404
|
-
"id"=>"subscription-addons-create-1297746103",
|
405
|
-
"username"=>nil,
|
406
|
-
"balance_in_cents"=>0,
|
407
|
-
"closed"=>false,
|
408
|
-
"hosted_login_token"=>"37e8e0fc0e5840168d9a1aa69ee453bc",
|
409
|
-
"created_at"=>2011-03-18 18:47:38 UTC,
|
410
|
-
"state"=>"active"},
|
411
|
-
"add_ons"=>[{"add_on_code"=>"special",
|
412
|
-
"quantity"=>1,
|
413
|
-
"unit_amount"=>10}],
|
414
|
-
"addons"=>[]},
|
415
|
-
"account_id"=>"subscription-addons-create-1297746103",
|
416
|
-
"format"=>"xml"}</pre></p>
|
417
|
-
|
418
|
-
<p><a href="#" onclick="document.getElementById('session_dump').style.display='block'; return false;">Show session dump</a></p>
|
419
|
-
<div id="session_dump" style="display:none"><pre class='debug_dump'>---
|
420
|
-
</pre></div>
|
421
|
-
|
422
|
-
|
423
|
-
<h2 style="margin-top: 30px">Response</h2>
|
424
|
-
<p><b>Headers</b>: <pre>{"Cache-Control"=>"no-cache",
|
425
|
-
"Content-Type"=>""}</pre></p>
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
</body>
|
430
|
-
</html><script type="text/javascript">
|
431
|
-
var Hoptoad = {
|
432
|
-
host : "hoptoadapp.com",
|
433
|
-
api_key : "2de5471006eea4f5e5711302a6d2c4fc",
|
434
|
-
notice : {"action":"create","component":"accounts/subscription","error_class":"NoMethodError","environment_name":"production","file":"[PROJECT_ROOT]/app/api/subscription_api.rb","line_number":"23"},
|
435
|
-
message : 'This error exists in production!',
|
436
|
-
|
437
|
-
initialize: function() {
|
438
|
-
if (this.initialized) {
|
439
|
-
return;
|
440
|
-
} else {
|
441
|
-
this.initialized = true;
|
442
|
-
}
|
443
|
-
|
444
|
-
var data = [];
|
445
|
-
|
446
|
-
for (var key in this.notice) {
|
447
|
-
data[data.length] = 'notice[' + key + ']=' + this.notice[key];
|
448
|
-
}
|
449
|
-
|
450
|
-
data[data.length] = 'notice[api_key]=' + this.api_key;
|
451
|
-
data[data.length] = 'callback=Hoptoad.onSuccess';
|
452
|
-
data[data.length] = '_=' + (new Date()).getTime();
|
453
|
-
|
454
|
-
var head = document.getElementsByTagName('head')[0];
|
455
|
-
var done = false;
|
456
|
-
|
457
|
-
var
|
458
|
-
script = document.createElement('script');
|
459
|
-
script.src = 'http://' + this.host + '/notices_api/v1/notices/exist?' +
|
460
|
-
data.join('&');
|
461
|
-
script.type = 'text/javascript';
|
462
|
-
script.onload = script.onreadystatechange = function(){
|
463
|
-
if (!done && (!this.readyState ||
|
464
|
-
this.readyState == 'loaded' || this.readyState == 'complete')) {
|
465
|
-
|
466
|
-
done = true;
|
467
|
-
|
468
|
-
// Handle memory leak in IE. (via jQuery)
|
469
|
-
script.onload = script.onreadystatechange = null;
|
470
|
-
head.removeChild(script);
|
471
|
-
}
|
472
|
-
};
|
473
|
-
|
474
|
-
head.appendChild(script);
|
475
|
-
},
|
476
|
-
|
477
|
-
onSuccess: function(error) {
|
478
|
-
var body = document.getElementsByTagName('body')[0];
|
479
|
-
var text = document.createTextNode(this.message);
|
480
|
-
var element = document.createElement('a');
|
481
|
-
|
482
|
-
element.id = 'hoptoad';
|
483
|
-
element.href = 'http://' + error.subdomain + '.' + this.host +
|
484
|
-
'/projects/' + error.project_id + '/errors/' + error.id;
|
485
|
-
element.appendChild(text);
|
486
|
-
|
487
|
-
body.insertBefore(element, body.firstChild);
|
488
|
-
|
489
|
-
var h1 = document.getElementsByTagName('h1')[0];
|
490
|
-
var pre = document.getElementsByTagName('pre')[0];
|
491
|
-
var wrapper = document.createElement('div');
|
492
|
-
|
493
|
-
wrapper.id = 'wrapper';
|
494
|
-
wrapper.appendChild(h1);
|
495
|
-
wrapper.appendChild(pre);
|
496
|
-
|
497
|
-
body.insertBefore(wrapper, body.children[1]);
|
498
|
-
}
|
499
|
-
};
|
500
|
-
|
501
|
-
window.onload = function() {
|
502
|
-
Hoptoad.initialize.apply(Hoptoad);
|
503
|
-
};
|
504
|
-
</script>
|
505
|
-
|
506
|
-
<style type="text/css">
|
507
|
-
#hoptoad {
|
508
|
-
background: #FFF url(http://hoptoadapp.com/images/fell-off-the-toad.gif) no-repeat top right;
|
509
|
-
color: #F00;
|
510
|
-
padding: 45px 101px 45px 12px;
|
511
|
-
font-size: 14px;
|
512
|
-
font-weight: bold;
|
513
|
-
display: block;
|
514
|
-
float: right;
|
515
|
-
}
|
516
|
-
|
517
|
-
#wrapper {
|
518
|
-
padding-right: 360px;
|
519
|
-
}
|
520
|
-
</style>
|
294
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
295
|
+
<subscription>
|
296
|
+
<id>subscription-addons-create-1297746103</id>
|
297
|
+
<account_code>subscription-addons-create-1297746103</account_code>
|
298
|
+
<plan>
|
299
|
+
<plan_code>paid</plan_code>
|
300
|
+
<name>Paid</name>
|
301
|
+
</plan>
|
302
|
+
<state>active</state>
|
303
|
+
<quantity type="integer">1</quantity>
|
304
|
+
<total_amount_in_cents type="integer">1200</total_amount_in_cents>
|
305
|
+
<activated_at type="datetime">2011-04-04T02:18:04Z</activated_at>
|
306
|
+
<canceled_at nil="true" type="datetime"></canceled_at>
|
307
|
+
<expires_at nil="true" type="datetime"></expires_at>
|
308
|
+
<current_period_started_at type="datetime">2011-04-04T02:18:04Z</current_period_started_at>
|
309
|
+
<current_period_ends_at type="datetime">2011-05-04T02:18:04Z</current_period_ends_at>
|
310
|
+
<trial_started_at nil="true" type="datetime"></trial_started_at>
|
311
|
+
<trial_ends_at nil="true" type="datetime"></trial_ends_at>
|
312
|
+
<add_ons type="array">
|
313
|
+
<add_on>
|
314
|
+
<add_on_code>special</add_on_code>
|
315
|
+
<unit_amount_in_cents type="integer">1000</unit_amount_in_cents>
|
316
|
+
<quantity type="integer">1</quantity>
|
317
|
+
</add_on>
|
318
|
+
</add_ons>
|
319
|
+
</subscription>
|
521
320
|
|
522
321
|
http_version: "1.1"
|