stripe 1.11.0 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/README.rdoc +1 -1
- data/VERSION +1 -1
- data/lib/stripe/card.rb +5 -1
- data/lib/stripe/certificate_blacklist.rb +8 -0
- data/lib/stripe/version.rb +1 -1
- data/test/stripe/customer_card_test.rb +57 -0
- data/test/stripe/recipient_card_test.rb +57 -0
- data/test/test_helper.rb +3 -0
- metadata +7 -2
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= Stripe Ruby bindings {<img src="https://gemnasium.com/stripe/stripe-ruby.png" alt="Dependency Status" />}[https://gemnasium.com/stripe/stripe-ruby]
|
1
|
+
= Stripe Ruby bindings {<img src="https://travis-ci.org/stripe/stripe-ruby.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/stripe/stripe-ruby] {<img src="https://gemnasium.com/stripe/stripe-ruby.png" alt="Dependency Status" />}[https://gemnasium.com/stripe/stripe-ruby]
|
2
2
|
|
3
3
|
== Installation
|
4
4
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.12.0
|
data/lib/stripe/card.rb
CHANGED
@@ -5,7 +5,11 @@ module Stripe
|
|
5
5
|
include Stripe::APIOperations::List
|
6
6
|
|
7
7
|
def url
|
8
|
-
|
8
|
+
if respond_to?(:recipient)
|
9
|
+
"#{Recipient.url}/#{CGI.escape(recipient)}/cards/#{CGI.escape(id)}"
|
10
|
+
elsif respond_to?(:customer)
|
11
|
+
"#{Customer.url}/#{CGI.escape(customer)}/cards/#{CGI.escape(id)}"
|
12
|
+
end
|
9
13
|
end
|
10
14
|
|
11
15
|
def self.retrieve(id, api_key=nil)
|
@@ -13,6 +13,14 @@ module Stripe
|
|
13
13
|
]
|
14
14
|
}
|
15
15
|
|
16
|
+
# Preflight the SSL certificate presented by the backend. This isn't 100%
|
17
|
+
# bulletproof, in that we're not actually validating the transport used to
|
18
|
+
# communicate with Stripe, merely that the first attempt to does not use a
|
19
|
+
# revoked certificate.
|
20
|
+
|
21
|
+
# Unfortunately the interface to OpenSSL doesn't make it easy to check the
|
22
|
+
# certificate before sending potentially sensitive data on the wire. This
|
23
|
+
# approach raises the bar for an attacker significantly.
|
16
24
|
|
17
25
|
def self.check_ssl_cert(uri, ca_file)
|
18
26
|
uri = URI.parse(uri)
|
data/lib/stripe/version.rb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Stripe
|
4
|
+
class CustomerCardTest < Test::Unit::TestCase
|
5
|
+
CUSTOMER_CARD_URL = '/v1/customers/test_customer/cards/test_card'
|
6
|
+
|
7
|
+
def customer
|
8
|
+
@mock.expects(:get).once.returns(test_response(test_customer))
|
9
|
+
Stripe::Customer.retrieve('test_customer')
|
10
|
+
end
|
11
|
+
|
12
|
+
should "customer cards should be listable" do
|
13
|
+
c = customer
|
14
|
+
@mock.expects(:get).once.returns(test_response(test_card_array(customer.id)))
|
15
|
+
cards = c.cards.all.data
|
16
|
+
assert cards.kind_of? Array
|
17
|
+
assert cards[0].kind_of? Stripe::Card
|
18
|
+
end
|
19
|
+
|
20
|
+
should "customer cards should have the correct url" do
|
21
|
+
c = customer
|
22
|
+
@mock.expects(:get).once.returns(test_response(test_card(
|
23
|
+
:id => 'test_card',
|
24
|
+
:customer => 'test_customer'
|
25
|
+
)))
|
26
|
+
card = c.cards.retrieve('card')
|
27
|
+
assert_equal CUSTOMER_CARD_URL, card.url
|
28
|
+
end
|
29
|
+
|
30
|
+
should "customer cards should be deletable" do
|
31
|
+
c = customer
|
32
|
+
@mock.expects(:get).once.returns(test_response(test_card))
|
33
|
+
@mock.expects(:delete).once.returns(test_response(test_card(:deleted => true)))
|
34
|
+
card = c.cards.retrieve('card')
|
35
|
+
card.delete
|
36
|
+
assert card.deleted
|
37
|
+
end
|
38
|
+
|
39
|
+
should "customer cards should be updateable" do
|
40
|
+
c = customer
|
41
|
+
@mock.expects(:get).once.returns(test_response(test_card(:exp_year => "2000")))
|
42
|
+
@mock.expects(:post).once.returns(test_response(test_card(:exp_year => "2100")))
|
43
|
+
card = c.cards.retrieve('card')
|
44
|
+
assert_equal "2000", card.exp_year
|
45
|
+
card.exp_year = "2100"
|
46
|
+
card.save
|
47
|
+
assert_equal "2100", card.exp_year
|
48
|
+
end
|
49
|
+
|
50
|
+
should "create should return a new customer card" do
|
51
|
+
c = customer
|
52
|
+
@mock.expects(:post).once.returns(test_response(test_card(:id => "test_card")))
|
53
|
+
card = c.cards.create(:card => "tok_41YJ05ijAaWaFS")
|
54
|
+
assert_equal "test_card", card.id
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Stripe
|
4
|
+
class RecipientCardTest < Test::Unit::TestCase
|
5
|
+
RECIPIENT_CARD_URL = '/v1/recipients/test_recipient/cards/test_card'
|
6
|
+
|
7
|
+
def recipient
|
8
|
+
@mock.expects(:get).once.returns(test_response(test_recipient))
|
9
|
+
Stripe::Recipient.retrieve('test_recipient')
|
10
|
+
end
|
11
|
+
|
12
|
+
should "recipient cards should be listable" do
|
13
|
+
c = recipient
|
14
|
+
@mock.expects(:get).once.returns(test_response(test_card_array(recipient.id)))
|
15
|
+
cards = c.cards.all.data
|
16
|
+
assert cards.kind_of? Array
|
17
|
+
assert cards[0].kind_of? Stripe::Card
|
18
|
+
end
|
19
|
+
|
20
|
+
should "recipient cards should have the correct url" do
|
21
|
+
c = recipient
|
22
|
+
@mock.expects(:get).once.returns(test_response(test_card(
|
23
|
+
:id => 'test_card',
|
24
|
+
:recipient => 'test_recipient'
|
25
|
+
)))
|
26
|
+
card = c.cards.retrieve('card')
|
27
|
+
assert_equal RECIPIENT_CARD_URL, card.url
|
28
|
+
end
|
29
|
+
|
30
|
+
should "recipient cards should be deletable" do
|
31
|
+
c = recipient
|
32
|
+
@mock.expects(:get).once.returns(test_response(test_card))
|
33
|
+
@mock.expects(:delete).once.returns(test_response(test_card(:deleted => true)))
|
34
|
+
card = c.cards.retrieve('card')
|
35
|
+
card.delete
|
36
|
+
assert card.deleted
|
37
|
+
end
|
38
|
+
|
39
|
+
should "recipient cards should be updateable" do
|
40
|
+
c = recipient
|
41
|
+
@mock.expects(:get).once.returns(test_response(test_card(:exp_year => "2000")))
|
42
|
+
@mock.expects(:post).once.returns(test_response(test_card(:exp_year => "2100")))
|
43
|
+
card = c.cards.retrieve('card')
|
44
|
+
assert_equal "2000", card.exp_year
|
45
|
+
card.exp_year = "2100"
|
46
|
+
card.save
|
47
|
+
assert_equal "2100", card.exp_year
|
48
|
+
end
|
49
|
+
|
50
|
+
should "create should return a new recipient card" do
|
51
|
+
c = recipient
|
52
|
+
@mock.expects(:post).once.returns(test_response(test_card(:id => "test_card")))
|
53
|
+
card = c.cards.create(:card => "tok_41YJ05ijAaWaFS")
|
54
|
+
assert_equal "test_card", card.id
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -273,12 +273,15 @@ def test_invoice_customer_array
|
|
273
273
|
end
|
274
274
|
|
275
275
|
def test_recipient(params={})
|
276
|
+
id = params[:id] || 'rp_test_recipient'
|
276
277
|
{
|
277
278
|
:name => "Stripe User",
|
278
279
|
:type => "individual",
|
279
280
|
:livemode => false,
|
280
281
|
:object => "recipient",
|
281
282
|
:id => "rp_test_recipient",
|
283
|
+
:cards => test_card_array(id),
|
284
|
+
:default_card => "debit_test_card",
|
282
285
|
:active_account => {
|
283
286
|
:last4 => "6789",
|
284
287
|
:bank_name => "STRIPE TEST BANK",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
@@ -189,10 +189,12 @@ files:
|
|
189
189
|
- test/stripe/certificate_blacklist_test.rb
|
190
190
|
- test/stripe/charge_test.rb
|
191
191
|
- test/stripe/coupon_test.rb
|
192
|
+
- test/stripe/customer_card_test.rb
|
192
193
|
- test/stripe/customer_test.rb
|
193
194
|
- test/stripe/invoice_test.rb
|
194
195
|
- test/stripe/list_object_test.rb
|
195
196
|
- test/stripe/metadata_test.rb
|
197
|
+
- test/stripe/recipient_card_test.rb
|
196
198
|
- test/stripe/stripe_object_test.rb
|
197
199
|
- test/stripe/subscription_test.rb
|
198
200
|
- test/stripe/util_test.rb
|
@@ -229,11 +231,14 @@ test_files:
|
|
229
231
|
- test/stripe/certificate_blacklist_test.rb
|
230
232
|
- test/stripe/charge_test.rb
|
231
233
|
- test/stripe/coupon_test.rb
|
234
|
+
- test/stripe/customer_card_test.rb
|
232
235
|
- test/stripe/customer_test.rb
|
233
236
|
- test/stripe/invoice_test.rb
|
234
237
|
- test/stripe/list_object_test.rb
|
235
238
|
- test/stripe/metadata_test.rb
|
239
|
+
- test/stripe/recipient_card_test.rb
|
236
240
|
- test/stripe/stripe_object_test.rb
|
237
241
|
- test/stripe/subscription_test.rb
|
238
242
|
- test/stripe/util_test.rb
|
239
243
|
- test/test_helper.rb
|
244
|
+
has_rdoc:
|