braintree 2.66.0 → 2.67.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.
@@ -90,7 +90,7 @@ module Braintree
90
90
 
91
91
  def self._signature(type) # :nodoc:
92
92
  billing_address_params = AddressGateway._shared_signature
93
- options = [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session]
93
+ options = [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method]
94
94
  signature = [
95
95
  :billing_address_id, :cardholder_name, :cvv, :device_session_id, :expiration_date,
96
96
  :expiration_month, :expiration_year, :number, :token, :venmo_sdk_payment_method_code,
@@ -101,7 +101,6 @@ module Braintree
101
101
 
102
102
  case type
103
103
  when :create
104
- options << :fail_on_duplicate_payment_method
105
104
  signature << :customer_id
106
105
  when :update
107
106
  billing_address_params << {:options => [:update_existing]}
@@ -73,11 +73,13 @@ module Braintree
73
73
 
74
74
  def self._create_signature # :nodoc:
75
75
  credit_card_signature = CreditCardGateway._create_signature - [:customer_id]
76
+ paypal_account_signature = PayPalAccountGateway._create_nested_signature
76
77
  [
77
78
  :company, :email, :fax, :first_name, :id, :last_name, :phone, :website,
78
79
  :device_data, :payment_method_nonce,
79
80
  {:risk_data => [:customer_browser, :customer_ip]},
80
81
  {:credit_card => credit_card_signature},
82
+ {:paypal_account => paypal_account_signature},
81
83
  {:custom_fields => :_any_key_}
82
84
  ]
83
85
  end
@@ -266,6 +266,7 @@ module Braintree
266
266
  CannotBeVoided = "91504"
267
267
  CannotCancelRelease = "91562"
268
268
  CannotCloneCredit = "91543"
269
+ CannotCloneMarketplaceTransaction = "915137"
269
270
  CannotCloneTransactionWithPayPalAccount = "91573"
270
271
  CannotCloneTransactionWithVaultCreditCard = "91540"
271
272
  CannotCloneUnsuccessfulTransaction = "91542"
@@ -18,6 +18,10 @@ module Braintree
18
18
  self.new(*args)
19
19
  end
20
20
 
21
+ def self.create(attributes)
22
+ Configuration.gateway.paypal_account.create(attributes)
23
+ end
24
+
21
25
  def self.find(token)
22
26
  Configuration.gateway.paypal_account.find(token)
23
27
  end
@@ -14,6 +14,11 @@ module Braintree
14
14
  raise NotFoundError, "payment method with token #{token.inspect} not found"
15
15
  end
16
16
 
17
+ def create(attributes)
18
+ Util.verify_keys(PayPalAccountGateway._create_signature, attributes)
19
+ _do_create("/payment_methods", :paypal_account => attributes)
20
+ end
21
+
17
22
  def update(token, attributes)
18
23
  Util.verify_keys(PayPalAccountGateway._update_signature, attributes)
19
24
  _do_update(:put, "/payment_methods/paypal_account/#{token}", :paypal_account => attributes)
@@ -23,6 +28,17 @@ module Braintree
23
28
  @config.http.delete("#{@config.base_merchant_path}/payment_methods/paypal_account/#{token}")
24
29
  end
25
30
 
31
+ def _do_create(path, params) # :nodoc:
32
+ response = @config.http.post("#{@config.base_merchant_path}#{path}", params)
33
+ if response[:paypal_account]
34
+ SuccessfulResult.new(:paypal_account => PayPalAccount._new(@gateway, response[:paypal_account]))
35
+ elsif response[:api_error_response]
36
+ ErrorResult.new(@gateway, response[:api_error_response])
37
+ else
38
+ raise UnexpectedError, "expected :paypal_account or :api_error_response"
39
+ end
40
+ end
41
+
26
42
  def _do_update(http_verb, path, params) # :nodoc:
27
43
  response = @config.http.send(http_verb, "#{@config.base_merchant_path}#{path}", params)
28
44
  if response[:paypal_account]
@@ -34,9 +50,24 @@ module Braintree
34
50
  end
35
51
  end
36
52
 
53
+ def self._create_signature # :nodoc:
54
+ options = [:fail_on_duplicate_payment_method, :make_default]
55
+ [
56
+ :email, :token, :billing_agreement_id, :customer_id,
57
+ {:options => options},
58
+ ]
59
+ end
60
+
61
+ def self._create_nested_signature # :nodoc:
62
+ [
63
+ :email, :token, :billing_agreement_id,
64
+ {:options => [:make_default]}
65
+ ]
66
+ end
67
+
37
68
  def self._update_signature # :nodoc:
38
- options = [:make_default]
39
- [:token, {:options => options}]
69
+ options = [:fail_on_duplicate_payment_method, :make_default]
70
+ [:email, :token, :billing_agreement_id, {:options => options}]
40
71
  end
41
72
  end
42
73
  end
@@ -3,7 +3,7 @@ module Braintree
3
3
  class StatusDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :balance, :price, :status, :subscription_source, :timestamp, :user, :currency_iso_code
6
+ attr_reader :balance, :price, :status, :subscription_source, :timestamp, :user, :currency_iso_code, :plan_id
7
7
 
8
8
  def initialize(attributes)
9
9
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -6,6 +6,6 @@ module Braintree
6
6
  multiple_value_or_text_field :plan_id
7
7
  multiple_value_field :status, :allows => Subscription::Status::All
8
8
  multiple_value_field :merchant_account_id
9
- range_fields :price, :days_past_due, :billing_cycles_remaining, :next_billing_date
9
+ range_fields :created_at, :price, :days_past_due, :billing_cycles_remaining, :next_billing_date
10
10
  end
11
11
  end
@@ -2,7 +2,7 @@ module Braintree
2
2
  class SuccessfulResult
3
3
  include BaseModule
4
4
 
5
- attr_reader :address, :credit_card, :customer, :merchant_account, :payment_method, :settlement_batch_summary, :subscription, :new_transaction, :transaction, :payment_method_nonce, :credentials, :merchant, :supported_networks
5
+ attr_reader :address, :credit_card, :customer, :merchant_account, :payment_method, :settlement_batch_summary, :subscription, :new_transaction, :transaction, :payment_method_nonce, :credentials, :merchant, :supported_networks, :paypal_account
6
6
 
7
7
  def initialize(attributes = {}) # :nodoc:
8
8
  @attrs = attributes.keys
@@ -1,7 +1,7 @@
1
1
  module Braintree
2
2
  module Version
3
3
  Major = 2
4
- Minor = 66
4
+ Minor = 67
5
5
  Tiny = 0
6
6
 
7
7
  String = "#{Major}.#{Minor}.#{Tiny}"
@@ -0,0 +1 @@
1
+ 32475
@@ -165,6 +165,7 @@ describe Braintree::Customer do
165
165
  :cvv => "100"
166
166
  }
167
167
  )
168
+
168
169
  result.success?.should == true
169
170
  result.customer.first_name.should == "Mike"
170
171
  result.customer.last_name.should == "Jones"
@@ -174,6 +175,24 @@ describe Braintree::Customer do
174
175
  result.customer.credit_cards[0].unique_number_identifier.should =~ /\A\w{32}\z/
175
176
  end
176
177
 
178
+ it "can create a customer and a paypal account at the same time" do
179
+ result = Braintree::Customer.create(
180
+ :first_name => "Mike",
181
+ :last_name => "Jones",
182
+ :paypal_account => {
183
+ :email => "other@example.com",
184
+ :billing_agreement_id => "B-123456",
185
+ :options => {:make_default => true}
186
+ }
187
+ )
188
+
189
+ result.success?.should == true
190
+ result.customer.first_name.should == "Mike"
191
+ result.customer.last_name.should == "Jones"
192
+ result.customer.paypal_accounts[0].billing_agreement_id.should == "B-123456"
193
+ result.customer.paypal_accounts[0].email.should == "other@example.com"
194
+ end
195
+
177
196
  it "verifies the card if credit_card[options][verify_card]=true" do
178
197
  result = Braintree::Customer.create(
179
198
  :first_name => "Mike",
@@ -925,6 +944,27 @@ describe Braintree::Customer do
925
944
  result.customer.custom_fields[:store_me].should == "a value"
926
945
  end
927
946
 
947
+ it "does not update customer with duplicate payment method if fail_on_payment_method option set" do
948
+ customer = Braintree::Customer.create!(
949
+ :credit_card => {
950
+ :number => 4111111111111111,
951
+ :expiration_date => "05/2010",
952
+ }
953
+ )
954
+ result = Braintree::Customer.update(
955
+ customer.id,
956
+ :credit_card => {
957
+ :number => 4111111111111111,
958
+ :expiration_date => "05/2010",
959
+ :options=> {
960
+ :fail_on_duplicate_payment_method => true
961
+ }
962
+ }
963
+ )
964
+ result.success?.should == false
965
+ result.errors.for(:customer).for(:credit_card).on(:number)[0].message.should == "Duplicate card exists in the vault."
966
+ end
967
+
928
968
  it "updates the default payment method" do
929
969
  customer = Braintree::Customer.create!(
930
970
  :first_name => "Joe",
@@ -94,7 +94,69 @@ describe Braintree::PayPalAccount do
94
94
  end
95
95
  end
96
96
 
97
+ describe "self.create" do
98
+ it "creates a PayPalAccount" do
99
+ customer = Braintree::Customer.create!
100
+ result = Braintree::PayPalAccount.create(
101
+ :customer_id => customer.id,
102
+ :billing_agreement_id => "some_billing_agreement_id",
103
+ :email => "some@example.com",
104
+ :options => {
105
+ :make_default => true,
106
+ :fail_on_duplicate_payment_method => true,
107
+ }
108
+ )
109
+
110
+ result.should be_success
111
+ result.paypal_account.billing_agreement_id.should == "some_billing_agreement_id"
112
+ result.paypal_account.email.should == "some@example.com"
113
+ end
114
+
115
+ it "throws an error if customer id is not specified" do
116
+ result = Braintree::PayPalAccount.create(
117
+ :billing_agreement_id => "some_billing_agreement_id",
118
+ :email => "some@example.com"
119
+ )
120
+
121
+ result.success?.should == false
122
+ result.errors.first.code.should == "82905"
123
+ end
124
+
125
+ it "throws an error if billing agreement id is not specified" do
126
+ customer = Braintree::Customer.create!
127
+ result = Braintree::PayPalAccount.create(
128
+ :customer_id => customer.id,
129
+ :email => "some@example.com"
130
+ )
131
+
132
+ result.success?.should == false
133
+ result.errors.first.code.should == "82902"
134
+ end
135
+ end
136
+
97
137
  describe "self.update" do
138
+ it "updates a PayPalAccount" do
139
+ customer = Braintree::Customer.create!
140
+ create_result = Braintree::PayPalAccount.create(
141
+ :customer_id => customer.id,
142
+ :billing_agreement_id => "first_billing_agreement_id",
143
+ :email => "first@example.com"
144
+ )
145
+ create_result.success?.should == true
146
+
147
+ update_result = Braintree::PayPalAccount.update(
148
+ create_result.paypal_account.token,
149
+ :billing_agreement_id => "second_billing_agreement_id",
150
+ :email => "second@example.com"
151
+ )
152
+
153
+ update_result.success?.should == true
154
+ paypal_account = update_result.paypal_account
155
+
156
+ paypal_account.billing_agreement_id.should == "second_billing_agreement_id"
157
+ paypal_account.email.should == "second@example.com"
158
+ end
159
+
98
160
  it "updates a paypal account's token" do
99
161
  customer = Braintree::Customer.create!
100
162
  original_token = random_payment_method_token
@@ -43,6 +43,7 @@ describe Braintree::Subscription do
43
43
  result.subscription.status_history.first.status.should == Braintree::Subscription::Status::Active
44
44
  result.subscription.status_history.first.subscription_source.should == Braintree::Subscription::Source::Api
45
45
  result.subscription.status_history.first.currency_iso_code.should == "USD"
46
+ result.subscription.status_history.first.plan_id.should == SpecHelper::TriallessPlan[:id]
46
47
  end
47
48
 
48
49
  it "returns a transaction with billing period populated" do
@@ -1470,6 +1471,139 @@ describe Braintree::Subscription do
1470
1471
  end
1471
1472
  end
1472
1473
 
1474
+ context "created_at" do
1475
+ before(:each) do
1476
+ @subscription = Braintree::Subscription.create(
1477
+ :payment_method_token => @credit_card.token,
1478
+ :plan_id => SpecHelper::TriallessPlan[:id]
1479
+ ).subscription
1480
+ @created_at = @subscription.created_at
1481
+ end
1482
+
1483
+ it "searches on created_at in UTC using between" do
1484
+ @created_at.should be_utc
1485
+
1486
+ collection = Braintree::Subscription.search do |search|
1487
+ search.id.is @subscription.id
1488
+ search.created_at.between(
1489
+ @created_at - 60,
1490
+ @created_at + 60
1491
+ )
1492
+ end
1493
+
1494
+ collection.maximum_size.should == 1
1495
+ collection.first.id.should == @subscription.id
1496
+ end
1497
+
1498
+ it "searches on created_at in UTC using geq" do
1499
+ collection = Braintree::Subscription.search do |search|
1500
+ search.id.is @subscription.id
1501
+ search.created_at >= @created_at - 1
1502
+ end
1503
+
1504
+ collection.maximum_size.should == 1
1505
+ collection.first.id.should == @subscription.id
1506
+ end
1507
+
1508
+ it "searches on created_at in UTC using leq" do
1509
+ collection = Braintree::Subscription.search do |search|
1510
+ search.id.is @subscription.id
1511
+ search.created_at <= @created_at + 1
1512
+ end
1513
+
1514
+ collection.maximum_size.should == 1
1515
+ collection.first.id.should == @subscription.id
1516
+ end
1517
+
1518
+ it "searches on created_at in UTC and finds nothing" do
1519
+ collection = Braintree::Subscription.search do |search|
1520
+ search.id.is @subscription.id
1521
+ search.created_at.between(
1522
+ @created_at + 300,
1523
+ @created_at + 400
1524
+ )
1525
+ end
1526
+
1527
+ collection.maximum_size.should == 0
1528
+ end
1529
+
1530
+ it "searches on created_at in UTC using exact time" do
1531
+ collection = Braintree::Subscription.search do |search|
1532
+ search.id.is @subscription.id
1533
+ search.created_at.is @created_at
1534
+ end
1535
+
1536
+ collection.maximum_size.should == 1
1537
+ collection.first.id.should == @subscription.id
1538
+ end
1539
+
1540
+ it "searches on created_at in local time using between" do
1541
+ now = Time.now
1542
+
1543
+ collection = Braintree::Subscription.search do |search|
1544
+ search.id.is @subscription.id
1545
+ search.created_at.between(
1546
+ now - 60,
1547
+ now + 60
1548
+ )
1549
+ end
1550
+
1551
+ collection.maximum_size.should == 1
1552
+ collection.first.id.should == @subscription.id
1553
+ end
1554
+
1555
+ it "searches on created_at in local time using geq" do
1556
+ now = Time.now
1557
+
1558
+ collection = Braintree::Subscription.search do |search|
1559
+ search.id.is @subscription.id
1560
+ search.created_at >= now - 60
1561
+ end
1562
+
1563
+ collection.maximum_size.should == 1
1564
+ collection.first.id.should == @subscription.id
1565
+ end
1566
+
1567
+ it "searches on created_at in local time using leq" do
1568
+ now = Time.now
1569
+
1570
+ collection = Braintree::Subscription.search do |search|
1571
+ search.id.is @subscription.id
1572
+ search.created_at <= now + 60
1573
+ end
1574
+
1575
+ collection.maximum_size.should == 1
1576
+ collection.first.id.should == @subscription.id
1577
+ end
1578
+
1579
+ it "searches on created_at in local time and finds nothing" do
1580
+ now = Time.now
1581
+
1582
+ collection = Braintree::Subscription.search do |search|
1583
+ search.id.is @subscription.id
1584
+ search.created_at.between(
1585
+ now + 300,
1586
+ now + 400
1587
+ )
1588
+ end
1589
+
1590
+ collection.maximum_size.should == 0
1591
+ end
1592
+
1593
+ it "searches on created_at with dates" do
1594
+ collection = Braintree::Subscription.search do |search|
1595
+ search.id.is @subscription.id
1596
+ search.created_at.between(
1597
+ Date.today - 1,
1598
+ Date.today + 1
1599
+ )
1600
+ end
1601
+
1602
+ collection.maximum_size.should == 1
1603
+ collection.first.id.should == @subscription.id
1604
+ end
1605
+ end
1606
+
1473
1607
  it "returns multiple results" do
1474
1608
  (110 - Braintree::Subscription.search.maximum_size).times do
1475
1609
  Braintree::Subscription.create(:payment_method_token => @credit_card.token, :plan_id => SpecHelper::TrialPlan[:id])
@@ -1797,7 +1797,7 @@ describe Braintree::Transaction do
1797
1797
  :expiration_date => "12/12",
1798
1798
  },
1799
1799
  :three_d_secure_pass_thru => {
1800
- :eci_flag => "06",
1800
+ :eci_flag => "05",
1801
1801
  :cavv => "",
1802
1802
  :xid => "",
1803
1803
  }
@@ -61,7 +61,7 @@ describe Braintree::CreditCard do
61
61
  :device_data,
62
62
  :fraud_merchant_id,
63
63
  :payment_method_nonce,
64
- {:options => [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session]},
64
+ {:options => [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method]},
65
65
  {:billing_address => [
66
66
  :company,
67
67
  :country_code_alpha2,
@@ -117,6 +117,12 @@ describe Braintree::Customer do
117
117
  :street_address
118
118
  ]}
119
119
  ]},
120
+ {:paypal_account => [
121
+ :email,
122
+ :token,
123
+ :billing_agreement_id,
124
+ {:options => [:make_default]},
125
+ ]},
120
126
  {:custom_fields => :_any_key_}
121
127
  ]
122
128
  end
@@ -156,6 +162,7 @@ describe Braintree::Customer do
156
162
  :verify_card,
157
163
  :verification_amount,
158
164
  :venmo_sdk_session,
165
+ :fail_on_duplicate_payment_method,
159
166
  :update_existing_token
160
167
  ]},
161
168
  {:billing_address => [
@@ -1,6 +1,19 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
2
 
3
3
  describe Braintree::PayPalAccount do
4
+ describe "self.create" do
5
+ it "raises an exception if attributes contain an invalid key" do
6
+ expect do
7
+ result = Braintree::PayPalAccount.create(
8
+ :invalid_key => "bad stuff",
9
+ :options => {
10
+ :invalid_option => "bad option",
11
+ }
12
+ )
13
+ end.to raise_error(ArgumentError, "invalid keys: invalid_key, options[invalid_option]")
14
+ end
15
+ end
16
+
4
17
  describe "self.update" do
5
18
  it "raises an exception if attributes contain an invalid key" do
6
19
  expect do
@@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
3
3
  module Braintree
4
4
  describe SubscriptionSearch do
5
5
  context "status" do
6
- it "allows Active, Canceled and PastDue" do
6
+ it "allows Active, Canceled, Expired, and PastDue" do
7
7
  search = SubscriptionSearch.new
8
8
 
9
9
  lambda do
@@ -116,6 +116,13 @@ module Braintree
116
116
  end
117
117
  end
118
118
 
119
+ context "created_at" do
120
+ it "is a range node" do
121
+ search = SubscriptionSearch.new
122
+ search.created_at.should be_kind_of(Braintree::AdvancedSearch::RangeNode)
123
+ end
124
+ end
125
+
119
126
  context "id" do
120
127
  it "is" do
121
128
  search = SubscriptionSearch.new
metadata CHANGED
@@ -1,27 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braintree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.66.0
4
+ version: 2.67.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: 2016-08-30 00:00:00.000000000 Z
12
+ date: 2016-10-04 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
19
21
  version: 2.0.0
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
26
29
  version: 2.0.0
27
30
  description: Ruby library for integrating with the Braintree Gateway
@@ -32,227 +35,229 @@ extra_rdoc_files: []
32
35
  files:
33
36
  - README.rdoc
34
37
  - LICENSE
35
- - lib/braintree/payment_method_nonce.rb
36
- - lib/braintree/unknown_payment_method.rb
37
- - lib/braintree/three_d_secure_info.rb
38
- - lib/braintree/webhook_notification.rb
39
- - lib/braintree/android_pay_card.rb
40
- - lib/braintree/payment_method_gateway.rb
41
- - lib/braintree/credit_card_verification.rb
42
- - lib/braintree/exceptions.rb
38
+ - lib/braintree/transaction_gateway.rb
39
+ - lib/braintree/settlement_batch_summary.rb
40
+ - lib/braintree/add_on.rb
41
+ - lib/braintree/sha256_digest.rb
42
+ - lib/braintree/merchant_account.rb
43
+ - lib/braintree/xml/rexml.rb
44
+ - lib/braintree/xml/generator.rb
45
+ - lib/braintree/xml/libxml.rb
46
+ - lib/braintree/xml/parser.rb
43
47
  - lib/braintree/account_updater_daily_report.rb
44
- - lib/braintree/webhook_testing_gateway.rb
45
- - lib/braintree/transaction/customer_details.rb
48
+ - lib/braintree/merchant_account_gateway.rb
49
+ - lib/braintree/payment_method_gateway.rb
50
+ - lib/braintree/plan.rb
51
+ - lib/braintree/test/merchant_account.rb
52
+ - lib/braintree/test/transaction_amounts.rb
53
+ - lib/braintree/test/venmo_sdk.rb
54
+ - lib/braintree/test/credit_card.rb
55
+ - lib/braintree/test/nonce.rb
56
+ - lib/braintree/amex_express_checkout_card.rb
57
+ - lib/braintree/descriptor.rb
58
+ - lib/braintree/address_gateway.rb
59
+ - lib/braintree/settlement_batch_summary_gateway.rb
60
+ - lib/braintree/version.rb
61
+ - lib/braintree/transaction/paypal_details.rb
62
+ - lib/braintree/transaction/android_pay_details.rb
46
63
  - lib/braintree/transaction/status_details.rb
47
- - lib/braintree/transaction/address_details.rb
48
64
  - lib/braintree/transaction/amex_express_checkout_details.rb
65
+ - lib/braintree/transaction/customer_details.rb
49
66
  - lib/braintree/transaction/subscription_details.rb
50
- - lib/braintree/transaction/disbursement_details.rb
51
- - lib/braintree/transaction/android_pay_details.rb
52
- - lib/braintree/transaction/apple_pay_details.rb
67
+ - lib/braintree/transaction/venmo_account_details.rb
53
68
  - lib/braintree/transaction/coinbase_details.rb
54
69
  - lib/braintree/transaction/credit_card_details.rb
55
- - lib/braintree/transaction/venmo_account_details.rb
56
- - lib/braintree/transaction/paypal_details.rb
70
+ - lib/braintree/transaction/disbursement_details.rb
71
+ - lib/braintree/transaction/address_details.rb
72
+ - lib/braintree/transaction/apple_pay_details.rb
73
+ - lib/braintree/successful_result.rb
74
+ - lib/braintree/advanced_search.rb
75
+ - lib/braintree/webhook_notification.rb
76
+ - lib/braintree/facilitator_details.rb
77
+ - lib/braintree/subscription/status_details.rb
57
78
  - lib/braintree/transaction_search.rb
58
- - lib/braintree/version.rb
79
+ - lib/braintree/merchant_account/funding_details.rb
80
+ - lib/braintree/merchant_account/individual_details.rb
81
+ - lib/braintree/merchant_account/address_details.rb
82
+ - lib/braintree/merchant_account/business_details.rb
83
+ - lib/braintree/transaction.rb
84
+ - lib/braintree/plan_gateway.rb
85
+ - lib/braintree/xml.rb
86
+ - lib/braintree/paypal_account_gateway.rb
87
+ - lib/braintree/subscription_gateway.rb
88
+ - lib/braintree/client_token.rb
89
+ - lib/braintree/payment_method_nonce.rb
90
+ - lib/braintree/webhook_notification_gateway.rb
91
+ - lib/braintree/merchant_gateway.rb
92
+ - lib/braintree/unknown_payment_method.rb
93
+ - lib/braintree/customer_gateway.rb
94
+ - lib/braintree/europe_bank_account.rb
95
+ - lib/braintree/discount_gateway.rb
96
+ - lib/braintree/android_pay_card.rb
97
+ - lib/braintree/gateway.rb
98
+ - lib/braintree/address/country_names.rb
59
99
  - lib/braintree/settlement_batch.rb
60
- - lib/braintree/payment_instrument_type.rb
100
+ - lib/braintree/disbursement.rb
101
+ - lib/braintree/merchant.rb
102
+ - lib/braintree/validation_error_collection.rb
103
+ - lib/braintree/customer_search.rb
104
+ - lib/braintree/transparent_redirect_gateway.rb
105
+ - lib/braintree/http.rb
106
+ - lib/braintree/modification.rb
107
+ - lib/braintree/exceptions.rb
61
108
  - lib/braintree/paypal_account.rb
62
- - lib/braintree/transparent_redirect.rb
63
- - lib/braintree/test/venmo_sdk.rb
64
- - lib/braintree/test/merchant_account.rb
65
- - lib/braintree/test/nonce.rb
66
- - lib/braintree/test/credit_card.rb
67
- - lib/braintree/test/transaction_amounts.rb
68
- - lib/braintree/merchant_gateway.rb
69
- - lib/braintree/client_token.rb
70
- - lib/braintree/plan.rb
71
- - lib/braintree/xml/libxml.rb
72
- - lib/braintree/xml/rexml.rb
73
- - lib/braintree/xml/generator.rb
74
- - lib/braintree/xml/parser.rb
75
- - lib/braintree/successful_result.rb
109
+ - lib/braintree/credit_card.rb
76
110
  - lib/braintree/util.rb
111
+ - lib/braintree/apple_pay_card.rb
112
+ - lib/braintree/dispute.rb
113
+ - lib/braintree/risk_data.rb
114
+ - lib/braintree/webhook_testing_gateway.rb
115
+ - lib/braintree/dispute/transaction_details.rb
116
+ - lib/braintree/credit_card_gateway.rb
117
+ - lib/braintree/payment_method.rb
118
+ - lib/braintree/three_d_secure_info.rb
119
+ - lib/braintree/error_codes.rb
120
+ - lib/braintree/credentials_parser.rb
121
+ - lib/braintree/credit_card_verification_gateway.rb
122
+ - lib/braintree/configuration.rb
77
123
  - lib/braintree/webhook_testing.rb
124
+ - lib/braintree/transparent_redirect.rb
78
125
  - lib/braintree/digest.rb
126
+ - lib/braintree/oauth_credentials.rb
127
+ - lib/braintree/errors.rb
128
+ - lib/braintree/testing_gateway.rb
79
129
  - lib/braintree/europe_bank_account_gateway.rb
80
- - lib/braintree/settlement_batch_summary_gateway.rb
81
- - lib/braintree/gateway.rb
82
- - lib/braintree/base_module.rb
130
+ - lib/braintree/discount.rb
83
131
  - lib/braintree/customer.rb
84
- - lib/braintree/settlement_batch_summary.rb
85
- - lib/braintree/amex_express_checkout_card.rb
86
- - lib/braintree/credit_card_gateway.rb
87
- - lib/braintree/discount_gateway.rb
88
- - lib/braintree/test_transaction.rb
132
+ - lib/braintree/venmo_account.rb
133
+ - lib/braintree/client_token_gateway.rb
89
134
  - lib/braintree/resource_collection.rb
90
- - lib/braintree/risk_data.rb
91
- - lib/braintree/dispute.rb
92
- - lib/braintree/customer_gateway.rb
93
- - lib/braintree/credit_card_verification_gateway.rb
94
- - lib/braintree/errors.rb
95
- - lib/braintree/facilitator_details.rb
96
- - lib/braintree/plan_gateway.rb
97
- - lib/braintree/subscription/status_details.rb
98
- - lib/braintree/europe_bank_account.rb
99
- - lib/braintree/add_on.rb
100
- - lib/braintree/merchant_account/address_details.rb
101
- - lib/braintree/merchant_account/business_details.rb
102
- - lib/braintree/merchant_account/individual_details.rb
103
- - lib/braintree/merchant_account/funding_details.rb
104
- - lib/braintree/sha256_digest.rb
105
- - lib/braintree/transaction_gateway.rb
106
- - lib/braintree/xml.rb
107
- - lib/braintree/merchant_account.rb
108
- - lib/braintree/transaction.rb
109
- - lib/braintree/configuration.rb
110
- - lib/braintree/payment_method_nonce_gateway.rb
135
+ - lib/braintree/error_result.rb
111
136
  - lib/braintree/subscription.rb
112
- - lib/braintree/discount.rb
137
+ - lib/braintree/base_module.rb
113
138
  - lib/braintree/subscription_search.rb
114
- - lib/braintree/http.rb
115
- - lib/braintree/dispute/transaction_details.rb
116
- - lib/braintree/oauth_credentials.rb
117
- - lib/braintree/advanced_search.rb
118
- - lib/braintree/transparent_redirect_gateway.rb
139
+ - lib/braintree/credit_card_verification_search.rb
140
+ - lib/braintree/payment_method_nonce_gateway.rb
141
+ - lib/braintree/oauth_gateway.rb
142
+ - lib/braintree/add_on_gateway.rb
119
143
  - lib/braintree/validation_error.rb
120
- - lib/braintree/client_token_gateway.rb
121
- - lib/braintree/venmo_account.rb
122
- - lib/braintree/paypal_account_gateway.rb
123
- - lib/braintree/webhook_notification_gateway.rb
144
+ - lib/braintree/credit_card_verification.rb
145
+ - lib/braintree/payment_instrument_type.rb
124
146
  - lib/braintree/signature_service.rb
125
- - lib/braintree/testing_gateway.rb
126
- - lib/braintree/descriptor.rb
147
+ - lib/braintree/test_transaction.rb
127
148
  - lib/braintree/address.rb
128
- - lib/braintree/subscription_gateway.rb
129
- - lib/braintree/error_codes.rb
130
149
  - lib/braintree/coinbase_account.rb
131
- - lib/braintree/error_result.rb
132
- - lib/braintree/apple_pay_card.rb
133
- - lib/braintree/credentials_parser.rb
134
- - lib/braintree/merchant.rb
135
- - lib/braintree/validation_error_collection.rb
136
- - lib/braintree/modification.rb
137
- - lib/braintree/customer_search.rb
138
- - lib/braintree/disbursement.rb
139
- - lib/braintree/add_on_gateway.rb
140
- - lib/braintree/credit_card.rb
141
- - lib/braintree/credit_card_verification_search.rb
142
- - lib/braintree/merchant_account_gateway.rb
143
- - lib/braintree/address/country_names.rb
144
- - lib/braintree/oauth_gateway.rb
145
- - lib/braintree/payment_method.rb
146
- - lib/braintree/address_gateway.rb
147
150
  - lib/braintree.rb
148
- - lib/ssl/securetrust_ca.crt
149
151
  - lib/ssl/api_braintreegateway_com.ca.crt
150
- - spec/oauth_test_helper.rb
151
- - spec/spec.opts
152
- - spec/hacks/tcp_socket.rb
153
- - spec/script/httpsd.rb
154
- - spec/integration/braintree/discount_spec.rb
155
- - spec/integration/braintree/merchant_spec.rb
156
- - spec/integration/braintree/payment_method_spec.rb
157
- - spec/integration/braintree/test/transaction_amounts_spec.rb
158
- - spec/integration/braintree/http_spec.rb
159
- - spec/integration/braintree/advanced_search_spec.rb
160
- - spec/integration/braintree/test_transaction_spec.rb
161
- - spec/integration/braintree/disbursement_spec.rb
162
- - spec/integration/braintree/add_on_spec.rb
163
- - spec/integration/braintree/coinbase_spec.rb
164
- - spec/integration/braintree/oauth_spec.rb
165
- - spec/integration/braintree/credit_card_spec.rb
166
- - spec/integration/braintree/paypal_account_spec.rb
167
- - spec/integration/braintree/customer_search_spec.rb
168
- - spec/integration/braintree/error_codes_spec.rb
169
- - spec/integration/braintree/transaction_search_spec.rb
170
- - spec/integration/braintree/merchant_account_spec.rb
171
- - spec/integration/braintree/credit_card_verification_search_spec.rb
172
- - spec/integration/braintree/plan_spec.rb
173
- - spec/integration/braintree/settlement_batch_summary_spec.rb
174
- - spec/integration/braintree/payment_method_nonce_spec.rb
175
- - spec/integration/braintree/transaction_spec.rb
176
- - spec/integration/braintree/address_spec.rb
177
- - spec/integration/braintree/client_api/client_token_spec.rb
178
- - spec/integration/braintree/client_api/spec_helper.rb
179
- - spec/integration/braintree/credit_card_verification_spec.rb
180
- - spec/integration/braintree/customer_spec.rb
181
- - spec/integration/braintree/transparent_redirect_spec.rb
182
- - spec/integration/braintree/subscription_spec.rb
183
- - spec/integration/spec_helper.rb
184
- - spec/ssl/certificate.crt
185
- - spec/ssl/privateKey.key
186
- - spec/ssl/geotrust_global.crt
152
+ - lib/ssl/securetrust_ca.crt
187
153
  - spec/spec_helper.rb
188
- - spec/unit/braintree/dispute_spec.rb
189
- - spec/unit/braintree/util_spec.rb
190
- - spec/unit/braintree/resource_collection_spec.rb
191
- - spec/unit/braintree/validation_error_collection_spec.rb
154
+ - spec/unit/spec_helper.rb
155
+ - spec/unit/braintree/error_result_spec.rb
156
+ - spec/unit/braintree/xml/rexml_spec.rb
157
+ - spec/unit/braintree/xml/parser_spec.rb
158
+ - spec/unit/braintree/xml/libxml_spec.rb
159
+ - spec/unit/braintree/credentials_parser_spec.rb
160
+ - spec/unit/braintree/webhook_notification_spec.rb
161
+ - spec/unit/braintree/successful_result_spec.rb
192
162
  - spec/unit/braintree/transaction/credit_card_details_spec.rb
193
163
  - spec/unit/braintree/transaction/deposit_details_spec.rb
194
164
  - spec/unit/braintree/transaction/customer_details_spec.rb
195
- - spec/unit/braintree/payment_method_spec.rb
196
- - spec/unit/braintree/base_module_spec.rb
197
- - spec/unit/braintree/http_spec.rb
198
- - spec/unit/braintree/xml/libxml_spec.rb
199
- - spec/unit/braintree/xml/parser_spec.rb
200
- - spec/unit/braintree/xml/rexml_spec.rb
201
- - spec/unit/braintree/digest_spec.rb
202
- - spec/unit/braintree/sha256_digest_spec.rb
165
+ - spec/unit/braintree/three_d_secure_info_spec.rb
166
+ - spec/unit/braintree/resource_collection_spec.rb
167
+ - spec/unit/braintree/subscription_search_spec.rb
168
+ - spec/unit/braintree/merchant_account_spec.rb
169
+ - spec/unit/braintree/credit_card_spec.rb
203
170
  - spec/unit/braintree/disbursement_spec.rb
204
- - spec/unit/braintree/xml_spec.rb
171
+ - spec/unit/braintree/http_spec.rb
172
+ - spec/unit/braintree/subscription_spec.rb
205
173
  - spec/unit/braintree/client_token_spec.rb
206
- - spec/unit/braintree/error_result_spec.rb
207
- - spec/unit/braintree/credit_card_spec.rb
208
174
  - spec/unit/braintree/paypal_account_spec.rb
209
- - spec/unit/braintree/webhook_notification_spec.rb
210
- - spec/unit/braintree/credentials_parser_spec.rb
175
+ - spec/unit/braintree/digest_spec.rb
176
+ - spec/unit/braintree/validation_error_collection_spec.rb
177
+ - spec/unit/braintree/apple_pay_card_spec.rb
211
178
  - spec/unit/braintree/transaction_search_spec.rb
212
- - spec/unit/braintree/errors_spec.rb
213
- - spec/unit/braintree/merchant_account_spec.rb
179
+ - spec/unit/braintree/transaction_spec.rb
214
180
  - spec/unit/braintree/credit_card_verification_search_spec.rb
181
+ - spec/unit/braintree/credit_card_verification_spec.rb
182
+ - spec/unit/braintree/risk_data_spec.rb
183
+ - spec/unit/braintree/errors_spec.rb
184
+ - spec/unit/braintree/util_spec.rb
185
+ - spec/unit/braintree/sha256_digest_spec.rb
186
+ - spec/unit/braintree/base_module_spec.rb
187
+ - spec/unit/braintree/dispute_spec.rb
215
188
  - spec/unit/braintree/configuration_spec.rb
216
- - spec/unit/braintree/three_d_secure_info_spec.rb
217
- - spec/unit/braintree/unknown_payment_method_spec.rb
189
+ - spec/unit/braintree/validation_error_spec.rb
190
+ - spec/unit/braintree/xml_spec.rb
218
191
  - spec/unit/braintree/modification_spec.rb
219
- - spec/unit/braintree/risk_data_spec.rb
192
+ - spec/unit/braintree/payment_method_spec.rb
193
+ - spec/unit/braintree/unknown_payment_method_spec.rb
194
+ - spec/unit/braintree/transparent_redirect_spec.rb
195
+ - spec/unit/braintree/customer_spec.rb
220
196
  - spec/unit/braintree/signature_service_spec.rb
221
- - spec/unit/braintree/apple_pay_card_spec.rb
222
- - spec/unit/braintree/transaction_spec.rb
223
- - spec/unit/braintree/successful_result_spec.rb
224
197
  - spec/unit/braintree/address_spec.rb
225
- - spec/unit/braintree/credit_card_verification_spec.rb
226
- - spec/unit/braintree/validation_error_spec.rb
227
- - spec/unit/braintree/subscription_search_spec.rb
228
- - spec/unit/braintree/customer_spec.rb
229
- - spec/unit/braintree/transparent_redirect_spec.rb
230
- - spec/unit/braintree/subscription_spec.rb
231
198
  - spec/unit/braintree_spec.rb
232
- - spec/unit/spec_helper.rb
199
+ - spec/hacks/tcp_socket.rb
200
+ - spec/script/httpsd.rb
201
+ - spec/oauth_test_helper.rb
202
+ - spec/integration/spec_helper.rb
203
+ - spec/integration/braintree/test/transaction_amounts_spec.rb
204
+ - spec/integration/braintree/coinbase_spec.rb
205
+ - spec/integration/braintree/merchant_account_spec.rb
206
+ - spec/integration/braintree/credit_card_spec.rb
207
+ - spec/integration/braintree/disbursement_spec.rb
208
+ - spec/integration/braintree/http_spec.rb
209
+ - spec/integration/braintree/subscription_spec.rb
210
+ - spec/integration/braintree/plan_spec.rb
211
+ - spec/integration/braintree/add_on_spec.rb
212
+ - spec/integration/braintree/paypal_account_spec.rb
213
+ - spec/integration/braintree/customer_search_spec.rb
214
+ - spec/integration/braintree/client_api/spec_helper.rb
215
+ - spec/integration/braintree/client_api/client_token_spec.rb
216
+ - spec/integration/braintree/transaction_search_spec.rb
217
+ - spec/integration/braintree/transaction_spec.rb
218
+ - spec/integration/braintree/credit_card_verification_search_spec.rb
219
+ - spec/integration/braintree/settlement_batch_summary_spec.rb
220
+ - spec/integration/braintree/credit_card_verification_spec.rb
221
+ - spec/integration/braintree/oauth_spec.rb
222
+ - spec/integration/braintree/merchant_spec.rb
223
+ - spec/integration/braintree/test_transaction_spec.rb
224
+ - spec/integration/braintree/error_codes_spec.rb
225
+ - spec/integration/braintree/discount_spec.rb
226
+ - spec/integration/braintree/payment_method_spec.rb
227
+ - spec/integration/braintree/advanced_search_spec.rb
228
+ - spec/integration/braintree/transparent_redirect_spec.rb
229
+ - spec/integration/braintree/customer_spec.rb
230
+ - spec/integration/braintree/address_spec.rb
231
+ - spec/integration/braintree/payment_method_nonce_spec.rb
232
+ - spec/spec.opts
233
+ - spec/ssl/privateKey.key
234
+ - spec/ssl/geotrust_global.crt
235
+ - spec/ssl/certificate.crt
236
+ - spec/httpsd.pid
233
237
  - braintree.gemspec
234
238
  homepage: http://www.braintreepayments.com/
235
239
  licenses:
236
240
  - MIT
237
- metadata: {}
238
241
  post_install_message:
239
242
  rdoc_options: []
240
243
  require_paths:
241
244
  - lib
242
245
  required_ruby_version: !ruby/object:Gem::Requirement
246
+ none: false
243
247
  requirements:
244
- - - '>='
248
+ - - ! '>='
245
249
  - !ruby/object:Gem::Version
246
250
  version: '0'
247
251
  required_rubygems_version: !ruby/object:Gem::Requirement
252
+ none: false
248
253
  requirements:
249
- - - '>='
254
+ - - ! '>='
250
255
  - !ruby/object:Gem::Version
251
256
  version: '0'
252
257
  requirements: []
253
258
  rubyforge_project: braintree
254
- rubygems_version: 2.0.3
259
+ rubygems_version: 1.8.24
255
260
  signing_key:
256
- specification_version: 4
261
+ specification_version: 3
257
262
  summary: Braintree Gateway Ruby Client Library
258
263
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 55feb52af2eaf316362d1b551b0111cbff5ff2a0
4
- data.tar.gz: d19ab9861b0baffc43b0e5a8112a705c5d5f7eae
5
- SHA512:
6
- metadata.gz: 1ebbbf59502212a308c7561ce105b1c5d069eacf96f9d075050de4846d5ee486a000ed4b3ce3a8f02bdedcc6f9b23f6dc2324e303a6785ccda55255a8e70d000
7
- data.tar.gz: bc373fe5157664c94adb00c3d802eb593451b8111afbdefaa9550939f665e575a6d2fdb77b704aac653e3046b6b713fa9a445fe3fa9f9723933862812e5fd614