stripe 1.13.0 → 1.14.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.
- data/History.txt +5 -0
- data/VERSION +1 -1
- data/lib/stripe.rb +2 -1
- data/lib/stripe/refund.rb +13 -0
- data/lib/stripe/util.rb +1 -0
- data/lib/stripe/version.rb +1 -1
- data/test/stripe/metadata_test.rb +1 -1
- data/test/stripe/refund_test.rb +47 -0
- data/test/test_helper.rb +24 -1
- metadata +5 -2
data/History.txt
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.14.0
|
data/lib/stripe.rb
CHANGED
@@ -38,6 +38,7 @@ require 'stripe/recipient'
|
|
38
38
|
require 'stripe/card'
|
39
39
|
require 'stripe/subscription'
|
40
40
|
require 'stripe/application_fee'
|
41
|
+
require 'stripe/refund'
|
41
42
|
|
42
43
|
# Errors
|
43
44
|
require 'stripe/errors/stripe_error'
|
@@ -87,7 +88,7 @@ module Stripe
|
|
87
88
|
:ssl_ca_file => @ssl_bundle_path)
|
88
89
|
end
|
89
90
|
|
90
|
-
|
91
|
+
if @verify_ssl_certs and !@CERTIFICATE_VERIFIED
|
91
92
|
@CERTIFICATE_VERIFIED = CertificateBlacklist.check_ssl_cert(@api_base, @ssl_bundle_path)
|
92
93
|
end
|
93
94
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Stripe
|
2
|
+
class Refund < APIResource
|
3
|
+
include Stripe::APIOperations::Update
|
4
|
+
|
5
|
+
def url
|
6
|
+
"#{Charge.url}/#{CGI.escape(charge)}/refunds/#{CGI.escape(id)}"
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.retrieve(id, api_key=nil)
|
10
|
+
raise NotImplementedError.new("Refunds cannot be retrieved without a charge ID. Retrieve a refund using charge.refunds.retrieve('refund_id')")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/stripe/util.rb
CHANGED
data/lib/stripe/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Stripe
|
4
|
+
class RefundTest < Test::Unit::TestCase
|
5
|
+
should "refunds should be listable" do
|
6
|
+
@mock.expects(:get).once.returns(test_response(test_charge))
|
7
|
+
|
8
|
+
charge = Stripe::Charge.retrieve('test_charge')
|
9
|
+
|
10
|
+
assert charge.refunds.first.kind_of?(Stripe::Refund)
|
11
|
+
end
|
12
|
+
|
13
|
+
should "refunds should be refreshable" do
|
14
|
+
@mock.expects(:get).twice.returns(test_response(test_charge), test_response(test_refund(:id => 'refreshed_refund')))
|
15
|
+
|
16
|
+
charge = Stripe::Charge.retrieve('test_charge')
|
17
|
+
refund = charge.refunds.first
|
18
|
+
refund.refresh
|
19
|
+
|
20
|
+
assert_equal 'refreshed_refund', refund.id
|
21
|
+
end
|
22
|
+
|
23
|
+
should "refunds should be updateable" do
|
24
|
+
@mock.expects(:get).once.returns(test_response(test_charge))
|
25
|
+
@mock.expects(:post).once.returns(test_response(test_refund(:metadata => {'key' => 'value'})))
|
26
|
+
|
27
|
+
charge = Stripe::Charge.retrieve('test_charge')
|
28
|
+
refund = charge.refunds.first
|
29
|
+
|
30
|
+
assert_equal nil, refund.metadata['key']
|
31
|
+
|
32
|
+
refund.metadata['key'] = 'valu'
|
33
|
+
refund.save
|
34
|
+
|
35
|
+
assert_equal 'value', refund.metadata['key']
|
36
|
+
end
|
37
|
+
|
38
|
+
should "create should return a new refund" do
|
39
|
+
@mock.expects(:get).once.returns(test_response(test_charge))
|
40
|
+
@mock.expects(:post).once.returns(test_response(test_refund(:id => 'test_new_refund')))
|
41
|
+
|
42
|
+
charge = Stripe::Charge.retrieve('test_charge')
|
43
|
+
refund = charge.refunds.create(:amount => 20)
|
44
|
+
assert_equal 'test_new_refund', refund.id
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -119,6 +119,7 @@ def test_customer_array
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def test_charge(params={})
|
122
|
+
id = params[:id] || 'ch_test_charge'
|
122
123
|
{
|
123
124
|
:refunded => false,
|
124
125
|
:paid => true,
|
@@ -132,12 +133,13 @@ def test_charge(params={})
|
|
132
133
|
:id => "cc_test_card",
|
133
134
|
:object => "card"
|
134
135
|
},
|
135
|
-
:id =>
|
136
|
+
:id => id,
|
136
137
|
:reason => "execute_charge",
|
137
138
|
:livemode => false,
|
138
139
|
:currency => "usd",
|
139
140
|
:object => "charge",
|
140
141
|
:created => 1304114826,
|
142
|
+
:refunds => test_refund_array(id),
|
141
143
|
:metadata => {}
|
142
144
|
}.merge(params)
|
143
145
|
end
|
@@ -204,6 +206,18 @@ def test_subscription(params = {})
|
|
204
206
|
}.merge(params)
|
205
207
|
end
|
206
208
|
|
209
|
+
def test_refund(params = {})
|
210
|
+
{
|
211
|
+
:object => 'refund',
|
212
|
+
:amount => 30,
|
213
|
+
:currency => "usd",
|
214
|
+
:created => 1308595038,
|
215
|
+
:id => "ref_test_refund",
|
216
|
+
:charge => "ch_test_charge",
|
217
|
+
:metadata => {}
|
218
|
+
}.merge(params)
|
219
|
+
end
|
220
|
+
|
207
221
|
def test_subscription_array(customer_id)
|
208
222
|
{
|
209
223
|
:data => [test_subscription, test_subscription, test_subscription],
|
@@ -212,6 +226,15 @@ def test_subscription_array(customer_id)
|
|
212
226
|
}
|
213
227
|
end
|
214
228
|
|
229
|
+
def test_refund_array(charge_id)
|
230
|
+
{
|
231
|
+
:data => [test_refund, test_refund, test_refund],
|
232
|
+
:object => 'list',
|
233
|
+
:url => '/v1/charges/' + charge_id + '/refunds'
|
234
|
+
}
|
235
|
+
end
|
236
|
+
|
237
|
+
|
215
238
|
def test_invoice
|
216
239
|
{
|
217
240
|
:id => 'in_test_invoice',
|
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.14.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-06-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
@@ -175,6 +175,7 @@ files:
|
|
175
175
|
- lib/stripe/list_object.rb
|
176
176
|
- lib/stripe/plan.rb
|
177
177
|
- lib/stripe/recipient.rb
|
178
|
+
- lib/stripe/refund.rb
|
178
179
|
- lib/stripe/singleton_api_resource.rb
|
179
180
|
- lib/stripe/stripe_object.rb
|
180
181
|
- lib/stripe/subscription.rb
|
@@ -195,6 +196,7 @@ files:
|
|
195
196
|
- test/stripe/list_object_test.rb
|
196
197
|
- test/stripe/metadata_test.rb
|
197
198
|
- test/stripe/recipient_card_test.rb
|
199
|
+
- test/stripe/refund_test.rb
|
198
200
|
- test/stripe/stripe_object_test.rb
|
199
201
|
- test/stripe/subscription_test.rb
|
200
202
|
- test/stripe/transfer_test.rb
|
@@ -238,6 +240,7 @@ test_files:
|
|
238
240
|
- test/stripe/list_object_test.rb
|
239
241
|
- test/stripe/metadata_test.rb
|
240
242
|
- test/stripe/recipient_card_test.rb
|
243
|
+
- test/stripe/refund_test.rb
|
241
244
|
- test/stripe/stripe_object_test.rb
|
242
245
|
- test/stripe/subscription_test.rb
|
243
246
|
- test/stripe/transfer_test.rb
|