braintree 2.66.0 → 2.67.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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