braintree 2.46.0 → 2.47.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 36a81b1601c2b5d76c335464a89a41365d0e2483
4
+ data.tar.gz: 2b6552e9ce7b50231403efafa5825ebf9d7cb5a1
5
+ SHA512:
6
+ metadata.gz: 1c4e2f8085af22cbad97d2e919db2b82422fefce6179496533814161c1a234d56db36902ef7bbc841cbc9510ee83446e33f88bb62d1f1f3928faf9cc5f3124be
7
+ data.tar.gz: 9ccef934b7832553bcbe4efa262841c6cc9715a076a28e3f3df62688f95fc3139b2e58a877b79c7e62cebfff65ebf1855ff4f58c080d3748e955b8aa9b5dbb7b
data/README.rdoc CHANGED
@@ -7,6 +7,14 @@ The Braintree gem provides integration access to the Braintree Gateway.
7
7
  * builder
8
8
  * libxml-ruby
9
9
 
10
+ == Installation
11
+
12
+ gem install braintree
13
+
14
+ Or add to your Gemfile:
15
+
16
+ gem 'braintree'
17
+
10
18
  == Quick Start Example
11
19
 
12
20
  require "rubygems"
@@ -35,6 +43,8 @@ The Braintree gem provides integration access to the Braintree Gateway.
35
43
  p result.errors
36
44
  end
37
45
 
46
+ You retrieve your `merchant_id, `public_key`, and `private_key` when [signing up](https://braintreepayments.com/get-started) for Braintree. Signing up for a sandbox account is easy, free, and instant.
47
+
38
48
  == Bang Methods
39
49
 
40
50
  Most methods have a bang and a non-bang version (e.g. <tt>Braintree::Customer.create</tt> and <tt>Braintree::Customer.create!</tt>).
@@ -4,7 +4,7 @@ module Braintree
4
4
 
5
5
  attr_reader :token, :virtual_card_type, :virtual_card_last_4, :source_card_type, :source_card_last_4,
6
6
  :expiration_month, :expiration_year, :created_at, :updated_at, :image_url, :subscriptions, :bin,
7
- :google_transaction_id, :default
7
+ :google_transaction_id, :default, :source_description
8
8
 
9
9
  def initialize(gateway, attributes) # :nodoc:
10
10
  @gateway = gateway
@@ -12,7 +12,7 @@ module Braintree
12
12
 
13
13
  attr_reader :token, :card_type, :last_4, :default, :image_url,
14
14
  :created_at, :updated_at, :subscriptions, :expiration_month,
15
- :expiration_year, :expired, :payment_instrument_name
15
+ :expiration_year, :expired, :payment_instrument_name, :source_description
16
16
 
17
17
 
18
18
  def initialize(gateway, attributes) # :nodoc:
@@ -42,7 +42,8 @@ module Braintree
42
42
  concat(payment_methods)
43
43
 
44
44
  query_string = query.map { |k, v| "#{URI.escape(k.to_s)}=#{URI.escape(v.to_s)}" }.join("&")
45
- _sign_url("#{@config.base_url}/oauth/connect?#{CGI.escape(query_string)}")
45
+ url = "#{@config.base_url}/oauth/connect?#{CGI.escape(query_string)}"
46
+ "#{url}&signature=#{_compute_signature(url)}&algorithm=SHA256"
46
47
  end
47
48
 
48
49
  def _sub_query(params, root)
@@ -59,10 +60,9 @@ module Braintree
59
60
  end
60
61
  end
61
62
 
62
- def _sign_url(url)
63
+ def _compute_signature(url)
63
64
  key_digest = OpenSSL::Digest::SHA256.digest(@config.client_secret)
64
- signature = OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA256.new, key_digest, url)
65
- "#{url}&signature=#{signature}&algorithm=SHA256"
65
+ OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA256.new, key_digest, url)
66
66
  end
67
67
  end
68
68
  end
@@ -11,7 +11,46 @@ module Braintree
11
11
  AbstractTransactable = "fake-abstract-transactable-nonce"
12
12
  Europe = "fake-europe-bank-account-nonce"
13
13
  Coinbase = "fake-coinbase-nonce"
14
- AndroidPay = "fake-android-pay-nonce"
14
+ AndroidPayDiscover = "fake-android-pay-discover-nonce"
15
+ AndroidPayVisa = "fake-android-pay-visa-nonce"
16
+ AndroidPayMasterCard = "fake-android-pay-mastercard-nonce"
17
+ AndroidPayAmEx = "fake-android-pay-amex-nonce"
18
+ TransactableVisa = "fake-valid-visa-nonce"
19
+ TransactableAmEx = "fake-valid-amex-nonce"
20
+ TransactableMasterCard = "fake-valid-mastercard-nonce"
21
+ TransactableDiscover = "fake-valid-discover-nonce"
22
+ TransactableJCB = "fake-valid-jcb-nonce"
23
+ TransactableMaestro = "fake-valid-maestro-nonce"
24
+ TransactableDinersClub = "fake-valid-dinersclub-nonce"
25
+ TransactablePrepaid = "fake-valid-prepaid-nonce"
26
+ TransactableCommercial = "fake-valid-commercial-nonce"
27
+ TransactableDurbinRegulated = "fake-valid-durbin-regulated-nonce"
28
+ TransactableHealthcare = "fake-valid-healthcare-nonce"
29
+ TransactableDebit = "fake-valid-debit-nonce"
30
+ TransactablePayroll = "fake-valid-payroll-nonce"
31
+ TransactableNoIndicators = "fake-valid-no-indicators-nonce"
32
+ TransactableUnknownIndicators = "fake-valid-unknown-indicators-nonce"
33
+ TransactableCountryOfIssuanceUSA = "fake-valid-country-of-issuance-usa-nonce"
34
+ TransactableCountryOfIssuanceCAD = "fake-valid-country-of-issuance-cad-nonce"
35
+ TransactableIssuingBankNetworkOnly = "fake-valid-issuing-bank-network-only-nonce"
36
+ ProcessorDeclinedVisa = "fake-processor-declined-visa-nonce"
37
+ ProcessorDeclinedMasterCard = "fake-processor-declined-mastercard-nonce"
38
+ ProcessorDeclinedAmEx = "fake-processor-declined-amex-nonce"
39
+ ProcessorDeclinedDiscover = "fake-processor-declined-discover-nonce"
40
+ ProcessorFailureJCB = "fake-processor-failure-jcb-nonce"
41
+ LuhnInvalid = "fake-luhn-invalid-nonce"
42
+ PayPalFuturePaymentRefreshToken = "fake-paypal-future-refresh-token-nonce"
43
+ SEPA = "fake-sepa-bank-account-nonce"
44
+ GatewayRejectedFraud = "fake-gateway-rejected-fraud-nonce"
45
+
46
+ def self.const_missing(const_name)
47
+ if const_name == :AndroidPay
48
+ warn "[DEPRECATED] Braintree::Test::Nonce::AndroidPay is deprecated. Use a card-specific nonce, e.g. Braintree::Test::Nonce::AndroidPayMasterCard"
49
+ "fake-android-pay-nonce"
50
+ else
51
+ super
52
+ end
53
+ end
15
54
  end
16
55
  end
17
56
  end
@@ -4,7 +4,8 @@ module Braintree
4
4
  include BaseModule
5
5
 
6
6
  attr_reader :card_type, :last_4, :expiration_month, :expiration_year,
7
- :google_transaction_id, :virtual_card_type, :virtual_card_last_4
7
+ :google_transaction_id, :virtual_card_type, :virtual_card_last_4,
8
+ :source_card_type, :source_card_last_4, :source_description
8
9
 
9
10
  def initialize(attributes)
10
11
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -4,7 +4,7 @@ module Braintree
4
4
  include BaseModule
5
5
 
6
6
  attr_reader :card_type, :last_4, :expiration_month, :expiration_year,
7
- :cardholder_name, :payment_instrument_name
7
+ :cardholder_name, :payment_instrument_name, :source_description
8
8
 
9
9
  def initialize(attributes)
10
10
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -5,7 +5,8 @@ module Braintree
5
5
 
6
6
  attr_reader :custom_field, :payer_email, :payment_id, :authorization_id, :token,
7
7
  :image_url, :debug_id, :payee_email, :payer_id, :payer_first_name, :payer_last_name,
8
- :seller_protection_status, :capture_id, :refund_id
8
+ :seller_protection_status, :capture_id, :refund_id, :transaction_fee_amount,
9
+ :transaction_fee_currency_iso_code, :description
9
10
 
10
11
  def initialize(attributes)
11
12
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -137,7 +137,7 @@ module Braintree
137
137
  :store_shipping_address_in_vault,
138
138
  :venmo_sdk_session,
139
139
  :payee_email,
140
- {:paypal => [:custom_field, :payee_email]},
140
+ {:paypal => [:custom_field, :payee_email, :description]},
141
141
  {:three_d_secure => [:required]}]
142
142
  },
143
143
  {:custom_fields => :_any_key_},
@@ -1,7 +1,7 @@
1
1
  module Braintree
2
2
  module Version
3
3
  Major = 2
4
- Minor = 46
4
+ Minor = 47
5
5
  Tiny = 0
6
6
 
7
7
  String = "#{Major}.#{Minor}.#{Tiny}"
@@ -19,7 +19,7 @@ module Braintree
19
19
  end
20
20
 
21
21
  def self._determine_parser
22
- if defined?(::LibXml::XML) && ::LibXml::XML.respond_to?(:default_keep_blanks=)
22
+ if defined?(::LibXML::XML) && ::LibXML::XML.respond_to?(:default_keep_blanks=)
23
23
  ::Braintree::Xml::Libxml
24
24
  else
25
25
  ::Braintree::Xml::Rexml
data/spec/httpsd.pid CHANGED
@@ -1 +1 @@
1
- 19187
1
+ 15911
@@ -790,9 +790,23 @@ describe Braintree::Customer do
790
790
  apple_pay_card.payment_instrument_name.should == "AmEx 41002"
791
791
  end
792
792
 
793
- it "returns associated AndroidPayCards" do
793
+ it "returns associated android pay proxy cards" do
794
794
  result = Braintree::Customer.create(
795
- :payment_method_nonce => Braintree::Test::Nonce::AndroidPay
795
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayDiscover
796
+ )
797
+ result.success?.should == true
798
+
799
+ found_customer = Braintree::Customer.find(result.customer.id)
800
+ found_customer.android_pay_cards.should_not be_nil
801
+ android_pay_card = found_customer.android_pay_cards.first
802
+ android_pay_card.should be_a Braintree::AndroidPayCard
803
+ android_pay_card.token.should_not be_nil
804
+ android_pay_card.expiration_year.should_not be_nil
805
+ end
806
+
807
+ it "returns associated android pay network tokens" do
808
+ result = Braintree::Customer.create(
809
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayMasterCard
796
810
  )
797
811
  result.success?.should == true
798
812
 
@@ -188,4 +188,13 @@ describe "OAuth" do
188
188
  query["payment_methods[]"].should include("credit_card")
189
189
  end
190
190
  end
191
+
192
+ describe "_compute_signature" do
193
+ it "computes the correct signature" do
194
+ url = "http://localhost:3000/oauth/connect?business%5Bname%5D=We+Like+Spaces&client_id=client_id%24development%24integration_client_id"
195
+ signature = @gateway.oauth._compute_signature(url)
196
+
197
+ signature.should == "a36bcf10dd982e2e47e0d6a2cb930aea47ade73f954b7d59c58dae6167894d41"
198
+ end
199
+ end
191
200
  end
@@ -88,17 +88,18 @@ describe Braintree::PaymentMethod do
88
88
  apple_pay_card.token.should == token
89
89
  apple_pay_card.card_type.should == Braintree::ApplePayCard::CardType::AmEx
90
90
  apple_pay_card.payment_instrument_name.should == "AmEx 41002"
91
+ apple_pay_card.source_description.should == "AmEx 41002"
91
92
  apple_pay_card.default.should == true
92
93
  apple_pay_card.image_url.should =~ /apple_pay/
93
94
  apple_pay_card.expiration_month.to_i.should > 0
94
95
  apple_pay_card.expiration_year.to_i.should > 0
95
96
  end
96
97
 
97
- it "creates a payment method from a fake android pay nonce" do
98
+ it "creates a payment method from a fake android pay proxy card nonce" do
98
99
  customer = Braintree::Customer.create.customer
99
100
  token = SecureRandom.hex(16)
100
101
  result = Braintree::PaymentMethod.create(
101
- :payment_method_nonce => Braintree::Test::Nonce::AndroidPay,
102
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayDiscover,
102
103
  :customer_id => customer.id,
103
104
  :token => token
104
105
  )
@@ -117,6 +118,33 @@ describe Braintree::PaymentMethod do
117
118
  android_pay_card.source_card_type.should == Braintree::CreditCard::CardType::Visa
118
119
  android_pay_card.source_card_last_4.should == "1111"
119
120
  android_pay_card.google_transaction_id.should == "google_transaction_id"
121
+ android_pay_card.source_description.should == "Visa 1111"
122
+ end
123
+
124
+ it "creates a payment method from a android pay network token nonce" do
125
+ customer = Braintree::Customer.create.customer
126
+ token = SecureRandom.hex(16)
127
+ result = Braintree::PaymentMethod.create(
128
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayMasterCard,
129
+ :customer_id => customer.id,
130
+ :token => token
131
+ )
132
+
133
+ result.should be_success
134
+ android_pay_card = result.payment_method
135
+ android_pay_card.should be_a(Braintree::AndroidPayCard)
136
+ android_pay_card.should_not be_nil
137
+ android_pay_card.token.should == token
138
+ android_pay_card.card_type.should == Braintree::CreditCard::CardType::MasterCard
139
+ android_pay_card.virtual_card_type.should == Braintree::CreditCard::CardType::MasterCard
140
+ android_pay_card.expiration_month.to_i.should > 0
141
+ android_pay_card.expiration_year.to_i.should > 0
142
+ android_pay_card.default.should == true
143
+ android_pay_card.image_url.should =~ /android_pay/
144
+ android_pay_card.source_card_type.should == Braintree::CreditCard::CardType::MasterCard
145
+ android_pay_card.source_card_last_4.should == "4444"
146
+ android_pay_card.google_transaction_id.should == "google_transaction_id"
147
+ android_pay_card.source_description.should == "MasterCard 4444"
120
148
  end
121
149
 
122
150
  it "allows passing the make_default option alongside the nonce" do
@@ -615,15 +643,16 @@ describe Braintree::PaymentMethod do
615
643
  apple_pay_card.image_url.should =~ /apple_pay/
616
644
  apple_pay_card.expiration_month.to_i.should > 0
617
645
  apple_pay_card.expiration_year.to_i.should > 0
646
+ apple_pay_card.source_description.should == "AmEx 41002"
618
647
  end
619
648
  end
620
649
 
621
650
  context "android pay cards" do
622
- it "finds the payment method with the given token" do
651
+ it "finds the proxy card payment method with the given token" do
623
652
  customer = Braintree::Customer.create!
624
653
  payment_method_token = "PAYMENT_METHOD_TOKEN_#{rand(36**3).to_s(36)}"
625
654
  result = Braintree::PaymentMethod.create(
626
- :payment_method_nonce => Braintree::Test::Nonce::AndroidPay,
655
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayDiscover,
627
656
  :customer_id => customer.id,
628
657
  :token => payment_method_token
629
658
  )
@@ -642,6 +671,33 @@ describe Braintree::PaymentMethod do
642
671
  android_pay_card.source_card_type.should == Braintree::CreditCard::CardType::Visa
643
672
  android_pay_card.source_card_last_4.should == "1111"
644
673
  android_pay_card.google_transaction_id.should == "google_transaction_id"
674
+ android_pay_card.source_description.should == "Visa 1111"
675
+ end
676
+
677
+ it "finds the network token payment method with the given token" do
678
+ customer = Braintree::Customer.create!
679
+ payment_method_token = "PAYMENT_METHOD_TOKEN_#{rand(36**3).to_s(36)}"
680
+ result = Braintree::PaymentMethod.create(
681
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayMasterCard,
682
+ :customer_id => customer.id,
683
+ :token => payment_method_token
684
+ )
685
+ result.should be_success
686
+
687
+ android_pay_card = Braintree::PaymentMethod.find(payment_method_token)
688
+ android_pay_card.should be_a(Braintree::AndroidPayCard)
689
+ android_pay_card.should_not be_nil
690
+ android_pay_card.token.should == payment_method_token
691
+ android_pay_card.card_type.should == Braintree::CreditCard::CardType::MasterCard
692
+ android_pay_card.virtual_card_type.should == Braintree::CreditCard::CardType::MasterCard
693
+ android_pay_card.expiration_month.to_i.should > 0
694
+ android_pay_card.expiration_year.to_i.should > 0
695
+ android_pay_card.default.should == true
696
+ android_pay_card.image_url.should =~ /android_pay/
697
+ android_pay_card.source_card_type.should == Braintree::CreditCard::CardType::MasterCard
698
+ android_pay_card.source_card_last_4.should == "4444"
699
+ android_pay_card.google_transaction_id.should == "google_transaction_id"
700
+ android_pay_card.source_description.should == "MasterCard 4444"
645
701
  end
646
702
  end
647
703
 
@@ -1331,17 +1331,18 @@ describe Braintree::Transaction do
1331
1331
  apple_pay_details.should_not be_nil
1332
1332
  apple_pay_details.card_type.should == Braintree::ApplePayCard::CardType::Visa
1333
1333
  apple_pay_details.payment_instrument_name.should == "Visa 8886"
1334
+ apple_pay_details.source_description.should == "Visa 8886"
1334
1335
  apple_pay_details.expiration_month.to_i.should > 0
1335
1336
  apple_pay_details.expiration_year.to_i.should > 0
1336
1337
  apple_pay_details.cardholder_name.should_not be_nil
1337
1338
  end
1338
1339
 
1339
- it "can create a transaction with a fake android pay nonce" do
1340
+ it "can create a transaction with a fake android pay proxy card nonce" do
1340
1341
  customer = Braintree::Customer.create!
1341
1342
  result = Braintree::Transaction.create(
1342
1343
  :type => "sale",
1343
1344
  :amount => Braintree::Test::TransactionAmounts::Authorize,
1344
- :payment_method_nonce => Braintree::Test::Nonce::AndroidPay
1345
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayDiscover
1345
1346
  )
1346
1347
  result.success?.should == true
1347
1348
  result.transaction.should_not be_nil
@@ -1351,6 +1352,28 @@ describe Braintree::Transaction do
1351
1352
  android_pay_details.virtual_card_type.should == Braintree::CreditCard::CardType::Discover
1352
1353
  android_pay_details.last_4.should == "1117"
1353
1354
  android_pay_details.virtual_card_last_4.should == "1117"
1355
+ android_pay_details.source_description.should == "Visa 1111"
1356
+ android_pay_details.expiration_month.to_i.should > 0
1357
+ android_pay_details.expiration_year.to_i.should > 0
1358
+ android_pay_details.google_transaction_id.should == "google_transaction_id"
1359
+ end
1360
+
1361
+ it "can create a transaction with a fake android pay network token nonce" do
1362
+ customer = Braintree::Customer.create!
1363
+ result = Braintree::Transaction.create(
1364
+ :type => "sale",
1365
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
1366
+ :payment_method_nonce => Braintree::Test::Nonce::AndroidPayMasterCard
1367
+ )
1368
+ result.success?.should == true
1369
+ result.transaction.should_not be_nil
1370
+ android_pay_details = result.transaction.android_pay_details
1371
+ android_pay_details.should_not be_nil
1372
+ android_pay_details.card_type.should == Braintree::CreditCard::CardType::MasterCard
1373
+ android_pay_details.virtual_card_type.should == Braintree::CreditCard::CardType::MasterCard
1374
+ android_pay_details.last_4.should == "4444"
1375
+ android_pay_details.virtual_card_last_4.should == "4444"
1376
+ android_pay_details.source_description.should == "MasterCard 4444"
1354
1377
  android_pay_details.expiration_month.to_i.should > 0
1355
1378
  android_pay_details.expiration_year.to_i.should > 0
1356
1379
  android_pay_details.google_transaction_id.should == "google_transaction_id"
@@ -1467,6 +1490,32 @@ describe Braintree::Transaction do
1467
1490
  result.transaction.paypal_details.debug_id.should_not be_nil
1468
1491
  result.transaction.paypal_details.custom_field.should == "Additional info"
1469
1492
  end
1493
+
1494
+ it "can create a transaction with a paypal description" do
1495
+ customer = Braintree::Customer.create!
1496
+ nonce = nonce_for_new_payment_method(
1497
+ :paypal_account => {
1498
+ :consent_code => "PAYPAL_CONSENT_CODE",
1499
+ }
1500
+ )
1501
+ nonce.should_not be_nil
1502
+
1503
+ result = Braintree::Transaction.create(
1504
+ :type => "sale",
1505
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
1506
+ :payment_method_nonce => nonce,
1507
+ :options => {
1508
+ :paypal => {
1509
+ :description => "A great product"
1510
+ }
1511
+ }
1512
+ )
1513
+
1514
+ result.success?.should == true
1515
+ result.transaction.paypal_details.should_not be_nil
1516
+ result.transaction.paypal_details.debug_id.should_not be_nil
1517
+ result.transaction.paypal_details.description.should == "A great product"
1518
+ end
1470
1519
  end
1471
1520
 
1472
1521
  context "three_d_secure" do
@@ -2901,6 +2950,8 @@ describe Braintree::Transaction do
2901
2950
  transaction.paypal_details.seller_protection_status.should_not be_nil
2902
2951
  transaction.paypal_details.capture_id.should_not be_nil
2903
2952
  transaction.paypal_details.refund_id.should_not be_nil
2953
+ transaction.paypal_details.transaction_fee_amount.should_not be_nil
2954
+ transaction.paypal_details.transaction_fee_currency_iso_code.should_not be_nil
2904
2955
  end
2905
2956
  end
2906
2957
  end
@@ -56,5 +56,11 @@ describe Braintree::Xml::Parser do
56
56
  END
57
57
  xml.should parse_to(:root => {:customers => [{:name => "Adam"}, {:name => "Ben"}]})
58
58
  end
59
+
60
+ it "parses using libxml" do
61
+ xml = "<root><foo type=\"integer\">123</foo></root>"
62
+ ::Braintree::Xml::Libxml.should_receive(:parse).and_call_original
63
+ Braintree::Xml::Parser.hash_from_xml(xml)
64
+ end
59
65
  end
60
66
  end
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.46.0
5
- prerelease:
4
+ version: 2.47.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Braintree
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-07-13 00:00:00.000000000 Z
11
+ date: 2015-08-18 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,227 +30,226 @@ executables: []
33
30
  extensions: []
34
31
  extra_rdoc_files: []
35
32
  files:
36
- - README.rdoc
37
33
  - LICENSE
38
- - lib/braintree/test_transaction.rb
39
- - lib/braintree/gateway.rb
40
- - lib/braintree/modification.rb
41
- - lib/braintree/errors.rb
42
- - lib/braintree/three_d_secure_info.rb
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
47
- - lib/braintree/http.rb
48
- - lib/braintree/address_gateway.rb
49
- - lib/braintree/transparent_redirect.rb
50
- - lib/braintree/sha256_digest.rb
51
- - lib/braintree/subscription.rb
52
- - lib/braintree/validation_error_collection.rb
53
- - lib/braintree/subscription/status_details.rb
54
- - lib/braintree/settlement_batch_summary_gateway.rb
55
- - lib/braintree/exceptions.rb
56
- - lib/braintree/plan.rb
57
- - lib/braintree/successful_result.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
66
- - lib/braintree/merchant_account/funding_details.rb
67
- - lib/braintree/merchant_account/business_details.rb
68
- - lib/braintree/merchant_account/address_details.rb
34
+ - README.rdoc
35
+ - braintree.gemspec
36
+ - lib/braintree.rb
69
37
  - lib/braintree/add_on.rb
70
- - lib/braintree/subscription_gateway.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/android_pay_card.rb
44
+ - lib/braintree/apple_pay_card.rb
45
+ - lib/braintree/base_module.rb
71
46
  - lib/braintree/client_token.rb
72
- - lib/braintree/coinbase_account.rb
73
- - lib/braintree/settlement_batch.rb
74
- - lib/braintree/error_result.rb
75
47
  - lib/braintree/client_token_gateway.rb
76
- - lib/braintree/validation_error.rb
48
+ - lib/braintree/coinbase_account.rb
49
+ - lib/braintree/configuration.rb
50
+ - lib/braintree/credentials_parser.rb
51
+ - lib/braintree/credit_card.rb
52
+ - lib/braintree/credit_card_gateway.rb
53
+ - lib/braintree/credit_card_verification.rb
54
+ - lib/braintree/credit_card_verification_gateway.rb
55
+ - lib/braintree/credit_card_verification_search.rb
77
56
  - lib/braintree/customer.rb
57
+ - lib/braintree/customer_gateway.rb
58
+ - lib/braintree/customer_search.rb
59
+ - lib/braintree/descriptor.rb
60
+ - lib/braintree/digest.rb
61
+ - lib/braintree/disbursement.rb
62
+ - lib/braintree/discount.rb
78
63
  - lib/braintree/discount_gateway.rb
79
- - lib/braintree/credit_card_gateway.rb
80
- - lib/braintree/apple_pay_card.rb
81
- - lib/braintree/testing_gateway.rb
82
- - lib/braintree/unknown_payment_method.rb
64
+ - lib/braintree/dispute.rb
65
+ - lib/braintree/dispute/transaction_details.rb
66
+ - lib/braintree/error_codes.rb
67
+ - lib/braintree/error_result.rb
68
+ - lib/braintree/errors.rb
69
+ - lib/braintree/europe_bank_account.rb
70
+ - lib/braintree/europe_bank_account_gateway.rb
71
+ - lib/braintree/exceptions.rb
72
+ - lib/braintree/gateway.rb
73
+ - lib/braintree/http.rb
74
+ - lib/braintree/merchant.rb
75
+ - lib/braintree/merchant_account.rb
76
+ - lib/braintree/merchant_account/address_details.rb
77
+ - lib/braintree/merchant_account/business_details.rb
78
+ - lib/braintree/merchant_account/funding_details.rb
79
+ - lib/braintree/merchant_account/individual_details.rb
80
+ - lib/braintree/merchant_account_gateway.rb
83
81
  - lib/braintree/merchant_gateway.rb
84
- - lib/braintree/digest.rb
85
- - lib/braintree/risk_data.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
82
+ - lib/braintree/modification.rb
83
+ - lib/braintree/oauth_credentials.rb
84
+ - lib/braintree/oauth_gateway.rb
85
+ - lib/braintree/payment_instrument_type.rb
86
+ - lib/braintree/payment_method.rb
91
87
  - lib/braintree/payment_method_gateway.rb
92
88
  - 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
89
+ - lib/braintree/payment_method_nonce_gateway.rb
90
+ - lib/braintree/paypal_account.rb
91
+ - lib/braintree/paypal_account_gateway.rb
92
+ - lib/braintree/plan.rb
93
+ - lib/braintree/plan_gateway.rb
97
94
  - lib/braintree/resource_collection.rb
95
+ - lib/braintree/risk_data.rb
96
+ - lib/braintree/settlement_batch.rb
98
97
  - 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
102
- - lib/braintree/transaction/apple_pay_details.rb
103
- - lib/braintree/transaction/subscription_details.rb
104
- - lib/braintree/transaction/paypal_details.rb
98
+ - lib/braintree/settlement_batch_summary_gateway.rb
99
+ - lib/braintree/sha256_digest.rb
100
+ - lib/braintree/signature_service.rb
101
+ - lib/braintree/subscription.rb
102
+ - lib/braintree/subscription/status_details.rb
103
+ - lib/braintree/subscription_gateway.rb
104
+ - lib/braintree/subscription_search.rb
105
+ - lib/braintree/successful_result.rb
106
+ - lib/braintree/test/credit_card.rb
107
+ - lib/braintree/test/merchant_account.rb
108
+ - lib/braintree/test/nonce.rb
109
+ - lib/braintree/test/transaction_amounts.rb
110
+ - lib/braintree/test/venmo_sdk.rb
111
+ - lib/braintree/test_transaction.rb
112
+ - lib/braintree/testing_gateway.rb
113
+ - lib/braintree/three_d_secure_info.rb
114
+ - lib/braintree/transaction.rb
105
115
  - lib/braintree/transaction/address_details.rb
106
116
  - lib/braintree/transaction/android_pay_details.rb
107
- - lib/braintree/transaction/customer_details.rb
117
+ - lib/braintree/transaction/apple_pay_details.rb
108
118
  - lib/braintree/transaction/coinbase_details.rb
109
- - lib/braintree/transaction/disbursement_details.rb
110
119
  - lib/braintree/transaction/credit_card_details.rb
120
+ - lib/braintree/transaction/customer_details.rb
121
+ - lib/braintree/transaction/disbursement_details.rb
122
+ - lib/braintree/transaction/paypal_details.rb
111
123
  - lib/braintree/transaction/status_details.rb
124
+ - lib/braintree/transaction/subscription_details.rb
125
+ - lib/braintree/transaction_gateway.rb
126
+ - lib/braintree/transaction_search.rb
127
+ - lib/braintree/transparent_redirect.rb
112
128
  - 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
129
+ - lib/braintree/unknown_payment_method.rb
130
+ - lib/braintree/util.rb
131
+ - lib/braintree/validation_error.rb
132
+ - lib/braintree/validation_error_collection.rb
133
+ - lib/braintree/version.rb
134
+ - lib/braintree/webhook_notification.rb
135
+ - lib/braintree/webhook_notification_gateway.rb
136
+ - lib/braintree/webhook_testing.rb
137
+ - lib/braintree/webhook_testing_gateway.rb
138
+ - lib/braintree/xml.rb
120
139
  - lib/braintree/xml/generator.rb
121
140
  - lib/braintree/xml/libxml.rb
122
141
  - lib/braintree/xml/parser.rb
123
142
  - lib/braintree/xml/rexml.rb
124
- - lib/braintree/signature_service.rb
125
- - lib/braintree/credit_card.rb
126
- - lib/braintree/payment_instrument_type.rb
127
- - lib/braintree/dispute/transaction_details.rb
128
- - lib/braintree/add_on_gateway.rb
129
- - lib/braintree/oauth_credentials.rb
130
- - lib/braintree/payment_method.rb
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
145
143
  - lib/ssl/api_braintreegateway_com.ca.crt
146
- - lib/ssl/www_braintreegateway_com.ca.crt
147
- - lib/ssl/securetrust_ca.crt
148
144
  - 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
145
+ - lib/ssl/securetrust_ca.crt
146
+ - lib/ssl/www_braintreegateway_com.ca.crt
154
147
  - spec/hacks/tcp_socket.rb
155
- - spec/spec.opts
156
- - spec/integration/spec_helper.rb
157
- - spec/integration/braintree/credit_card_spec.rb
158
- - spec/integration/braintree/oauth_spec.rb
159
- - spec/integration/braintree/payment_method_spec.rb
160
- - spec/integration/braintree/customer_search_spec.rb
148
+ - spec/httpsd.pid
161
149
  - spec/integration/braintree/add_on_spec.rb
162
- - spec/integration/braintree/http_spec.rb
163
- - spec/integration/braintree/client_api/spec_helper.rb
150
+ - spec/integration/braintree/address_spec.rb
151
+ - spec/integration/braintree/advanced_search_spec.rb
164
152
  - spec/integration/braintree/client_api/client_token_spec.rb
165
- - spec/integration/braintree/transaction_spec.rb
153
+ - spec/integration/braintree/client_api/spec_helper.rb
154
+ - spec/integration/braintree/coinbase_spec.rb
155
+ - spec/integration/braintree/credit_card_spec.rb
166
156
  - spec/integration/braintree/credit_card_verification_search_spec.rb
167
- - spec/integration/braintree/test_transaction_spec.rb
168
- - spec/integration/braintree/plan_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
157
  - spec/integration/braintree/credit_card_verification_spec.rb
173
- - spec/integration/braintree/discount_spec.rb
174
- - spec/integration/braintree/advanced_search_spec.rb
158
+ - spec/integration/braintree/customer_search_spec.rb
159
+ - spec/integration/braintree/customer_spec.rb
175
160
  - spec/integration/braintree/disbursement_spec.rb
161
+ - spec/integration/braintree/discount_spec.rb
162
+ - spec/integration/braintree/error_codes_spec.rb
163
+ - spec/integration/braintree/http_spec.rb
176
164
  - spec/integration/braintree/merchant_account_spec.rb
165
+ - spec/integration/braintree/merchant_spec.rb
166
+ - spec/integration/braintree/oauth_spec.rb
167
+ - spec/integration/braintree/payment_method_nonce_spec.rb
168
+ - spec/integration/braintree/payment_method_spec.rb
169
+ - spec/integration/braintree/paypal_account_spec.rb
170
+ - spec/integration/braintree/plan_spec.rb
171
+ - spec/integration/braintree/settlement_batch_summary_spec.rb
177
172
  - spec/integration/braintree/subscription_spec.rb
178
173
  - spec/integration/braintree/test/transaction_amounts_spec.rb
179
- - spec/integration/braintree/payment_method_nonce_spec.rb
174
+ - spec/integration/braintree/test_transaction_spec.rb
180
175
  - spec/integration/braintree/transaction_search_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
176
+ - spec/integration/braintree/transaction_spec.rb
177
+ - spec/integration/braintree/transparent_redirect_spec.rb
178
+ - spec/integration/spec_helper.rb
179
+ - spec/oauth_test_helper.rb
186
180
  - spec/script/httpsd.rb
187
- - spec/unit/braintree_spec.rb
188
- - spec/unit/spec_helper.rb
189
- - spec/unit/braintree/credit_card_spec.rb
190
- - spec/unit/braintree/payment_method_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
195
- - spec/unit/braintree/transaction_spec.rb
196
- - spec/unit/braintree/error_result_spec.rb
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
181
+ - spec/spec.opts
182
+ - spec/spec_helper.rb
183
+ - spec/ssl/certificate.crt
184
+ - spec/ssl/geotrust_global.crt
185
+ - spec/ssl/privateKey.key
203
186
  - spec/unit/braintree/address_spec.rb
187
+ - spec/unit/braintree/apple_pay_card_spec.rb
188
+ - spec/unit/braintree/base_module_spec.rb
189
+ - spec/unit/braintree/client_token_spec.rb
204
190
  - spec/unit/braintree/configuration_spec.rb
205
- - spec/unit/braintree/three_d_secure_info_spec.rb
191
+ - spec/unit/braintree/credentials_parser_spec.rb
192
+ - spec/unit/braintree/credit_card_spec.rb
193
+ - spec/unit/braintree/credit_card_verification_search_spec.rb
206
194
  - spec/unit/braintree/credit_card_verification_spec.rb
195
+ - spec/unit/braintree/customer_spec.rb
196
+ - spec/unit/braintree/digest_spec.rb
207
197
  - spec/unit/braintree/disbursement_spec.rb
208
- - spec/unit/braintree/util_spec.rb
209
- - spec/unit/braintree/risk_data_spec.rb
210
- - spec/unit/braintree/validation_error_collection_spec.rb
198
+ - spec/unit/braintree/dispute_spec.rb
199
+ - spec/unit/braintree/error_result_spec.rb
200
+ - spec/unit/braintree/errors_spec.rb
201
+ - spec/unit/braintree/http_spec.rb
211
202
  - spec/unit/braintree/merchant_account_spec.rb
203
+ - spec/unit/braintree/modification_spec.rb
204
+ - spec/unit/braintree/payment_method_spec.rb
205
+ - spec/unit/braintree/paypal_account_spec.rb
206
+ - spec/unit/braintree/resource_collection_spec.rb
207
+ - spec/unit/braintree/risk_data_spec.rb
208
+ - spec/unit/braintree/sha256_digest_spec.rb
209
+ - spec/unit/braintree/signature_service_spec.rb
210
+ - spec/unit/braintree/subscription_search_spec.rb
212
211
  - spec/unit/braintree/subscription_spec.rb
213
- - spec/unit/braintree/transaction/customer_details_spec.rb
212
+ - spec/unit/braintree/successful_result_spec.rb
213
+ - spec/unit/braintree/three_d_secure_info_spec.rb
214
214
  - spec/unit/braintree/transaction/credit_card_details_spec.rb
215
+ - spec/unit/braintree/transaction/customer_details_spec.rb
215
216
  - spec/unit/braintree/transaction/deposit_details_spec.rb
217
+ - spec/unit/braintree/transaction_search_spec.rb
218
+ - spec/unit/braintree/transaction_spec.rb
219
+ - spec/unit/braintree/transparent_redirect_spec.rb
216
220
  - spec/unit/braintree/unknown_payment_method_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
221
+ - spec/unit/braintree/util_spec.rb
222
+ - spec/unit/braintree/validation_error_collection_spec.rb
223
+ - spec/unit/braintree/validation_error_spec.rb
224
+ - spec/unit/braintree/webhook_notification_spec.rb
220
225
  - spec/unit/braintree/xml/libxml_spec.rb
226
+ - spec/unit/braintree/xml/parser_spec.rb
221
227
  - 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
225
- - spec/unit/braintree/sha256_digest_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
232
- - spec/httpsd.pid
233
- - braintree.gemspec
228
+ - spec/unit/braintree/xml_spec.rb
229
+ - spec/unit/braintree_spec.rb
230
+ - spec/unit/spec_helper.rb
234
231
  homepage: http://www.braintreepayments.com/
235
232
  licenses:
236
233
  - MIT
234
+ metadata: {}
237
235
  post_install_message:
238
236
  rdoc_options: []
239
237
  require_paths:
240
238
  - lib
241
239
  required_ruby_version: !ruby/object:Gem::Requirement
242
- none: false
243
240
  requirements:
244
- - - ! '>='
241
+ - - ">="
245
242
  - !ruby/object:Gem::Version
246
243
  version: '0'
247
244
  required_rubygems_version: !ruby/object:Gem::Requirement
248
- none: false
249
245
  requirements:
250
- - - ! '>='
246
+ - - ">="
251
247
  - !ruby/object:Gem::Version
252
248
  version: '0'
253
249
  requirements: []
254
250
  rubyforge_project: braintree
255
- rubygems_version: 1.8.23
251
+ rubygems_version: 2.4.3
256
252
  signing_key:
257
- specification_version: 3
253
+ specification_version: 4
258
254
  summary: Braintree Gateway Ruby Client Library
259
255
  test_files: []