braintree 2.45.0 → 2.46.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.
Files changed (52) hide show
  1. data/lib/braintree.rb +5 -0
  2. data/lib/braintree/add_on_gateway.rb +2 -1
  3. data/lib/braintree/address_gateway.rb +5 -4
  4. data/lib/braintree/client_token_gateway.rb +2 -1
  5. data/lib/braintree/configuration.rb +59 -7
  6. data/lib/braintree/credentials_parser.rb +40 -0
  7. data/lib/braintree/credit_card_gateway.rb +12 -11
  8. data/lib/braintree/credit_card_verification_gateway.rb +4 -3
  9. data/lib/braintree/customer_gateway.rb +12 -11
  10. data/lib/braintree/discount_gateway.rb +2 -1
  11. data/lib/braintree/error_codes.rb +9 -0
  12. data/lib/braintree/europe_bank_account_gateway.rb +2 -1
  13. data/lib/braintree/exceptions.rb +1 -5
  14. data/lib/braintree/gateway.rb +8 -0
  15. data/lib/braintree/http.rb +8 -2
  16. data/lib/braintree/merchant.rb +19 -0
  17. data/lib/braintree/merchant_account_gateway.rb +6 -5
  18. data/lib/braintree/merchant_gateway.rb +27 -0
  19. data/lib/braintree/oauth_credentials.rb +19 -0
  20. data/lib/braintree/oauth_gateway.rb +68 -0
  21. data/lib/braintree/payment_method_gateway.rb +7 -6
  22. data/lib/braintree/payment_method_nonce_gateway.rb +3 -2
  23. data/lib/braintree/paypal_account_gateway.rb +5 -4
  24. data/lib/braintree/plan_gateway.rb +2 -1
  25. data/lib/braintree/settlement_batch_summary_gateway.rb +2 -1
  26. data/lib/braintree/subscription_gateway.rb +8 -7
  27. data/lib/braintree/successful_result.rb +1 -1
  28. data/lib/braintree/testing_gateway.rb +5 -4
  29. data/lib/braintree/transaction.rb +1 -0
  30. data/lib/braintree/transaction_gateway.rb +12 -11
  31. data/lib/braintree/transaction_search.rb +3 -0
  32. data/lib/braintree/transparent_redirect_gateway.rb +1 -0
  33. data/lib/braintree/version.rb +1 -1
  34. data/lib/braintree/webhook_notification_gateway.rb +1 -0
  35. data/lib/braintree/webhook_testing_gateway.rb +1 -0
  36. data/spec/httpsd.pid +1 -1
  37. data/spec/integration/braintree/add_on_spec.rb +12 -0
  38. data/spec/integration/braintree/customer_spec.rb +31 -0
  39. data/spec/integration/braintree/http_spec.rb +10 -6
  40. data/spec/integration/braintree/merchant_account_spec.rb +0 -7
  41. data/spec/integration/braintree/merchant_spec.rb +55 -0
  42. data/spec/integration/braintree/oauth_spec.rb +191 -0
  43. data/spec/integration/braintree/plan_spec.rb +2 -1
  44. data/spec/integration/braintree/transaction_search_spec.rb +63 -0
  45. data/spec/integration/braintree/transaction_spec.rb +73 -4
  46. data/spec/integration/spec_helper.rb +1 -1
  47. data/spec/oauth_test_helper.rb +17 -0
  48. data/spec/spec_helper.rb +8 -4
  49. data/spec/unit/braintree/configuration_spec.rb +23 -0
  50. data/spec/unit/braintree/credentials_parser_spec.rb +81 -0
  51. metadata +161 -148
  52. checksums.yaml +0 -15
@@ -49,6 +49,7 @@ describe Braintree::Plan do
49
49
  end
50
50
 
51
51
  def create_plan_for_tests(attributes)
52
- Braintree::Configuration.gateway.config.http.post "/plans/create_plan_for_tests", :plan => attributes
52
+ config = Braintree::Configuration.gateway.config
53
+ config.http.post("#{config.base_merchant_path}/plans/create_plan_for_tests", :plan => attributes)
53
54
  end
54
55
  end
@@ -65,6 +65,7 @@ describe Braintree::Transaction, "search" do
65
65
 
66
66
  SpecHelper.settle_transaction transaction.id
67
67
  transaction = Braintree::Transaction.find(transaction.id)
68
+ credit_card = Braintree::CreditCard.find(token)
68
69
 
69
70
  search_criteria = {
70
71
  :billing_company => "Braintree",
@@ -79,6 +80,7 @@ describe Braintree::Transaction, "search" do
79
80
  :credit_card_cardholder_name => "Tom Smith",
80
81
  :credit_card_expiration_date => "05/2012",
81
82
  :credit_card_number => Braintree::Test::CreditCardNumbers::Visa,
83
+ :credit_card_unique_identifier => credit_card.unique_number_identifier,
82
84
  :customer_company => "Braintree",
83
85
  :customer_email => "smith@example.com",
84
86
  :customer_fax => "5551231234",
@@ -128,6 +130,19 @@ describe Braintree::Transaction, "search" do
128
130
  collection.first.id.should == transaction.id
129
131
  end
130
132
 
133
+ it "searches on users" do
134
+ transaction = Braintree::Transaction.sale!(
135
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
136
+ :payment_method_nonce => Braintree::Test::Nonce::PayPalFuturePayment
137
+ )
138
+
139
+ collection = Braintree::Transaction.search do |search|
140
+ search.user.is "integration_user_public_id"
141
+ end
142
+
143
+ collection.first.id.should == transaction.id
144
+ end
145
+
131
146
  it "searches on paypal transactions" do
132
147
  transaction = Braintree::Transaction.sale!(
133
148
  :amount => Braintree::Test::TransactionAmounts::Authorize,
@@ -319,6 +334,54 @@ describe Braintree::Transaction, "search" do
319
334
  collection.maximum_size.should == 0
320
335
  end
321
336
 
337
+ it "searches by payment instrument type CreditCardDetail" do
338
+ transaction = Braintree::Transaction.sale!(
339
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
340
+ :credit_card => {
341
+ :number => Braintree::Test::CreditCardNumbers::Visa,
342
+ :expiration_date => "05/12"
343
+ }
344
+ )
345
+
346
+ collection = Braintree::Transaction.search do |search|
347
+ search.id.is transaction.id
348
+ search.payment_instrument_type.in ["CreditCardDetail"]
349
+ end
350
+
351
+ collection.first.id.should == transaction.id
352
+ collection.first.payment_instrument_type.should ==Braintree::PaymentInstrumentType::CreditCard
353
+ end
354
+
355
+ it "searches by payment instrument type PayPal" do
356
+ transaction = Braintree::Transaction.sale!(
357
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
358
+ :payment_method_nonce => Braintree::Test::Nonce::PayPalFuturePayment
359
+ )
360
+
361
+ collection = Braintree::Transaction.search do |search|
362
+ search.id.is transaction.id
363
+ search.payment_instrument_type.in ["PayPalDetail"]
364
+ end
365
+
366
+ collection.first.id.should == transaction.id
367
+ collection.first.payment_instrument_type.should == Braintree::PaymentInstrumentType::PayPalAccount
368
+ end
369
+
370
+ it "searches by payment instrument type ApplePay" do
371
+ transaction = Braintree::Transaction.sale!(
372
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
373
+ :payment_method_nonce => Braintree::Test::Nonce::ApplePayVisa
374
+ )
375
+
376
+ collection = Braintree::Transaction.search do |search|
377
+ search.id.is transaction.id
378
+ search.payment_instrument_type.in ["ApplePayDetail"]
379
+ end
380
+
381
+ collection.first.id.should == transaction.id
382
+ collection.first.payment_instrument_type.should == Braintree::PaymentInstrumentType::ApplePayCard
383
+ end
384
+
322
385
  it "searches on status" do
323
386
  transaction = Braintree::Transaction.sale!(
324
387
  :amount => Braintree::Test::TransactionAmounts::Authorize,
@@ -266,6 +266,43 @@ describe Braintree::Transaction do
266
266
  result.transaction.credit_card_details.customer_location.should == "US"
267
267
  end
268
268
 
269
+ it "returns a successful result using an access token" do
270
+ oauth_gateway = Braintree::Gateway.new(
271
+ :client_id => "client_id$development$integration_client_id",
272
+ :client_secret => "client_secret$development$integration_client_secret",
273
+ :logger => Logger.new("/dev/null")
274
+ )
275
+ access_token = Braintree::OAuthTestHelper.create_token(oauth_gateway, {
276
+ :merchant_public_id => "integration_merchant_id",
277
+ :scope => "read_write"
278
+ }).credentials.access_token
279
+
280
+ gateway = Braintree::Gateway.new(
281
+ :access_token => access_token,
282
+ :logger => Logger.new("/dev/null")
283
+ )
284
+
285
+ result = gateway.transaction.create(
286
+ :type => "sale",
287
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
288
+ :credit_card => {
289
+ :number => Braintree::Test::CreditCardNumbers::Visa,
290
+ :expiration_date => "05/2009"
291
+ }
292
+ )
293
+
294
+ result.success?.should == true
295
+ result.transaction.id.should =~ /^\w{6}$/
296
+ result.transaction.type.should == "sale"
297
+ result.transaction.amount.should == BigDecimal.new(Braintree::Test::TransactionAmounts::Authorize)
298
+ result.transaction.processor_authorization_code.should_not be_nil
299
+ result.transaction.voice_referral_number.should be_nil
300
+ result.transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
301
+ result.transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
302
+ result.transaction.credit_card_details.expiration_date.should == "05/2009"
303
+ result.transaction.credit_card_details.customer_location.should == "US"
304
+ end
305
+
269
306
  it "accepts additional security parameters: device_session_id and fraud_merchant_id" do
270
307
  result = Braintree::Transaction.create(
271
308
  :type => "sale",
@@ -461,6 +498,35 @@ describe Braintree::Transaction do
461
498
  end
462
499
  end
463
500
 
501
+ it "exposes the application incomplete gateway rejection reason" do
502
+ gateway = Braintree::Gateway.new(
503
+ :client_id => "client_id$development$integration_client_id",
504
+ :client_secret => "client_secret$development$integration_client_secret",
505
+ :logger => Logger.new("/dev/null")
506
+ )
507
+ result = gateway.merchant.create(
508
+ :email => "name@email.com",
509
+ :country_code_alpha3 => "USA",
510
+ :payment_methods => ["credit_card", "paypal"]
511
+ )
512
+
513
+ gateway = Braintree::Gateway.new(
514
+ :access_token => result.credentials.access_token,
515
+ :logger => Logger.new("/dev/null")
516
+ )
517
+
518
+ result = gateway.transaction.create(
519
+ :type => "sale",
520
+ :amount => "4000.00",
521
+ :credit_card => {
522
+ :number => Braintree::Test::CreditCardNumbers::Visa,
523
+ :expiration_date => "05/2020"
524
+ }
525
+ )
526
+ result.success?.should == false
527
+ result.transaction.gateway_rejection_reason.should == Braintree::Transaction::GatewayRejectionReason::ApplicationIncomplete
528
+ end
529
+
464
530
  it "exposes the avs gateway rejection reason" do
465
531
  old_merchant = Braintree::Configuration.merchant_id
466
532
  old_public_key = Braintree::Configuration.public_key
@@ -3251,7 +3317,8 @@ describe Braintree::Transaction do
3251
3317
  }
3252
3318
  )
3253
3319
 
3254
- response = Braintree::Configuration.instantiate.http.put "/transactions/#{transaction.id}/settle"
3320
+ config = Braintree::Configuration.instantiate
3321
+ response = config.http.put("#{config.base_merchant_path}/transactions/#{transaction.id}/settle")
3255
3322
  Braintree::Transaction.find(transaction.id)
3256
3323
  end
3257
3324
 
@@ -3264,7 +3331,8 @@ describe Braintree::Transaction do
3264
3331
  }
3265
3332
  )
3266
3333
 
3267
- Braintree::Configuration.instantiate.http.put "/transactions/#{transaction.id}/settle"
3334
+ config = Braintree::Configuration.instantiate
3335
+ config.http.put("#{config.base_merchant_path}/transactions/#{transaction.id}/settle")
3268
3336
  Braintree::Transaction.find(transaction.id)
3269
3337
  end
3270
3338
 
@@ -3280,8 +3348,9 @@ describe Braintree::Transaction do
3280
3348
  :options => { :hold_in_escrow => true }
3281
3349
  )
3282
3350
 
3283
- response = Braintree::Configuration.instantiate.http.put "/transactions/#{transaction.id}/settle"
3284
- response = Braintree::Configuration.instantiate.http.put "/transactions/#{transaction.id}/escrow"
3351
+ config = Braintree::Configuration.instantiate
3352
+ response = config.http.put("#{config.base_merchant_path}/transactions/#{transaction.id}/settle")
3353
+ response = config.http.put("#{config.base_merchant_path}/transactions/#{transaction.id}/escrow")
3285
3354
  Braintree::Transaction.find(transaction.id)
3286
3355
  end
3287
3356
 
@@ -24,7 +24,7 @@ unless defined?(INTEGRATION_SPEC_HELPER_LOADED)
24
24
 
25
25
  def create_modification_for_tests(attributes)
26
26
  config = Braintree::Configuration.gateway.config
27
- config.http.post "/modifications/create_modification_for_tests", :modification => attributes
27
+ config.http.post("#{config.base_merchant_path}/modifications/create_modification_for_tests", :modification => attributes)
28
28
  end
29
29
 
30
30
  def with_other_merchant(merchant_id, public_key, private_key, &block)
@@ -0,0 +1,17 @@
1
+ module Braintree
2
+ class OAuthTestHelper
3
+ def self.create_grant(gateway, params)
4
+ response = gateway.config.http.post("/oauth_testing/grants", {
5
+ :grant => params
6
+ })
7
+ response[:grant][:code]
8
+ end
9
+
10
+ def self.create_token(gateway, params)
11
+ code = create_grant(gateway, params)
12
+ gateway.oauth.create_token_from_code(
13
+ :code => code
14
+ )
15
+ end
16
+ end
17
+ end
@@ -9,6 +9,7 @@ unless defined?(SPEC_HELPER_LOADED)
9
9
  braintree_lib = "#{project_root}/lib"
10
10
  $LOAD_PATH << braintree_lib
11
11
  require "braintree"
12
+ require File.dirname(__FILE__) + "/oauth_test_helper"
12
13
 
13
14
  Braintree::Configuration.environment = :development
14
15
  Braintree::Configuration.merchant_id = "integration_merchant_id"
@@ -86,17 +87,20 @@ unless defined?(SPEC_HELPER_LOADED)
86
87
  )
87
88
 
88
89
  def self.make_past_due(subscription, number_of_days_past_due = 1)
89
- Braintree::Configuration.instantiate.http.put(
90
- "/subscriptions/#{subscription.id}/make_past_due?days_past_due=#{number_of_days_past_due}"
90
+ config = Braintree::Configuration.instantiate
91
+ config.http.put(
92
+ "#{config.base_merchant_path}/subscriptions/#{subscription.id}/make_past_due?days_past_due=#{number_of_days_past_due}"
91
93
  )
92
94
  end
93
95
 
94
96
  def self.settle_transaction(transaction_id)
95
- Braintree::Configuration.instantiate.http.put("/transactions/#{transaction_id}/settle")
97
+ config = Braintree::Configuration.instantiate
98
+ config.http.put("#{config.base_merchant_path}/transactions/#{transaction_id}/settle")
96
99
  end
97
100
 
98
101
  def self.create_3ds_verification(merchant_account_id, params)
99
- response = Braintree::Configuration.instantiate.http.post("/three_d_secure/create_verification/#{merchant_account_id}", :three_d_secure_verification => params)
102
+ config = Braintree::Configuration.instantiate
103
+ response = config.http.post("#{config.base_merchant_path}/three_d_secure/create_verification/#{merchant_account_id}", :three_d_secure_verification => params)
100
104
  response[:three_d_secure_verification][:three_d_secure_token]
101
105
  end
102
106
 
@@ -41,6 +41,29 @@ describe Braintree::Configuration do
41
41
  config.public_key.should == 'public_key'
42
42
  config.private_key.should == 'private_key'
43
43
  end
44
+
45
+ it "raises if combining client_id/secret with access_token" do
46
+ expect do
47
+ Braintree::Configuration.new(
48
+ :client_id => "client_id$development$integration_client_id",
49
+ :client_secret => "client_secret$development$integration_client_secret",
50
+ :access_token => "access_token$development$integration_merchant_id$fb27c79dd"
51
+ )
52
+ end.to raise_error(Braintree::ConfigurationError, /mixed credential types/)
53
+ end
54
+
55
+ it "raises if combining client_id/secret with public_key/private_key" do
56
+ expect do
57
+ Braintree::Configuration.new(
58
+ :client_id => "client_id$development$integration_client_id",
59
+ :client_secret => "client_secret$development$integration_client_secret",
60
+ :merchant_id => "merchant_id",
61
+ :public_key => "public_key",
62
+ :private_key => "private_key",
63
+ :environment => "development"
64
+ )
65
+ end.to raise_error(Braintree::ConfigurationError, /mixed credential types/)
66
+ end
44
67
  end
45
68
 
46
69
  describe "base_merchant_path" do
@@ -0,0 +1,81 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Braintree::CredentialsParser do
4
+ describe "parse_client_credentials" do
5
+ it "parses client credentials" do
6
+ parser = Braintree::CredentialsParser.new
7
+ parser.parse_client_credentials("client_id$development$integration_client_id", "client_secret$development$integration_client_secret")
8
+
9
+ parser.client_id.should == "client_id$development$integration_client_id"
10
+ parser.client_secret.should == "client_secret$development$integration_client_secret"
11
+ parser.environment.should == :development
12
+ end
13
+
14
+ it "raises error on inconsistent environment" do
15
+ parser = Braintree::CredentialsParser.new
16
+
17
+ expect do
18
+ parser.parse_client_credentials("client_id$development$integration_client_id", "client_secret$qa$integration_client_secret")
19
+ end.to raise_error(Braintree::ConfigurationError, /Mismatched credential environments/)
20
+ end
21
+
22
+ it "raises error on nil client_id" do
23
+ parser = Braintree::CredentialsParser.new
24
+
25
+ expect do
26
+ parser.parse_client_credentials(nil, "client_secret$development$integration_client_secret")
27
+ end.to raise_error(Braintree::ConfigurationError, /Missing client_id/)
28
+ end
29
+
30
+ it "raises error on missing client_secret" do
31
+ parser = Braintree::CredentialsParser.new
32
+
33
+ expect do
34
+ parser.parse_client_credentials("client_id$development$integration_client_id", nil)
35
+ end.to raise_error(Braintree::ConfigurationError, /Missing client_secret/)
36
+ end
37
+
38
+ it "raises error on invalid client_id" do
39
+ parser = Braintree::CredentialsParser.new
40
+
41
+ expect do
42
+ parser.parse_client_credentials("client_secret$development$integration_client_secret", "client_secret$development$integration_client_secret")
43
+ end.to raise_error(Braintree::ConfigurationError, /is not a client_id/)
44
+ end
45
+
46
+ it "raises error on invalid client_secret" do
47
+ parser = Braintree::CredentialsParser.new
48
+
49
+ expect do
50
+ parser.parse_client_credentials("client_id$development$integration_client_id", "client_id$development$integration_client_id")
51
+ end.to raise_error(Braintree::ConfigurationError, /is not a client_secret/)
52
+ end
53
+ end
54
+
55
+ describe "parse_access_token" do
56
+ it "parses access token" do
57
+ parser = Braintree::CredentialsParser.new
58
+ parser.parse_access_token("access_token$development$integration_merchant_id$fb27c79dd")
59
+
60
+ parser.merchant_id.should == "integration_merchant_id"
61
+ parser.access_token.should == "access_token$development$integration_merchant_id$fb27c79dd"
62
+ parser.environment.should == :development
63
+ end
64
+
65
+ it "raises error on nil access_token" do
66
+ parser = Braintree::CredentialsParser.new
67
+
68
+ expect do
69
+ parser.parse_access_token(nil)
70
+ end.to raise_error(Braintree::ConfigurationError, /Missing access_token/)
71
+ end
72
+
73
+ it "raises error on invalid access_token" do
74
+ parser = Braintree::CredentialsParser.new
75
+
76
+ expect do
77
+ parser.parse_access_token("client_id$development$integration_client_id")
78
+ end.to raise_error(Braintree::ConfigurationError, /is not a valid access_token/)
79
+ end
80
+ end
81
+ end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braintree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.45.0
4
+ version: 2.46.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Braintree
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-06-03 00:00:00.000000000 Z
12
+ date: 2015-07-13 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: builder
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -32,215 +35,225 @@ extra_rdoc_files: []
32
35
  files:
33
36
  - README.rdoc
34
37
  - LICENSE
35
- - lib/braintree.rb
36
- - lib/braintree/dispute/transaction_details.rb
37
- - lib/braintree/util.rb
38
- - lib/braintree/plan_gateway.rb
39
- - lib/braintree/webhook_testing_gateway.rb
40
- - lib/braintree/version.rb
41
- - lib/braintree/base_module.rb
42
- - lib/braintree/subscription_gateway.rb
43
- - lib/braintree/xml.rb
44
- - lib/braintree/settlement_batch_summary_gateway.rb
45
- - lib/braintree/coinbase_account.rb
46
- - lib/braintree/payment_method_gateway.rb
47
- - lib/braintree/transaction_gateway.rb
48
- - lib/braintree/descriptor.rb
49
- - lib/braintree/subscription_search.rb
50
- - lib/braintree/transparent_redirect.rb
51
- - lib/braintree/error_codes.rb
52
- - lib/braintree/settlement_batch.rb
53
- - lib/braintree/credit_card_verification_gateway.rb
54
- - lib/braintree/address/country_names.rb
38
+ - lib/braintree/test_transaction.rb
39
+ - lib/braintree/gateway.rb
40
+ - lib/braintree/modification.rb
55
41
  - lib/braintree/errors.rb
56
- - lib/braintree/credit_card_verification.rb
57
- - lib/braintree/paypal_account_gateway.rb
58
- - lib/braintree/credit_card_gateway.rb
42
+ - lib/braintree/three_d_secure_info.rb
59
43
  - lib/braintree/europe_bank_account_gateway.rb
44
+ - lib/braintree/base_module.rb
45
+ - lib/braintree/merchant_account_gateway.rb
46
+ - lib/braintree/credit_card_verification_search.rb
60
47
  - lib/braintree/http.rb
48
+ - lib/braintree/address_gateway.rb
49
+ - lib/braintree/transparent_redirect.rb
61
50
  - lib/braintree/sha256_digest.rb
62
- - lib/braintree/gateway.rb
63
- - lib/braintree/three_d_secure_info.rb
64
- - lib/braintree/payment_method_nonce.rb
51
+ - lib/braintree/subscription.rb
52
+ - lib/braintree/validation_error_collection.rb
65
53
  - lib/braintree/subscription/status_details.rb
66
- - lib/braintree/client_token.rb
67
- - lib/braintree/signature_service.rb
54
+ - lib/braintree/settlement_batch_summary_gateway.rb
55
+ - lib/braintree/exceptions.rb
56
+ - lib/braintree/plan.rb
68
57
  - lib/braintree/successful_result.rb
69
- - lib/braintree/android_pay_card.rb
70
- - lib/braintree/digest.rb
71
- - lib/braintree/transparent_redirect_gateway.rb
72
- - lib/braintree/credit_card.rb
73
- - lib/braintree/add_on_gateway.rb
74
- - lib/braintree/disbursement.rb
75
- - lib/braintree/webhook_testing.rb
76
- - lib/braintree/xml/parser.rb
77
- - lib/braintree/xml/rexml.rb
78
- - lib/braintree/xml/generator.rb
79
- - lib/braintree/xml/libxml.rb
80
- - lib/braintree/subscription.rb
81
- - lib/braintree/paypal_account.rb
82
- - lib/braintree/address.rb
83
- - lib/braintree/test/nonce.rb
84
- - lib/braintree/test/credit_card.rb
85
- - lib/braintree/test/merchant_account.rb
86
- - lib/braintree/test/transaction_amounts.rb
87
- - lib/braintree/test/venmo_sdk.rb
88
- - lib/braintree/discount_gateway.rb
89
- - lib/braintree/merchant_account/address_details.rb
58
+ - lib/braintree/webhook_notification.rb
59
+ - lib/braintree/transaction.rb
60
+ - lib/braintree/subscription_search.rb
61
+ - lib/braintree/oauth_gateway.rb
62
+ - lib/braintree/customer_search.rb
63
+ - lib/braintree/util.rb
64
+ - lib/braintree/version.rb
65
+ - lib/braintree/merchant_account/individual_details.rb
90
66
  - lib/braintree/merchant_account/funding_details.rb
91
67
  - lib/braintree/merchant_account/business_details.rb
92
- - lib/braintree/merchant_account/individual_details.rb
93
- - lib/braintree/customer_gateway.rb
68
+ - lib/braintree/merchant_account/address_details.rb
69
+ - lib/braintree/add_on.rb
70
+ - lib/braintree/subscription_gateway.rb
71
+ - lib/braintree/client_token.rb
72
+ - lib/braintree/coinbase_account.rb
73
+ - lib/braintree/settlement_batch.rb
94
74
  - lib/braintree/error_result.rb
95
- - lib/braintree/merchant_account.rb
96
- - lib/braintree/discount.rb
97
- - lib/braintree/settlement_batch_summary.rb
98
- - lib/braintree/exceptions.rb
99
- - lib/braintree/address_gateway.rb
100
- - lib/braintree/dispute.rb
101
- - lib/braintree/unknown_payment_method.rb
102
- - lib/braintree/customer_search.rb
103
- - lib/braintree/customer.rb
104
- - lib/braintree/resource_collection.rb
105
- - lib/braintree/configuration.rb
106
- - lib/braintree/credit_card_verification_search.rb
75
+ - lib/braintree/client_token_gateway.rb
107
76
  - lib/braintree/validation_error.rb
77
+ - lib/braintree/customer.rb
78
+ - lib/braintree/discount_gateway.rb
79
+ - lib/braintree/credit_card_gateway.rb
108
80
  - lib/braintree/apple_pay_card.rb
109
- - lib/braintree/merchant_account_gateway.rb
110
- - lib/braintree/modification.rb
111
- - lib/braintree/plan.rb
112
- - lib/braintree/advanced_search.rb
113
- - lib/braintree/payment_method_nonce_gateway.rb
114
- - lib/braintree/validation_error_collection.rb
115
- - lib/braintree/client_token_gateway.rb
116
- - lib/braintree/webhook_notification_gateway.rb
81
+ - lib/braintree/testing_gateway.rb
82
+ - lib/braintree/unknown_payment_method.rb
83
+ - lib/braintree/merchant_gateway.rb
84
+ - lib/braintree/digest.rb
117
85
  - lib/braintree/risk_data.rb
118
- - lib/braintree/transaction/address_details.rb
86
+ - lib/braintree/webhook_notification_gateway.rb
87
+ - lib/braintree/address.rb
88
+ - lib/braintree/advanced_search.rb
89
+ - lib/braintree/paypal_account.rb
90
+ - lib/braintree/transaction_gateway.rb
91
+ - lib/braintree/payment_method_gateway.rb
92
+ - lib/braintree/payment_method_nonce.rb
93
+ - lib/braintree/android_pay_card.rb
94
+ - lib/braintree/dispute.rb
95
+ - lib/braintree/descriptor.rb
96
+ - lib/braintree/credit_card_verification_gateway.rb
97
+ - lib/braintree/resource_collection.rb
98
+ - lib/braintree/settlement_batch_summary.rb
99
+ - lib/braintree/address/country_names.rb
100
+ - lib/braintree/webhook_testing_gateway.rb
101
+ - lib/braintree/configuration.rb
119
102
  - lib/braintree/transaction/apple_pay_details.rb
120
- - lib/braintree/transaction/customer_details.rb
103
+ - lib/braintree/transaction/subscription_details.rb
121
104
  - lib/braintree/transaction/paypal_details.rb
122
- - lib/braintree/transaction/status_details.rb
105
+ - lib/braintree/transaction/address_details.rb
123
106
  - lib/braintree/transaction/android_pay_details.rb
107
+ - lib/braintree/transaction/customer_details.rb
108
+ - lib/braintree/transaction/coinbase_details.rb
124
109
  - lib/braintree/transaction/disbursement_details.rb
125
110
  - lib/braintree/transaction/credit_card_details.rb
126
- - lib/braintree/transaction/subscription_details.rb
127
- - lib/braintree/transaction/coinbase_details.rb
128
- - lib/braintree/testing_gateway.rb
129
- - lib/braintree/transaction_search.rb
130
- - lib/braintree/add_on.rb
131
- - lib/braintree/webhook_notification.rb
111
+ - lib/braintree/transaction/status_details.rb
112
+ - lib/braintree/transparent_redirect_gateway.rb
113
+ - lib/braintree/test/venmo_sdk.rb
114
+ - lib/braintree/test/nonce.rb
115
+ - lib/braintree/test/transaction_amounts.rb
116
+ - lib/braintree/test/credit_card.rb
117
+ - lib/braintree/test/merchant_account.rb
118
+ - lib/braintree/paypal_account_gateway.rb
119
+ - lib/braintree/discount.rb
120
+ - lib/braintree/xml/generator.rb
121
+ - lib/braintree/xml/libxml.rb
122
+ - lib/braintree/xml/parser.rb
123
+ - lib/braintree/xml/rexml.rb
124
+ - lib/braintree/signature_service.rb
125
+ - lib/braintree/credit_card.rb
132
126
  - lib/braintree/payment_instrument_type.rb
133
- - lib/braintree/transaction.rb
134
- - lib/braintree/europe_bank_account.rb
135
- - lib/braintree/test_transaction.rb
127
+ - lib/braintree/dispute/transaction_details.rb
128
+ - lib/braintree/add_on_gateway.rb
129
+ - lib/braintree/oauth_credentials.rb
136
130
  - lib/braintree/payment_method.rb
137
- - lib/ssl/sandbox_braintreegateway_com.ca.crt
138
- - lib/ssl/securetrust_ca.crt
139
- - lib/ssl/www_braintreegateway_com.ca.crt
131
+ - lib/braintree/europe_bank_account.rb
132
+ - lib/braintree/merchant.rb
133
+ - lib/braintree/customer_gateway.rb
134
+ - lib/braintree/payment_method_nonce_gateway.rb
135
+ - lib/braintree/disbursement.rb
136
+ - lib/braintree/merchant_account.rb
137
+ - lib/braintree/error_codes.rb
138
+ - lib/braintree/plan_gateway.rb
139
+ - lib/braintree/xml.rb
140
+ - lib/braintree/webhook_testing.rb
141
+ - lib/braintree/transaction_search.rb
142
+ - lib/braintree/credit_card_verification.rb
143
+ - lib/braintree/credentials_parser.rb
144
+ - lib/braintree.rb
140
145
  - lib/ssl/api_braintreegateway_com.ca.crt
146
+ - lib/ssl/www_braintreegateway_com.ca.crt
147
+ - lib/ssl/securetrust_ca.crt
148
+ - lib/ssl/sandbox_braintreegateway_com.ca.crt
149
+ - spec/oauth_test_helper.rb
150
+ - spec/ssl/privateKey.key
151
+ - spec/ssl/certificate.crt
152
+ - spec/ssl/geotrust_global.crt
153
+ - spec/spec_helper.rb
154
+ - spec/hacks/tcp_socket.rb
155
+ - spec/spec.opts
141
156
  - spec/integration/spec_helper.rb
142
- - spec/integration/braintree/coinbase_spec.rb
143
- - spec/integration/braintree/paypal_account_spec.rb
144
- - spec/integration/braintree/http_spec.rb
145
- - spec/integration/braintree/discount_spec.rb
146
- - spec/integration/braintree/subscription_spec.rb
147
- - spec/integration/braintree/error_codes_spec.rb
148
- - spec/integration/braintree/customer_search_spec.rb
149
157
  - spec/integration/braintree/credit_card_spec.rb
158
+ - spec/integration/braintree/oauth_spec.rb
150
159
  - spec/integration/braintree/payment_method_spec.rb
151
- - spec/integration/braintree/settlement_batch_summary_spec.rb
152
- - spec/integration/braintree/credit_card_verification_spec.rb
160
+ - spec/integration/braintree/customer_search_spec.rb
161
+ - spec/integration/braintree/add_on_spec.rb
162
+ - spec/integration/braintree/http_spec.rb
163
+ - spec/integration/braintree/client_api/spec_helper.rb
164
+ - spec/integration/braintree/client_api/client_token_spec.rb
153
165
  - spec/integration/braintree/transaction_spec.rb
154
166
  - spec/integration/braintree/credit_card_verification_search_spec.rb
155
- - spec/integration/braintree/test/transaction_amounts_spec.rb
156
- - spec/integration/braintree/address_spec.rb
167
+ - spec/integration/braintree/test_transaction_spec.rb
157
168
  - spec/integration/braintree/plan_spec.rb
158
- - spec/integration/braintree/merchant_account_spec.rb
159
- - spec/integration/braintree/disbursement_spec.rb
169
+ - spec/integration/braintree/merchant_spec.rb
170
+ - spec/integration/braintree/transparent_redirect_spec.rb
171
+ - spec/integration/braintree/address_spec.rb
172
+ - spec/integration/braintree/credit_card_verification_spec.rb
173
+ - spec/integration/braintree/discount_spec.rb
160
174
  - spec/integration/braintree/advanced_search_spec.rb
175
+ - spec/integration/braintree/disbursement_spec.rb
176
+ - spec/integration/braintree/merchant_account_spec.rb
177
+ - spec/integration/braintree/subscription_spec.rb
178
+ - spec/integration/braintree/test/transaction_amounts_spec.rb
161
179
  - spec/integration/braintree/payment_method_nonce_spec.rb
162
- - spec/integration/braintree/add_on_spec.rb
163
- - spec/integration/braintree/test_transaction_spec.rb
164
- - spec/integration/braintree/customer_spec.rb
165
180
  - spec/integration/braintree/transaction_search_spec.rb
166
- - spec/integration/braintree/client_api/client_token_spec.rb
167
- - spec/integration/braintree/client_api/spec_helper.rb
168
- - spec/integration/braintree/transparent_redirect_spec.rb
181
+ - spec/integration/braintree/settlement_batch_summary_spec.rb
182
+ - spec/integration/braintree/customer_spec.rb
183
+ - spec/integration/braintree/coinbase_spec.rb
184
+ - spec/integration/braintree/paypal_account_spec.rb
185
+ - spec/integration/braintree/error_codes_spec.rb
186
+ - spec/script/httpsd.rb
187
+ - spec/unit/braintree_spec.rb
169
188
  - spec/unit/spec_helper.rb
170
- - spec/unit/braintree/paypal_account_spec.rb
171
- - spec/unit/braintree/successful_result_spec.rb
172
- - spec/unit/braintree/base_module_spec.rb
173
- - spec/unit/braintree/http_spec.rb
174
- - spec/unit/braintree/subscription_spec.rb
175
- - spec/unit/braintree/configuration_spec.rb
176
- - spec/unit/braintree/webhook_notification_spec.rb
177
- - spec/unit/braintree/digest_spec.rb
178
- - spec/unit/braintree/apple_pay_card_spec.rb
179
- - spec/unit/braintree/errors_spec.rb
180
189
  - spec/unit/braintree/credit_card_spec.rb
181
- - spec/unit/braintree/three_d_secure_info_spec.rb
182
190
  - spec/unit/braintree/payment_method_spec.rb
183
- - spec/unit/braintree/xml/libxml_spec.rb
184
- - spec/unit/braintree/xml/parser_spec.rb
185
- - spec/unit/braintree/xml/rexml_spec.rb
186
- - spec/unit/braintree/risk_data_spec.rb
187
- - spec/unit/braintree/credit_card_verification_spec.rb
191
+ - spec/unit/braintree/base_module_spec.rb
192
+ - spec/unit/braintree/validation_error_spec.rb
193
+ - spec/unit/braintree/http_spec.rb
194
+ - spec/unit/braintree/xml_spec.rb
188
195
  - spec/unit/braintree/transaction_spec.rb
196
+ - spec/unit/braintree/error_result_spec.rb
189
197
  - spec/unit/braintree/credit_card_verification_search_spec.rb
198
+ - spec/unit/braintree/dispute_spec.rb
199
+ - spec/unit/braintree/credentials_parser_spec.rb
200
+ - spec/unit/braintree/successful_result_spec.rb
201
+ - spec/unit/braintree/errors_spec.rb
202
+ - spec/unit/braintree/transparent_redirect_spec.rb
190
203
  - spec/unit/braintree/address_spec.rb
191
- - spec/unit/braintree/client_token_spec.rb
192
- - spec/unit/braintree/modification_spec.rb
193
- - spec/unit/braintree/merchant_account_spec.rb
194
- - spec/unit/braintree/resource_collection_spec.rb
195
- - spec/unit/braintree/error_result_spec.rb
204
+ - spec/unit/braintree/configuration_spec.rb
205
+ - spec/unit/braintree/three_d_secure_info_spec.rb
206
+ - spec/unit/braintree/credit_card_verification_spec.rb
196
207
  - spec/unit/braintree/disbursement_spec.rb
197
- - spec/unit/braintree/dispute_spec.rb
198
- - spec/unit/braintree/signature_service_spec.rb
199
- - spec/unit/braintree/validation_error_collection_spec.rb
200
- - spec/unit/braintree/customer_spec.rb
201
- - spec/unit/braintree/subscription_search_spec.rb
202
208
  - spec/unit/braintree/util_spec.rb
209
+ - spec/unit/braintree/risk_data_spec.rb
210
+ - spec/unit/braintree/validation_error_collection_spec.rb
211
+ - spec/unit/braintree/merchant_account_spec.rb
212
+ - spec/unit/braintree/subscription_spec.rb
203
213
  - spec/unit/braintree/transaction/customer_details_spec.rb
204
214
  - spec/unit/braintree/transaction/credit_card_details_spec.rb
205
215
  - spec/unit/braintree/transaction/deposit_details_spec.rb
206
- - spec/unit/braintree/transaction_search_spec.rb
207
216
  - spec/unit/braintree/unknown_payment_method_spec.rb
208
- - spec/unit/braintree/xml_spec.rb
209
- - spec/unit/braintree/transparent_redirect_spec.rb
210
- - spec/unit/braintree/validation_error_spec.rb
217
+ - spec/unit/braintree/digest_spec.rb
218
+ - spec/unit/braintree/resource_collection_spec.rb
219
+ - spec/unit/braintree/xml/parser_spec.rb
220
+ - spec/unit/braintree/xml/libxml_spec.rb
221
+ - spec/unit/braintree/xml/rexml_spec.rb
222
+ - spec/unit/braintree/transaction_search_spec.rb
223
+ - spec/unit/braintree/signature_service_spec.rb
224
+ - spec/unit/braintree/modification_spec.rb
211
225
  - spec/unit/braintree/sha256_digest_spec.rb
212
- - spec/unit/braintree_spec.rb
226
+ - spec/unit/braintree/customer_spec.rb
227
+ - spec/unit/braintree/webhook_notification_spec.rb
228
+ - spec/unit/braintree/paypal_account_spec.rb
229
+ - spec/unit/braintree/subscription_search_spec.rb
230
+ - spec/unit/braintree/apple_pay_card_spec.rb
231
+ - spec/unit/braintree/client_token_spec.rb
213
232
  - spec/httpsd.pid
214
- - spec/ssl/geotrust_global.crt
215
- - spec/ssl/privateKey.key
216
- - spec/ssl/certificate.crt
217
- - spec/spec.opts
218
- - spec/script/httpsd.rb
219
- - spec/hacks/tcp_socket.rb
220
- - spec/spec_helper.rb
221
233
  - braintree.gemspec
222
234
  homepage: http://www.braintreepayments.com/
223
235
  licenses:
224
236
  - MIT
225
- metadata: {}
226
237
  post_install_message:
227
238
  rdoc_options: []
228
239
  require_paths:
229
240
  - lib
230
241
  required_ruby_version: !ruby/object:Gem::Requirement
242
+ none: false
231
243
  requirements:
232
244
  - - ! '>='
233
245
  - !ruby/object:Gem::Version
234
246
  version: '0'
235
247
  required_rubygems_version: !ruby/object:Gem::Requirement
248
+ none: false
236
249
  requirements:
237
250
  - - ! '>='
238
251
  - !ruby/object:Gem::Version
239
252
  version: '0'
240
253
  requirements: []
241
254
  rubyforge_project: braintree
242
- rubygems_version: 2.1.11
255
+ rubygems_version: 1.8.23
243
256
  signing_key:
244
- specification_version: 4
257
+ specification_version: 3
245
258
  summary: Braintree Gateway Ruby Client Library
246
259
  test_files: []