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 +7 -0
- data/README.rdoc +10 -0
- data/lib/braintree/android_pay_card.rb +1 -1
- data/lib/braintree/apple_pay_card.rb +1 -1
- data/lib/braintree/oauth_gateway.rb +4 -4
- data/lib/braintree/test/nonce.rb +40 -1
- data/lib/braintree/transaction/android_pay_details.rb +2 -1
- data/lib/braintree/transaction/apple_pay_details.rb +1 -1
- data/lib/braintree/transaction/paypal_details.rb +2 -1
- data/lib/braintree/transaction_gateway.rb +1 -1
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/xml/parser.rb +1 -1
- data/spec/httpsd.pid +1 -1
- data/spec/integration/braintree/customer_spec.rb +16 -2
- data/spec/integration/braintree/oauth_spec.rb +9 -0
- data/spec/integration/braintree/payment_method_spec.rb +60 -4
- data/spec/integration/braintree/transaction_spec.rb +53 -2
- data/spec/unit/braintree/xml/parser_spec.rb +6 -0
- metadata +162 -166
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
|
-
|
|
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
|
|
63
|
+
def _compute_signature(url)
|
|
63
64
|
key_digest = OpenSSL::Digest::SHA256.digest(@config.client_secret)
|
|
64
|
-
|
|
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
|
data/lib/braintree/test/nonce.rb
CHANGED
|
@@ -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
|
-
|
|
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_},
|
data/lib/braintree/version.rb
CHANGED
data/lib/braintree/xml/parser.rb
CHANGED
|
@@ -19,7 +19,7 @@ module Braintree
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def self._determine_parser
|
|
22
|
-
if defined?(::
|
|
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
|
-
|
|
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
|
|
793
|
+
it "returns associated android pay proxy cards" do
|
|
794
794
|
result = Braintree::Customer.create(
|
|
795
|
-
:payment_method_nonce => Braintree::Test::Nonce::
|
|
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::
|
|
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::
|
|
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::
|
|
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.
|
|
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-
|
|
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
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- lib/braintree
|
|
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/
|
|
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/
|
|
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/
|
|
80
|
-
- lib/braintree/
|
|
81
|
-
- lib/braintree/
|
|
82
|
-
- lib/braintree/
|
|
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/
|
|
85
|
-
- lib/braintree/
|
|
86
|
-
- lib/braintree/
|
|
87
|
-
- lib/braintree/
|
|
88
|
-
- lib/braintree/
|
|
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/
|
|
94
|
-
- lib/braintree/
|
|
95
|
-
- lib/braintree/
|
|
96
|
-
- lib/braintree/
|
|
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/
|
|
100
|
-
- lib/braintree/
|
|
101
|
-
- lib/braintree/
|
|
102
|
-
- lib/braintree/
|
|
103
|
-
- lib/braintree/
|
|
104
|
-
- lib/braintree/
|
|
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/
|
|
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/
|
|
114
|
-
- lib/braintree/
|
|
115
|
-
- lib/braintree/
|
|
116
|
-
- lib/braintree/
|
|
117
|
-
- lib/braintree/
|
|
118
|
-
- lib/braintree/
|
|
119
|
-
- lib/braintree/
|
|
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
|
-
-
|
|
150
|
-
-
|
|
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/
|
|
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/
|
|
163
|
-
- spec/integration/braintree/
|
|
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/
|
|
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/
|
|
174
|
-
- spec/integration/braintree/
|
|
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/
|
|
174
|
+
- spec/integration/braintree/test_transaction_spec.rb
|
|
180
175
|
- spec/integration/braintree/transaction_search_spec.rb
|
|
181
|
-
- spec/integration/braintree/
|
|
182
|
-
- spec/integration/braintree/
|
|
183
|
-
- spec/integration/
|
|
184
|
-
- spec/
|
|
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/
|
|
188
|
-
- spec/
|
|
189
|
-
- spec/
|
|
190
|
-
- spec/
|
|
191
|
-
- spec/
|
|
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/
|
|
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/
|
|
209
|
-
- spec/unit/braintree/
|
|
210
|
-
- spec/unit/braintree/
|
|
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/
|
|
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/
|
|
218
|
-
- spec/unit/braintree/
|
|
219
|
-
- spec/unit/braintree/
|
|
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/
|
|
223
|
-
- spec/unit/
|
|
224
|
-
- spec/unit/
|
|
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:
|
|
251
|
+
rubygems_version: 2.4.3
|
|
256
252
|
signing_key:
|
|
257
|
-
specification_version:
|
|
253
|
+
specification_version: 4
|
|
258
254
|
summary: Braintree Gateway Ruby Client Library
|
|
259
255
|
test_files: []
|