braintree 2.30.0 → 2.30.2
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 +7 -0
- data/LICENSE +1 -1
- data/lib/braintree.rb +5 -1
- data/lib/braintree/client_token.rb +18 -0
- data/lib/braintree/client_token_gateway.rb +30 -0
- data/lib/braintree/configuration.rb +29 -0
- data/lib/braintree/credit_card.rb +4 -0
- data/lib/braintree/credit_card_gateway.rb +9 -1
- data/lib/braintree/customer.rb +4 -0
- data/lib/braintree/gateway.rb +4 -0
- data/lib/braintree/http.rb +13 -1
- data/lib/braintree/sha256_digest.rb +13 -0
- data/lib/braintree/signature_service.rb +19 -0
- data/lib/braintree/subscription_gateway.rb +2 -0
- data/lib/braintree/successful_result.rb +4 -6
- data/lib/braintree/transaction_gateway.rb +1 -1
- data/lib/braintree/transparent_redirect_gateway.rb +3 -8
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification_gateway.rb +11 -5
- data/lib/braintree/webhook_testing_gateway.rb +13 -13
- data/spec/httpsd.pid +1 -1
- data/spec/integration/braintree/client_api/client_token_spec.rb +143 -0
- data/spec/integration/braintree/client_api/spec_helper.rb +80 -0
- data/spec/integration/braintree/credit_card_spec.rb +99 -0
- data/spec/integration/braintree/customer_spec.rb +24 -0
- data/spec/integration/braintree/subscription_spec.rb +40 -1
- data/spec/integration/braintree/transaction_search_spec.rb +2 -2
- data/spec/integration/braintree/transaction_spec.rb +27 -5
- data/spec/unit/braintree/client_token_spec.rb +37 -0
- data/spec/unit/braintree/configuration_spec.rb +30 -0
- data/spec/unit/braintree/credit_card_spec.rb +2 -0
- data/spec/unit/braintree/customer_spec.rb +2 -0
- data/spec/unit/braintree/digest_spec.rb +14 -0
- data/spec/unit/braintree/http_spec.rb +19 -0
- data/spec/unit/braintree/sha256_digest_spec.rb +11 -0
- data/spec/unit/braintree/signature_service_spec.rb +23 -0
- data/spec/unit/braintree/successful_result_spec.rb +7 -7
- data/spec/unit/braintree/transparent_redirect_spec.rb +8 -1
- data/spec/unit/braintree/webhook_notification_spec.rb +58 -4
- metadata +126 -121
@@ -24,6 +24,7 @@ describe Braintree::CreditCard do
|
|
24
24
|
:venmo_sdk_payment_method_code,
|
25
25
|
:device_data,
|
26
26
|
:fraud_merchant_id,
|
27
|
+
:payment_method_nonce,
|
27
28
|
{:options => [:make_default, :verification_merchant_account_id, :verify_card, :venmo_sdk_session, :fail_on_duplicate_payment_method]},
|
28
29
|
{:billing_address => [
|
29
30
|
:company,
|
@@ -59,6 +60,7 @@ describe Braintree::CreditCard do
|
|
59
60
|
:venmo_sdk_payment_method_code,
|
60
61
|
:device_data,
|
61
62
|
:fraud_merchant_id,
|
63
|
+
:payment_method_nonce,
|
62
64
|
{:options => [:make_default, :verification_merchant_account_id, :verify_card, :venmo_sdk_session]},
|
63
65
|
{:billing_address => [
|
64
66
|
:company,
|
@@ -95,6 +95,7 @@ describe Braintree::Customer do
|
|
95
95
|
:venmo_sdk_payment_method_code,
|
96
96
|
:device_data,
|
97
97
|
:fraud_merchant_id,
|
98
|
+
:payment_method_nonce,
|
98
99
|
{:options => [:make_default, :verification_merchant_account_id, :verify_card, :venmo_sdk_session, :fail_on_duplicate_payment_method]},
|
99
100
|
{:billing_address => [
|
100
101
|
:company,
|
@@ -141,6 +142,7 @@ describe Braintree::Customer do
|
|
141
142
|
:venmo_sdk_payment_method_code,
|
142
143
|
:device_data,
|
143
144
|
:fraud_merchant_id,
|
145
|
+
:payment_method_nonce,
|
144
146
|
{:options => [
|
145
147
|
:make_default,
|
146
148
|
:verification_merchant_account_id,
|
@@ -19,5 +19,19 @@ describe Braintree::Digest do
|
|
19
19
|
expect { Braintree::Digest.hexdigest("key", nil) }.to_not raise_error
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
describe "self.secure_compare" do
|
24
|
+
it "returns true if two strings are equal" do
|
25
|
+
Braintree::Digest.secure_compare("A_string", "A_string").should be_true
|
26
|
+
end
|
27
|
+
|
28
|
+
it "returns false if two strings are different and the same length" do
|
29
|
+
Braintree::Digest.secure_compare("A_string", "A_strong").should be_false
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns false if one is a prefix of the other" do
|
33
|
+
Braintree::Digest.secure_compare("A_string", "A_string_that_is_longer").should be_false
|
34
|
+
end
|
35
|
+
end
|
22
36
|
end
|
23
37
|
|
@@ -39,4 +39,23 @@ END
|
|
39
39
|
Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml).should == expected_xml
|
40
40
|
end
|
41
41
|
end
|
42
|
+
|
43
|
+
describe "_build_query_string" do
|
44
|
+
it "returns an empty string for empty query params" do
|
45
|
+
Braintree::Http.new(:config)._build_query_string({}).should == ""
|
46
|
+
end
|
47
|
+
|
48
|
+
it "returns a proper query string for non-nested hashes" do
|
49
|
+
query_params = {:one => 1, :two => 2}
|
50
|
+
|
51
|
+
Braintree::Http.new(:config)._build_query_string(query_params).should =~ /^\?(one=1&two=2|two=2&one=1)$/
|
52
|
+
end
|
53
|
+
|
54
|
+
it "raises ArgumentError for nested hashes" do
|
55
|
+
query_params = {:one => 1, :two => {:a => 2.1, :b => 2.2}}
|
56
|
+
expect {
|
57
|
+
Braintree::Http.new(:config)._build_query_string(query_params)
|
58
|
+
}.to raise_error(ArgumentError, /nested hash/i)
|
59
|
+
end
|
60
|
+
end
|
42
61
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::SHA256Digest do
|
4
|
+
describe "self.hexdigest" do
|
5
|
+
it "returns the sha256 hmac of the input string (test case 6 from RFC 2202)" do
|
6
|
+
key = "secret-key"
|
7
|
+
message = "secret-message"
|
8
|
+
Braintree::SHA256Digest.hexdigest(key, message).should == "68e7f2ecab71db67b1aca2a638f5122810315c3013f27c2196cd53e88709eecc"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
class FakeDigest
|
4
|
+
def self.hexdigest(key, string)
|
5
|
+
"#{string}_signed_with_#{key}"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe Braintree::SignatureService do
|
10
|
+
describe "sign" do
|
11
|
+
it "signs the data with its key" do
|
12
|
+
service = Braintree::SignatureService.new("my_key", FakeDigest)
|
13
|
+
|
14
|
+
service.sign(:foo => "foo bar").should == "foo=foo+bar_signed_with_my_key|foo=foo+bar"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "hash" do
|
19
|
+
it "hashes the string with its key" do
|
20
|
+
Braintree::SignatureService.new("my_key", FakeDigest).hash("foo").should == "foo_signed_with_my_key"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -2,14 +2,14 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
2
2
|
|
3
3
|
describe Braintree::SuccessfulResult do
|
4
4
|
describe "initialize" do
|
5
|
-
it "
|
5
|
+
it "sets instance variables from the values in the hash" do
|
6
6
|
result = Braintree::SuccessfulResult.new(
|
7
|
-
:
|
8
|
-
:
|
7
|
+
:transaction => "transaction_value",
|
8
|
+
:credit_card => "credit_card_value"
|
9
9
|
)
|
10
10
|
result.success?.should == true
|
11
|
-
result.
|
12
|
-
result.
|
11
|
+
result.transaction.should == "transaction_value"
|
12
|
+
result.credit_card.should == "credit_card_value"
|
13
13
|
end
|
14
14
|
|
15
15
|
it "can be initialized without any values" do
|
@@ -20,8 +20,8 @@ describe Braintree::SuccessfulResult do
|
|
20
20
|
|
21
21
|
describe "inspect" do
|
22
22
|
it "is pretty" do
|
23
|
-
result = Braintree::SuccessfulResult.new(:
|
24
|
-
result.inspect.should == "#<Braintree::SuccessfulResult
|
23
|
+
result = Braintree::SuccessfulResult.new(:transaction => "transaction_value")
|
24
|
+
result.inspect.should == "#<Braintree::SuccessfulResult transaction:\"transaction_value\">"
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -206,10 +206,17 @@ describe Braintree::TransparentRedirect do
|
|
206
206
|
Braintree::TransparentRedirect.create_customer_data(:redirect_url => nil)
|
207
207
|
end.to raise_error(ArgumentError, "expected params to contain :redirect_url")
|
208
208
|
end
|
209
|
+
|
210
|
+
it "only encodes tr data once" do
|
211
|
+
tr_data = Braintree::TransparentRedirect.create_customer_data(:redirect_url => "example.com")
|
212
|
+
|
213
|
+
tr_data.should include("|")
|
214
|
+
tr_data.should include("&")
|
215
|
+
end
|
209
216
|
end
|
210
217
|
|
211
218
|
def add_hash_to_query_string(query_string_without_hash)
|
212
|
-
hash = Braintree::Configuration.
|
219
|
+
hash = Braintree::SignatureService.new(Braintree::Configuration.private_key).hash(query_string_without_hash)
|
213
220
|
query_string_without_hash + "&hash=" + hash
|
214
221
|
end
|
215
222
|
end
|
@@ -158,7 +158,7 @@ describe Braintree::WebhookNotification do
|
|
158
158
|
end
|
159
159
|
|
160
160
|
describe "parse" do
|
161
|
-
it "raises InvalidSignature error the signature is completely invalid" do
|
161
|
+
it "raises InvalidSignature error when the signature is completely invalid" do
|
162
162
|
signature, payload = Braintree::WebhookTesting.sample_notification(
|
163
163
|
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
164
164
|
"my_id"
|
@@ -169,15 +169,69 @@ describe Braintree::WebhookNotification do
|
|
169
169
|
end.to raise_error(Braintree::InvalidSignature)
|
170
170
|
end
|
171
171
|
|
172
|
-
it "raises InvalidSignature error the
|
172
|
+
it "raises InvalidSignature error with a message when the public key is not found" do
|
173
173
|
signature, payload = Braintree::WebhookTesting.sample_notification(
|
174
174
|
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
175
175
|
"my_id"
|
176
176
|
)
|
177
177
|
|
178
|
+
config = Braintree::Configuration.new(
|
179
|
+
:merchant_id => 'merchant_id',
|
180
|
+
:public_key => 'wrong_public_key',
|
181
|
+
:private_key => 'wrong_private_key'
|
182
|
+
)
|
183
|
+
gateway = Braintree::Gateway.new(config)
|
184
|
+
|
178
185
|
expect do
|
179
|
-
notification =
|
180
|
-
end.to raise_error(Braintree::InvalidSignature)
|
186
|
+
notification = gateway.webhook_notification.parse(signature, payload)
|
187
|
+
end.to raise_error(Braintree::InvalidSignature, /no matching public key/)
|
188
|
+
end
|
189
|
+
|
190
|
+
it "raises InvalidSignature error if the payload has been changed" do
|
191
|
+
signature, payload = Braintree::WebhookTesting.sample_notification(
|
192
|
+
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
193
|
+
"my_id"
|
194
|
+
)
|
195
|
+
|
196
|
+
expect do
|
197
|
+
notification = Braintree::WebhookNotification.parse(signature, "badstuff" + payload)
|
198
|
+
end.to raise_error(Braintree::InvalidSignature, /signature does not match payload - one has been modified/)
|
199
|
+
end
|
200
|
+
|
201
|
+
it "raises InvalidSignature error with a message complaining about invalid characters" do
|
202
|
+
signature, payload = Braintree::WebhookTesting.sample_notification(
|
203
|
+
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
204
|
+
"my_id"
|
205
|
+
)
|
206
|
+
|
207
|
+
expect do
|
208
|
+
notification = Braintree::WebhookNotification.parse(signature, "^& bad ,* chars @!" + payload)
|
209
|
+
end.to raise_error(Braintree::InvalidSignature, /payload contains illegal characters/)
|
210
|
+
end
|
211
|
+
|
212
|
+
it "allows all valid characters" do
|
213
|
+
signature, payload = Braintree::WebhookTesting.sample_notification(
|
214
|
+
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
215
|
+
"my_id"
|
216
|
+
)
|
217
|
+
|
218
|
+
payload = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+=/\n"
|
219
|
+
expect do
|
220
|
+
notification = Braintree::WebhookNotification.parse(signature, payload)
|
221
|
+
end.to_not raise_error(Braintree::InvalidSignature, /payload contains illegal characters/)
|
222
|
+
end
|
223
|
+
|
224
|
+
it "retries a payload with a newline" do
|
225
|
+
signature, payload = Braintree::WebhookTesting.sample_notification(
|
226
|
+
Braintree::WebhookNotification::Kind::SubscriptionWentPastDue,
|
227
|
+
"my_id"
|
228
|
+
)
|
229
|
+
|
230
|
+
notification = Braintree::WebhookNotification.parse(signature, payload.rstrip)
|
231
|
+
|
232
|
+
notification.kind.should == Braintree::WebhookNotification::Kind::SubscriptionWentPastDue
|
233
|
+
notification.subscription.id.should == "my_id"
|
234
|
+
notification.timestamp.should be_close(Time.now.utc, 10)
|
181
235
|
end
|
182
236
|
end
|
183
237
|
|
metadata
CHANGED
@@ -1,30 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braintree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.30.
|
5
|
-
prerelease:
|
4
|
+
version: 2.30.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Braintree
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-05-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: builder
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 2.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 2.0.0
|
30
27
|
description: Ruby library for integrating with the Braintree Gateway
|
@@ -33,174 +30,182 @@ executables: []
|
|
33
30
|
extensions: []
|
34
31
|
extra_rdoc_files: []
|
35
32
|
files:
|
36
|
-
- README.rdoc
|
37
33
|
- LICENSE
|
34
|
+
- README.rdoc
|
35
|
+
- braintree.gemspec
|
38
36
|
- lib/braintree.rb
|
37
|
+
- lib/braintree/add_on.rb
|
38
|
+
- lib/braintree/add_on_gateway.rb
|
39
|
+
- lib/braintree/address.rb
|
40
|
+
- lib/braintree/address/country_names.rb
|
41
|
+
- lib/braintree/address_gateway.rb
|
42
|
+
- lib/braintree/advanced_search.rb
|
43
|
+
- lib/braintree/base_module.rb
|
44
|
+
- lib/braintree/client_token.rb
|
45
|
+
- lib/braintree/client_token_gateway.rb
|
46
|
+
- lib/braintree/configuration.rb
|
47
|
+
- lib/braintree/credit_card.rb
|
48
|
+
- lib/braintree/credit_card_gateway.rb
|
49
|
+
- lib/braintree/credit_card_verification.rb
|
50
|
+
- lib/braintree/credit_card_verification_gateway.rb
|
51
|
+
- lib/braintree/credit_card_verification_search.rb
|
52
|
+
- lib/braintree/customer.rb
|
39
53
|
- lib/braintree/customer_gateway.rb
|
54
|
+
- lib/braintree/customer_search.rb
|
55
|
+
- lib/braintree/descriptor.rb
|
40
56
|
- lib/braintree/digest.rb
|
57
|
+
- lib/braintree/disbursement.rb
|
58
|
+
- lib/braintree/discount.rb
|
41
59
|
- lib/braintree/discount_gateway.rb
|
42
|
-
- lib/braintree/
|
43
|
-
- lib/braintree/
|
44
|
-
- lib/braintree/transaction_gateway.rb
|
45
|
-
- lib/braintree/credit_card_verification.rb
|
46
|
-
- lib/braintree/address.rb
|
47
|
-
- lib/braintree/plan_gateway.rb
|
48
|
-
- lib/braintree/customer.rb
|
49
|
-
- lib/braintree/merchant_account_gateway.rb
|
60
|
+
- lib/braintree/dispute.rb
|
61
|
+
- lib/braintree/error_codes.rb
|
50
62
|
- lib/braintree/error_result.rb
|
51
|
-
- lib/braintree/base_module.rb
|
52
|
-
- lib/braintree/modification.rb
|
53
|
-
- lib/braintree/webhook_testing.rb
|
54
63
|
- lib/braintree/errors.rb
|
55
|
-
- lib/braintree/
|
56
|
-
- lib/braintree/
|
57
|
-
- lib/braintree/
|
58
|
-
- lib/braintree/
|
59
|
-
- lib/braintree/
|
60
|
-
- lib/braintree/
|
61
|
-
- lib/braintree/
|
62
|
-
- lib/braintree/
|
64
|
+
- lib/braintree/exceptions.rb
|
65
|
+
- lib/braintree/gateway.rb
|
66
|
+
- lib/braintree/http.rb
|
67
|
+
- lib/braintree/merchant_account.rb
|
68
|
+
- lib/braintree/merchant_account/address_details.rb
|
69
|
+
- lib/braintree/merchant_account/business_details.rb
|
70
|
+
- lib/braintree/merchant_account/funding_details.rb
|
71
|
+
- lib/braintree/merchant_account/individual_details.rb
|
72
|
+
- lib/braintree/merchant_account_gateway.rb
|
73
|
+
- lib/braintree/modification.rb
|
74
|
+
- lib/braintree/plan.rb
|
75
|
+
- lib/braintree/plan_gateway.rb
|
76
|
+
- lib/braintree/resource_collection.rb
|
77
|
+
- lib/braintree/settlement_batch.rb
|
78
|
+
- lib/braintree/settlement_batch_summary.rb
|
63
79
|
- lib/braintree/settlement_batch_summary_gateway.rb
|
80
|
+
- lib/braintree/sha256_digest.rb
|
81
|
+
- lib/braintree/signature_service.rb
|
64
82
|
- lib/braintree/subscription.rb
|
65
|
-
- lib/braintree/
|
66
|
-
- lib/braintree/
|
83
|
+
- lib/braintree/subscription_gateway.rb
|
84
|
+
- lib/braintree/subscription_search.rb
|
85
|
+
- lib/braintree/successful_result.rb
|
67
86
|
- lib/braintree/test/credit_card.rb
|
87
|
+
- lib/braintree/test/merchant_account.rb
|
88
|
+
- lib/braintree/test/transaction_amounts.rb
|
68
89
|
- lib/braintree/test/venmo_sdk.rb
|
69
|
-
- lib/braintree/
|
70
|
-
- lib/braintree/
|
71
|
-
- lib/braintree/
|
72
|
-
- lib/braintree/
|
73
|
-
- lib/braintree/
|
74
|
-
- lib/braintree/
|
75
|
-
- lib/braintree/
|
76
|
-
- lib/braintree/
|
77
|
-
- lib/braintree/
|
78
|
-
- lib/braintree/xml/parser.rb
|
90
|
+
- lib/braintree/transaction.rb
|
91
|
+
- lib/braintree/transaction/address_details.rb
|
92
|
+
- lib/braintree/transaction/credit_card_details.rb
|
93
|
+
- lib/braintree/transaction/customer_details.rb
|
94
|
+
- lib/braintree/transaction/disbursement_details.rb
|
95
|
+
- lib/braintree/transaction/status_details.rb
|
96
|
+
- lib/braintree/transaction/subscription_details.rb
|
97
|
+
- lib/braintree/transaction_gateway.rb
|
98
|
+
- lib/braintree/transaction_search.rb
|
79
99
|
- lib/braintree/transparent_redirect.rb
|
80
|
-
- lib/braintree/
|
81
|
-
- lib/braintree/settlement_batch.rb
|
100
|
+
- lib/braintree/transparent_redirect_gateway.rb
|
82
101
|
- lib/braintree/util.rb
|
83
|
-
- lib/braintree/
|
84
|
-
- lib/braintree/successful_result.rb
|
102
|
+
- lib/braintree/validation_error.rb
|
85
103
|
- lib/braintree/validation_error_collection.rb
|
86
|
-
- lib/braintree/discount.rb
|
87
104
|
- lib/braintree/version.rb
|
88
|
-
- lib/braintree/credit_card.rb
|
89
|
-
- lib/braintree/error_codes.rb
|
90
|
-
- lib/braintree/advanced_search.rb
|
91
|
-
- lib/braintree/transaction.rb
|
92
|
-
- lib/braintree/dispute.rb
|
93
|
-
- lib/braintree/exceptions.rb
|
94
|
-
- lib/braintree/xml.rb
|
95
|
-
- lib/braintree/transaction_search.rb
|
96
105
|
- lib/braintree/webhook_notification.rb
|
97
|
-
- lib/braintree/
|
98
|
-
- lib/braintree/
|
99
|
-
- lib/braintree/
|
100
|
-
- lib/braintree/
|
101
|
-
- lib/braintree/
|
102
|
-
- lib/braintree/
|
103
|
-
- lib/braintree/
|
104
|
-
- lib/braintree/
|
105
|
-
- lib/
|
106
|
-
- lib/braintree/merchant_account/funding_details.rb
|
107
|
-
- lib/braintree/merchant_account/business_details.rb
|
108
|
-
- lib/braintree/merchant_account/address_details.rb
|
109
|
-
- lib/braintree/credit_card_gateway.rb
|
110
|
-
- lib/braintree/gateway.rb
|
111
|
-
- lib/braintree/address/country_names.rb
|
112
|
-
- lib/ssl/securetrust_ca.crt
|
106
|
+
- lib/braintree/webhook_notification_gateway.rb
|
107
|
+
- lib/braintree/webhook_testing.rb
|
108
|
+
- lib/braintree/webhook_testing_gateway.rb
|
109
|
+
- lib/braintree/xml.rb
|
110
|
+
- lib/braintree/xml/generator.rb
|
111
|
+
- lib/braintree/xml/libxml.rb
|
112
|
+
- lib/braintree/xml/parser.rb
|
113
|
+
- lib/braintree/xml/rexml.rb
|
114
|
+
- lib/ssl/api_braintreegateway_com.ca.crt
|
113
115
|
- lib/ssl/sandbox_braintreegateway_com.ca.crt
|
116
|
+
- lib/ssl/securetrust_ca.crt
|
114
117
|
- lib/ssl/www_braintreegateway_com.ca.crt
|
115
|
-
-
|
116
|
-
- spec/
|
117
|
-
- spec/integration/braintree/
|
118
|
-
- spec/integration/braintree/
|
119
|
-
- spec/integration/braintree/disbursement_spec.rb
|
118
|
+
- spec/hacks/tcp_socket.rb
|
119
|
+
- spec/httpsd.pid
|
120
|
+
- spec/integration/braintree/add_on_spec.rb
|
121
|
+
- spec/integration/braintree/address_spec.rb
|
120
122
|
- spec/integration/braintree/advanced_search_spec.rb
|
121
|
-
- spec/integration/braintree/
|
122
|
-
- spec/integration/braintree/
|
123
|
-
- spec/integration/braintree/
|
124
|
-
- spec/integration/braintree/error_codes_spec.rb
|
125
|
-
- spec/integration/braintree/transaction_search_spec.rb
|
123
|
+
- spec/integration/braintree/client_api/client_token_spec.rb
|
124
|
+
- spec/integration/braintree/client_api/spec_helper.rb
|
125
|
+
- spec/integration/braintree/credit_card_spec.rb
|
126
126
|
- spec/integration/braintree/credit_card_verification_search_spec.rb
|
127
|
-
- spec/integration/braintree/add_on_spec.rb
|
128
127
|
- spec/integration/braintree/credit_card_verification_spec.rb
|
129
|
-
- spec/integration/braintree/
|
130
|
-
- spec/integration/braintree/
|
128
|
+
- spec/integration/braintree/customer_search_spec.rb
|
129
|
+
- spec/integration/braintree/customer_spec.rb
|
130
|
+
- spec/integration/braintree/disbursement_spec.rb
|
131
131
|
- spec/integration/braintree/discount_spec.rb
|
132
|
+
- spec/integration/braintree/error_codes_spec.rb
|
132
133
|
- spec/integration/braintree/http_spec.rb
|
133
134
|
- spec/integration/braintree/merchant_account_spec.rb
|
134
|
-
- spec/integration/braintree/
|
135
|
-
- spec/integration/braintree/transaction_spec.rb
|
135
|
+
- spec/integration/braintree/plan_spec.rb
|
136
136
|
- spec/integration/braintree/settlement_batch_summary_spec.rb
|
137
|
+
- spec/integration/braintree/subscription_spec.rb
|
138
|
+
- spec/integration/braintree/test/transaction_amounts_spec.rb
|
139
|
+
- spec/integration/braintree/transaction_search_spec.rb
|
140
|
+
- spec/integration/braintree/transaction_spec.rb
|
141
|
+
- spec/integration/braintree/transparent_redirect_spec.rb
|
137
142
|
- spec/integration/spec_helper.rb
|
138
|
-
- spec/
|
143
|
+
- spec/script/httpsd.rb
|
144
|
+
- spec/spec.opts
|
145
|
+
- spec/spec_helper.rb
|
139
146
|
- spec/ssl/certificate.crt
|
140
147
|
- spec/ssl/geotrust_global.crt
|
141
|
-
- spec/
|
148
|
+
- spec/ssl/privateKey.key
|
149
|
+
- spec/unit/braintree/address_spec.rb
|
142
150
|
- spec/unit/braintree/base_module_spec.rb
|
143
|
-
- spec/unit/braintree/
|
144
|
-
- spec/unit/braintree/
|
145
|
-
- spec/unit/braintree/
|
146
|
-
- spec/unit/braintree/digest_spec.rb
|
147
|
-
- spec/unit/braintree/validation_error_spec.rb
|
148
|
-
- spec/unit/braintree/resource_collection_spec.rb
|
149
|
-
- spec/unit/braintree/customer_spec.rb
|
150
|
-
- spec/unit/braintree/transaction/deposit_details_spec.rb
|
151
|
-
- spec/unit/braintree/transaction/customer_details_spec.rb
|
152
|
-
- spec/unit/braintree/transaction/credit_card_details_spec.rb
|
153
|
-
- spec/unit/braintree/modification_spec.rb
|
154
|
-
- spec/unit/braintree/transparent_redirect_spec.rb
|
155
|
-
- spec/unit/braintree/transaction_search_spec.rb
|
151
|
+
- spec/unit/braintree/client_token_spec.rb
|
152
|
+
- spec/unit/braintree/configuration_spec.rb
|
153
|
+
- spec/unit/braintree/credit_card_spec.rb
|
156
154
|
- spec/unit/braintree/credit_card_verification_search_spec.rb
|
157
|
-
- spec/unit/braintree/xml/parser_spec.rb
|
158
|
-
- spec/unit/braintree/xml/rexml_spec.rb
|
159
|
-
- spec/unit/braintree/xml/libxml_spec.rb
|
160
|
-
- spec/unit/braintree/dispute_spec.rb
|
161
155
|
- spec/unit/braintree/credit_card_verification_spec.rb
|
162
|
-
- spec/unit/braintree/
|
163
|
-
- spec/unit/braintree/
|
156
|
+
- spec/unit/braintree/customer_spec.rb
|
157
|
+
- spec/unit/braintree/digest_spec.rb
|
158
|
+
- spec/unit/braintree/disbursement_spec.rb
|
159
|
+
- spec/unit/braintree/dispute_spec.rb
|
160
|
+
- spec/unit/braintree/error_result_spec.rb
|
164
161
|
- spec/unit/braintree/errors_spec.rb
|
165
|
-
- spec/unit/braintree/configuration_spec.rb
|
166
|
-
- spec/unit/braintree/credit_card_spec.rb
|
167
|
-
- spec/unit/braintree/xml_spec.rb
|
168
162
|
- spec/unit/braintree/http_spec.rb
|
169
163
|
- spec/unit/braintree/merchant_account_spec.rb
|
164
|
+
- spec/unit/braintree/modification_spec.rb
|
165
|
+
- spec/unit/braintree/resource_collection_spec.rb
|
166
|
+
- spec/unit/braintree/sha256_digest_spec.rb
|
167
|
+
- spec/unit/braintree/signature_service_spec.rb
|
170
168
|
- spec/unit/braintree/subscription_search_spec.rb
|
171
|
-
- spec/unit/braintree/
|
172
|
-
- spec/unit/braintree/transaction_spec.rb
|
169
|
+
- spec/unit/braintree/subscription_spec.rb
|
173
170
|
- spec/unit/braintree/successful_result_spec.rb
|
174
|
-
- spec/unit/
|
171
|
+
- spec/unit/braintree/transaction/credit_card_details_spec.rb
|
172
|
+
- spec/unit/braintree/transaction/customer_details_spec.rb
|
173
|
+
- spec/unit/braintree/transaction/deposit_details_spec.rb
|
174
|
+
- spec/unit/braintree/transaction_search_spec.rb
|
175
|
+
- spec/unit/braintree/transaction_spec.rb
|
176
|
+
- spec/unit/braintree/transparent_redirect_spec.rb
|
177
|
+
- spec/unit/braintree/util_spec.rb
|
178
|
+
- spec/unit/braintree/validation_error_collection_spec.rb
|
179
|
+
- spec/unit/braintree/validation_error_spec.rb
|
180
|
+
- spec/unit/braintree/webhook_notification_spec.rb
|
181
|
+
- spec/unit/braintree/xml/libxml_spec.rb
|
182
|
+
- spec/unit/braintree/xml/parser_spec.rb
|
183
|
+
- spec/unit/braintree/xml/rexml_spec.rb
|
184
|
+
- spec/unit/braintree/xml_spec.rb
|
175
185
|
- spec/unit/braintree_spec.rb
|
176
|
-
- spec/
|
177
|
-
- spec/spec_helper.rb
|
178
|
-
- spec/httpsd.pid
|
179
|
-
- spec/script/httpsd.rb
|
180
|
-
- braintree.gemspec
|
186
|
+
- spec/unit/spec_helper.rb
|
181
187
|
homepage: http://www.braintreepayments.com/
|
182
188
|
licenses:
|
183
189
|
- MIT
|
190
|
+
metadata: {}
|
184
191
|
post_install_message:
|
185
192
|
rdoc_options: []
|
186
193
|
require_paths:
|
187
194
|
- lib
|
188
195
|
required_ruby_version: !ruby/object:Gem::Requirement
|
189
|
-
none: false
|
190
196
|
requirements:
|
191
|
-
- -
|
197
|
+
- - '>='
|
192
198
|
- !ruby/object:Gem::Version
|
193
199
|
version: '0'
|
194
200
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
-
none: false
|
196
201
|
requirements:
|
197
|
-
- -
|
202
|
+
- - '>='
|
198
203
|
- !ruby/object:Gem::Version
|
199
204
|
version: '0'
|
200
205
|
requirements: []
|
201
206
|
rubyforge_project: braintree
|
202
|
-
rubygems_version:
|
207
|
+
rubygems_version: 2.2.1
|
203
208
|
signing_key:
|
204
|
-
specification_version:
|
209
|
+
specification_version: 4
|
205
210
|
summary: Braintree Gateway Ruby Client Library
|
206
211
|
test_files: []
|