stripe 1.7.3 → 1.7.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +1 -0
- data/Gemfile.lock +1 -1
- data/History.txt +5 -0
- data/VERSION +1 -1
- data/lib/stripe.rb +2 -2
- data/lib/stripe/version.rb +1 -1
- data/test/test_helper.rb +52 -0
- data/test/test_stripe.rb +19 -1
- metadata +4 -4
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
data/History.txt
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.7.
|
1
|
+
1.7.4
|
data/lib/stripe.rb
CHANGED
@@ -77,7 +77,7 @@ module Stripe
|
|
77
77
|
@@verify_ssl_certs
|
78
78
|
end
|
79
79
|
|
80
|
-
def self.request(method, url, api_key, params=
|
80
|
+
def self.request(method, url, api_key, params={}, headers={})
|
81
81
|
api_key ||= @@api_key
|
82
82
|
raise AuthenticationError.new('No API key provided. (HINT: set your API key using "Stripe.api_key = <API-KEY>". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email support@stripe.com if you have any questions.)') unless api_key
|
83
83
|
|
@@ -115,7 +115,7 @@ module Stripe
|
|
115
115
|
case method.to_s.downcase.to_sym
|
116
116
|
when :get, :head, :delete
|
117
117
|
# Make params into GET parameters
|
118
|
-
if params && params.count
|
118
|
+
if params && params.count > 0
|
119
119
|
query_string = Util.flatten_params(params).collect{|key, value| "#{key}=#{Util.url_encode(value)}"}.join('&')
|
120
120
|
url += "?#{query_string}"
|
121
121
|
end
|
data/lib/stripe/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -129,6 +129,58 @@ def test_subscription(plan_id="gold")
|
|
129
129
|
}
|
130
130
|
end
|
131
131
|
|
132
|
+
def test_invoice
|
133
|
+
{
|
134
|
+
:id => 'in_test_invoice',
|
135
|
+
:object => 'invoice',
|
136
|
+
:livemode => false,
|
137
|
+
:amount_due => 1000,
|
138
|
+
:attempt_count => 0,
|
139
|
+
:attempted => false,
|
140
|
+
:closed => false,
|
141
|
+
:currency => 'usd',
|
142
|
+
:customer => 'c_test_customer',
|
143
|
+
:date => 1349738950,
|
144
|
+
:lines => {
|
145
|
+
"invoiceitems" => [
|
146
|
+
{
|
147
|
+
:id => 'ii_test_invoice_item',
|
148
|
+
:object => '',
|
149
|
+
:livemode => false,
|
150
|
+
:amount => 1000,
|
151
|
+
:currency => 'usd',
|
152
|
+
:customer => 'c_test_customer',
|
153
|
+
:date => 1349738950,
|
154
|
+
:description => "A Test Invoice Item",
|
155
|
+
:invoice => 'in_test_invoice'
|
156
|
+
},
|
157
|
+
],
|
158
|
+
},
|
159
|
+
:paid => false,
|
160
|
+
:period_end => 1349738950,
|
161
|
+
:period_start => 1349738950,
|
162
|
+
:starting_balance => 0,
|
163
|
+
:subtotal => 1000,
|
164
|
+
:total => 1000,
|
165
|
+
:charge => nil,
|
166
|
+
:discount => nil,
|
167
|
+
:ending_balance => nil,
|
168
|
+
:next_payemnt_attempt => 1349825350,
|
169
|
+
}
|
170
|
+
end
|
171
|
+
|
172
|
+
def test_paid_invoice
|
173
|
+
test_invoice.merge({
|
174
|
+
:attempt_count => 1,
|
175
|
+
:attempted => true,
|
176
|
+
:closed => true,
|
177
|
+
:paid => true,
|
178
|
+
:charge => 'ch_test_charge',
|
179
|
+
:ending_balance => 0,
|
180
|
+
:next_payment_attempt => nil,
|
181
|
+
})
|
182
|
+
end
|
183
|
+
|
132
184
|
def test_invalid_api_key_error
|
133
185
|
{
|
134
186
|
"error" => {
|
data/test/test_stripe.rb
CHANGED
@@ -410,7 +410,7 @@ class TestStripeRuby < Test::Unit::TestCase
|
|
410
410
|
@mock.expects(:delete).once.with("https://api.stripe.com/v1/customers/c_test_customer/subscription?at_period_end=true", nil, nil).returns(test_response(test_subscription('silver')))
|
411
411
|
s = c.cancel_subscription({:at_period_end => 'true'})
|
412
412
|
|
413
|
-
@mock.expects(:delete).once.with("https://api.stripe.com/v1/customers/c_test_customer/subscription
|
413
|
+
@mock.expects(:delete).once.with("https://api.stripe.com/v1/customers/c_test_customer/subscription", nil, nil).returns(test_response(test_subscription('silver')))
|
414
414
|
s = c.cancel_subscription
|
415
415
|
end
|
416
416
|
|
@@ -434,6 +434,24 @@ class TestStripeRuby < Test::Unit::TestCase
|
|
434
434
|
assert_equal "co_test_coupon", c.id
|
435
435
|
end
|
436
436
|
end
|
437
|
+
|
438
|
+
context "invoice tests" do
|
439
|
+
should "retrieve should retrieve invoices" do
|
440
|
+
@mock.expects(:get).once.returns(test_response(test_invoice))
|
441
|
+
i = Stripe::Invoice.retrieve('in_test_invoice')
|
442
|
+
assert_equal 'in_test_invoice', i.id
|
443
|
+
end
|
444
|
+
|
445
|
+
should "pay should pay an invoice" do
|
446
|
+
@mock.expects(:get).once.returns(test_response(test_invoice))
|
447
|
+
i = Stripe::Invoice.retrieve('in_test_invoice')
|
448
|
+
|
449
|
+
@mock.expects(:post).once.with('https://api.stripe.com/v1/invoices/in_test_invoice/pay', nil, '').returns(test_response(test_paid_invoice))
|
450
|
+
i.pay
|
451
|
+
assert_equal i.next_payment_attempt, nil
|
452
|
+
end
|
453
|
+
end
|
454
|
+
|
437
455
|
context "error checking" do
|
438
456
|
|
439
457
|
should "404s should raise an InvalidRequestError" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 1.7.
|
9
|
+
- 4
|
10
|
+
version: 1.7.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ross Boucher
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-09
|
19
|
+
date: 2012-10-09 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
prerelease: false
|