braintree 2.28.0 → 2.29.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c4a39949c4ad04830fd50ba8541a0b82f5a1be18
4
+ data.tar.gz: c32ed9335b5c72c6a6c11efb3bf6f1a0614a2943
5
+ SHA512:
6
+ metadata.gz: 2a9655094854360aa9aae75db3353f34bc5eb642d0bafe457f12ae2f9566616a1f02687b096e408189a04366989c504442d3409237d66f9349d64bda38328b12
7
+ data.tar.gz: fa69dfd1f607ced6d96801082fa2313ea4a1019ed69f82d6d6cd9edea06d9c77524279ee0126a69b0baf8b6424d147e8236dad8595ff9d57863823c00c1e2207
@@ -72,6 +72,7 @@ require "braintree/transaction/subscription_details"
72
72
  require "braintree/transaction_gateway"
73
73
  require "braintree/transaction_search"
74
74
  require "braintree/transaction/status_details"
75
+ require "braintree/disbursement"
75
76
  require "braintree/transparent_redirect"
76
77
  require "braintree/transparent_redirect_gateway"
77
78
  require "braintree/util"
@@ -20,7 +20,7 @@ module Braintree
20
20
 
21
21
  def self._hmac_sha1(key, message)
22
22
  key_digest = ::Digest::SHA1.digest(key)
23
- sha1 = OpenSSL::Digest::Digest.new("sha1")
23
+ sha1 = OpenSSL::Digest.new("sha1")
24
24
  OpenSSL::HMAC.hexdigest(sha1, key_digest, message.to_s)
25
25
  end
26
26
  end
@@ -0,0 +1,39 @@
1
+ module Braintree
2
+ class Disbursement
3
+ include BaseModule
4
+
5
+ attr_reader :id, :amount, :exception_message, :disbursement_date, :follow_up_action, :merchant_account, :transaction_ids, :retry, :success
6
+
7
+ def initialize(gateway, attributes) # :nodoc:
8
+ @gateway = gateway
9
+ set_instance_variables_from_hash(attributes)
10
+ @amount = Util.to_big_decimal(amount)
11
+ @disbursement_date = Date.parse(disbursement_date)
12
+ @merchant_account = MerchantAccount._new(gateway, @merchant_account)
13
+ end
14
+
15
+ def transactions
16
+ transactions = @gateway.transaction.search do |search|
17
+ search.ids.in transaction_ids
18
+ end
19
+ end
20
+
21
+ def inspect # :nodoc:
22
+ nice_attributes = self.class._inspect_attributes.map { |attr| "#{attr}: #{send(attr).inspect}" }
23
+ nice_attributes << "amount: #{self.amount.to_s("F").inspect}"
24
+ nice_attributes << "disbursement_date: #{self.disbursement_date.to_s}"
25
+ "#<#{self.class} #{nice_attributes.join(', ')}>"
26
+ end
27
+
28
+ class << self
29
+ protected :new
30
+ def _new(*args) # :nodoc:
31
+ self.new *args
32
+ end
33
+ end
34
+
35
+ def self._inspect_attributes # :nodoc:
36
+ [:id, :exception_message, :follow_up_action, :merchant_account, :transaction_ids, :retry, :success]
37
+ end
38
+ end
39
+ end
@@ -4,6 +4,7 @@ module Braintree
4
4
 
5
5
  attr_reader :amount
6
6
  attr_reader :created_at
7
+ attr_reader :current_billing_cycle
7
8
  attr_reader :description
8
9
  attr_reader :id
9
10
  attr_reader :kind
@@ -2,6 +2,11 @@ module Braintree
2
2
  module Test # :nodoc:
3
3
  module MerchantAccount
4
4
  Approve = "approve_me"
5
+
6
+ InsufficientFundsContactUs = "insufficient_funds__contact"
7
+ AccountNotAuthorizedContactUs = "account_not_authorized__contact"
8
+ BankRejectedUpdateFundingInformation = "bank_rejected__update"
9
+ BankRejectedNone = "bank_rejected__none"
5
10
  end
6
11
  end
7
12
  end
@@ -3,7 +3,7 @@ module Braintree
3
3
  class DisbursementDetails # :nodoc:
4
4
  include BaseModule
5
5
 
6
- attr_reader :disbursement_date, :settlement_amount, :settlement_currency_iso_code, :settlement_currency_exchange_rate
6
+ attr_reader :disbursement_date, :settlement_amount, :settlement_currency_iso_code, :settlement_currency_exchange_rate, :success
7
7
 
8
8
  def initialize(attributes)
9
9
  set_instance_variables_from_hash attributes unless attributes.nil?
@@ -13,6 +13,10 @@ module Braintree
13
13
  @funds_held
14
14
  end
15
15
 
16
+ def success?
17
+ @success
18
+ end
19
+
16
20
  def valid?
17
21
  !disbursement_date.nil?
18
22
  end
@@ -117,6 +117,7 @@ module Braintree
117
117
  :amount, :customer_id, :merchant_account_id, :order_id, :channel, :payment_method_token,
118
118
  :purchase_order_number, :recurring, :shipping_address_id, :type, :tax_amount, :tax_exempt,
119
119
  :venmo_sdk_payment_method_code, :device_session_id, :service_fee_amount, :device_data, :fraud_merchant_id,
120
+ :billing_address_id,
120
121
  {:credit_card => [:token, :cardholder_name, :cvv, :expiration_date, :expiration_month, :expiration_year, :number]},
121
122
  {:customer => [:id, :company, :email, :fax, :first_name, :last_name, :phone, :website]},
122
123
  {
@@ -1,7 +1,7 @@
1
1
  module Braintree
2
2
  module Version
3
3
  Major = 2
4
- Minor = 28
4
+ Minor = 29
5
5
  Tiny = 0
6
6
 
7
7
  String = "#{Major}.#{Minor}.#{Tiny}"
@@ -5,6 +5,8 @@ module Braintree
5
5
  include BaseModule
6
6
 
7
7
  module Kind
8
+ Disbursement = "disbursement"
9
+ DisbursementException = "disbursement_exception"
8
10
  SubscriptionCanceled = "subscription_canceled"
9
11
  SubscriptionChargedSuccessfully = "subscription_charged_successfully"
10
12
  SubscriptionChargedUnsuccessfully = "subscription_charged_unsuccessfully"
@@ -21,7 +23,7 @@ module Braintree
21
23
  PartnerMerchantDeclined = "partner_merchant_declined"
22
24
  end
23
25
 
24
- attr_reader :subscription, :kind, :timestamp, :transaction, :partner_merchant
26
+ attr_reader :subscription, :kind, :timestamp, :transaction, :partner_merchant, :disbursement
25
27
 
26
28
  def self.parse(signature, payload)
27
29
  Configuration.gateway.webhook_notification.parse(signature, payload)
@@ -39,6 +41,7 @@ module Braintree
39
41
  @partner_merchant = OpenStruct.new(@subject[:partner_merchant]) if @subject.has_key?(:partner_merchant)
40
42
  @subscription = Subscription._new(gateway, @subject[:subscription]) if @subject.has_key?(:subscription)
41
43
  @transaction = Transaction._new(gateway, @subject[:transaction]) if @subject.has_key?(:transaction)
44
+ @disbursement = Disbursement._new(gateway, @subject[:disbursement]) if @subject.has_key?(:disbursement)
42
45
  end
43
46
 
44
47
  def merchant_account
@@ -38,6 +38,10 @@ module Braintree
38
38
  _merchant_account_declined_sample_xml(id)
39
39
  when Braintree::WebhookNotification::Kind::TransactionDisbursed
40
40
  _transaction_disbursed_sample_xml(id)
41
+ when Braintree::WebhookNotification::Kind::DisbursementException
42
+ _disbursement_exception_sample_xml(id)
43
+ when Braintree::WebhookNotification::Kind::Disbursement
44
+ _disbursement_sample_xml(id)
41
45
  else
42
46
  _subscription_sample_xml(id)
43
47
  end
@@ -139,10 +143,60 @@ module Braintree
139
143
  <id>#{id}</id>
140
144
  <amount>100</amount>
141
145
  <disbursement-details>
142
- <disbursement-date type="datetime">2013-07-09T18:23:29Z</disbursement-date>
146
+ <disbursement-date type="date">2013-07-09</disbursement-date>
143
147
  </disbursement-details>
144
148
  </transaction>
145
149
  XML
146
150
  end
151
+
152
+ def _disbursement_exception_sample_xml(id)
153
+
154
+ <<-XML
155
+ <disbursement>
156
+ <id>#{id}</id>
157
+ <transaction-ids type="array">
158
+ <item>afv56j</item>
159
+ <item>kj8hjk</item>
160
+ </transaction-ids>
161
+ <success type="boolean">false</success>
162
+ <retry type="boolean">false</retry>
163
+ <merchant-account>
164
+ <id>merchant_account_token</id>
165
+ <currency-iso-code>USD</currency-iso-code>
166
+ <sub-merchant-account type="boolean">false</sub-merchant-account>
167
+ <status>active</status>
168
+ </merchant-account>
169
+ <amount>100.00</amount>
170
+ <disbursement-date type="date">2014-02-10</disbursement-date>
171
+ <exception-message>bank_rejected</exception-message>
172
+ <follow-up-action>update_funding_information</follow-up-action>
173
+ </disbursement>
174
+ XML
175
+ end
176
+
177
+ def _disbursement_sample_xml(id)
178
+
179
+ <<-XML
180
+ <disbursement>
181
+ <id>#{id}</id>
182
+ <transaction-ids type="array">
183
+ <item>afv56j</item>
184
+ <item>kj8hjk</item>
185
+ </transaction-ids>
186
+ <success type="boolean">true</success>
187
+ <retry type="boolean">false</retry>
188
+ <merchant-account>
189
+ <id>merchant_account_token</id>
190
+ <currency-iso-code>USD</currency-iso-code>
191
+ <sub-merchant-account type="boolean">false</sub-merchant-account>
192
+ <status>active</status>
193
+ </merchant-account>
194
+ <amount>100.00</amount>
195
+ <disbursement-date type="date">2014-02-10</disbursement-date>
196
+ <exception-message nil="true"/>
197
+ <follow-up-action nil="true"/>
198
+ </disbursement>
199
+ XML
200
+ end
147
201
  end
148
202
  end
@@ -1 +1 @@
1
- 5472
1
+ 31122
@@ -0,0 +1,31 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
2
+
3
+ describe Braintree::Disbursement do
4
+ describe "transactions" do
5
+ it "finds the transactions associated with the disbursement" do
6
+ attributes = {
7
+ :id => "123456",
8
+ :merchant_account => {
9
+ :id => "sandbox_sub_merchant_account",
10
+ :master_merchant_account => {
11
+ :id => "sandbox_master_merchant_account",
12
+ :status => "active"
13
+ },
14
+ :status => "active"
15
+ },
16
+ :transaction_ids => ["sub_merchant_transaction"],
17
+ :amount => "100.00",
18
+ :disbursement_date => "2013-04-10",
19
+ :exception_message => "invalid_account_number",
20
+ :follow_up_action => "update",
21
+ :retry => false,
22
+ :success => false
23
+ }
24
+
25
+ disbursement = Braintree::Disbursement._new(Braintree::Configuration.gateway, attributes)
26
+ disbursement.transactions.maximum_size.should == 1
27
+ transaction = disbursement.transactions.first
28
+ transaction.id.should == "sub_merchant_transaction"
29
+ end
30
+ end
31
+ end
@@ -14,9 +14,7 @@ describe Braintree::Plan do
14
14
  :name => "ruby_test plan",
15
15
  :number_of_billing_cycles => 1,
16
16
  :price => "1.00",
17
- :trial_duration => 3,
18
- :trial_duration_unit => "day",
19
- :trial_period => true,
17
+ :trial_period => false,
20
18
  }
21
19
  create_plan_for_tests(attributes)
22
20
 
@@ -36,8 +34,6 @@ describe Braintree::Plan do
36
34
  plan.name.should == attributes[:name]
37
35
  plan.number_of_billing_cycles.should == attributes[:number_of_billing_cycles]
38
36
  plan.price.should == Braintree::Util.to_big_decimal("1.00")
39
- plan.trial_duration.should == attributes[:trial_duration]
40
- plan.trial_duration_unit.should == attributes[:trial_duration_unit]
41
37
  plan.trial_period.should == attributes[:trial_period]
42
38
  plan.created_at.should_not be_nil
43
39
  plan.updated_at.should_not be_nil
@@ -362,12 +362,14 @@ describe Braintree::Subscription do
362
362
  add_ons.first.quantity.should == 1
363
363
  add_ons.first.number_of_billing_cycles.should be_nil
364
364
  add_ons.first.never_expires?.should be_true
365
+ add_ons.first.current_billing_cycle.should == 0
365
366
 
366
367
  add_ons.last.id.should == "increase_20"
367
368
  add_ons.last.amount.should == BigDecimal.new("20.00")
368
369
  add_ons.last.quantity.should == 1
369
370
  add_ons.last.number_of_billing_cycles.should be_nil
370
371
  add_ons.last.never_expires?.should be_true
372
+ add_ons.last.current_billing_cycle.should == 0
371
373
 
372
374
  subscription.discounts.size.should == 2
373
375
  discounts = subscription.discounts.sort_by { |discount| discount.id }
@@ -377,12 +379,14 @@ describe Braintree::Subscription do
377
379
  discounts.first.quantity.should == 1
378
380
  discounts.first.number_of_billing_cycles.should be_nil
379
381
  discounts.first.never_expires?.should be_true
382
+ discounts.first.current_billing_cycle.should == 0
380
383
 
381
384
  discounts.last.id.should == "discount_7"
382
385
  discounts.last.amount.should == BigDecimal.new("7.00")
383
386
  discounts.last.quantity.should == 1
384
387
  discounts.last.number_of_billing_cycles.should be_nil
385
388
  discounts.last.never_expires?.should be_true
389
+ discounts.last.current_billing_cycle.should == 0
386
390
  end
387
391
 
388
392
  it "allows overriding of inherited add_ons and discounts" do
@@ -422,10 +426,12 @@ describe Braintree::Subscription do
422
426
  add_ons.first.quantity.should == 2
423
427
  add_ons.first.number_of_billing_cycles.should == 5
424
428
  add_ons.first.never_expires?.should be_false
429
+ add_ons.first.current_billing_cycle.should == 0
425
430
 
426
431
  add_ons.last.id.should == "increase_20"
427
432
  add_ons.last.amount.should == BigDecimal.new("20.00")
428
433
  add_ons.last.quantity.should == 1
434
+ add_ons.last.current_billing_cycle.should == 0
429
435
 
430
436
  subscription.discounts.size.should == 2
431
437
  discounts = subscription.discounts.sort_by { |discount| discount.id }
@@ -433,12 +439,14 @@ describe Braintree::Subscription do
433
439
  discounts.first.id.should == "discount_11"
434
440
  discounts.first.amount.should == BigDecimal.new("11.00")
435
441
  discounts.first.quantity.should == 1
442
+ discounts.first.current_billing_cycle.should == 0
436
443
 
437
444
  discounts.last.id.should == "discount_7"
438
445
  discounts.last.amount.should == BigDecimal.new("15.00")
439
446
  discounts.last.quantity.should == 3
440
447
  discounts.last.number_of_billing_cycles.should be_nil
441
448
  discounts.last.never_expires?.should be_true
449
+ discounts.last.current_billing_cycle.should == 0
442
450
  end
443
451
 
444
452
  it "allows deleting of inherited add_ons and discounts" do
@@ -460,11 +468,13 @@ describe Braintree::Subscription do
460
468
  subscription.add_ons.first.id.should == "increase_20"
461
469
  subscription.add_ons.first.amount.should == BigDecimal.new("20.00")
462
470
  subscription.add_ons.first.quantity.should == 1
471
+ subscription.add_ons.first.current_billing_cycle.should == 0
463
472
 
464
473
  subscription.discounts.size.should == 1
465
474
  subscription.discounts.last.id.should == "discount_11"
466
475
  subscription.discounts.last.amount.should == BigDecimal.new("11.00")
467
476
  subscription.discounts.last.quantity.should == 1
477
+ subscription.discounts.last.current_billing_cycle.should == 0
468
478
  end
469
479
 
470
480
  it "allows adding new add_ons and discounts" do
@@ -171,6 +171,27 @@ describe Braintree::Transaction do
171
171
  result.success?.should == true
172
172
  end
173
173
 
174
+ it "accepts billing_address_id in place of billing_address" do
175
+ result = Braintree::Customer.create()
176
+ address_result = Braintree::Address.create(
177
+ :customer_id => result.customer.id,
178
+ :country_code_alpha2 => "US"
179
+ )
180
+
181
+ result = Braintree::Transaction.create(
182
+ :type => "sale",
183
+ :amount => Braintree::Test::TransactionAmounts::Authorize,
184
+ :customer_id => result.customer.id,
185
+ :billing_address_id => address_result.address.id,
186
+ :credit_card => {
187
+ :number => Braintree::Test::CreditCardNumbers::Visa,
188
+ :expiration_date => "05/2009"
189
+ }
190
+ )
191
+
192
+ result.success?.should == true
193
+ end
194
+
174
195
  it "returns processor response code and text if declined" do
175
196
  result = Braintree::Transaction.create(
176
197
  :type => "sale",
@@ -2035,6 +2056,7 @@ describe Braintree::Transaction do
2035
2056
  disbursement.settlement_currency_iso_code.should == "USD"
2036
2057
  disbursement.settlement_currency_exchange_rate.should == "1"
2037
2058
  disbursement.funds_held?.should == false
2059
+ disbursement.success?.should be_true
2038
2060
  end
2039
2061
 
2040
2062
  it "is not disbursed" do
@@ -0,0 +1,45 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Braintree::Disbursement do
4
+ describe "new" do
5
+ it "is protected" do
6
+ expect do
7
+ Braintree::Disbursement.new
8
+ end.to raise_error(NoMethodError, /protected method .new/)
9
+ end
10
+ end
11
+
12
+ describe "inspect" do
13
+ it "prints attributes of disbursement object" do
14
+ disbursement = Braintree::Disbursement._new(
15
+ :gateway,
16
+ :id => "123456",
17
+ :merchant_account => {
18
+ :id => "sandbox_sub_merchant_account",
19
+ :master_merchant_account => {
20
+ :id => "sandbox_master_merchant_account",
21
+ :status => "active"
22
+ },
23
+ :status => "active"
24
+ },
25
+ :transaction_ids => ["sub_merchant_transaction"],
26
+ :amount => "100.00",
27
+ :disbursement_date => "2013-04-10",
28
+ :exception_message => "invalid_account_number",
29
+ :follow_up_action => "update",
30
+ :retry => false,
31
+ :success => false
32
+ )
33
+
34
+ disbursement.inspect.should include('id: "123456"')
35
+ disbursement.inspect.should include('amount: "100.0"')
36
+ disbursement.inspect.should include('exception_message: "invalid_account_number"')
37
+ disbursement.inspect.should include('disbursement_date: 2013-04-10')
38
+ disbursement.inspect.should include('follow_up_action: "update"')
39
+ disbursement.inspect.should include('merchant_account: #<Braintree::MerchantAccount: ')
40
+ disbursement.inspect.should include('transaction_ids: ["sub_merchant_transaction"]')
41
+ disbursement.inspect.should include('retry: false')
42
+ disbursement.inspect.should include('success: false')
43
+ end
44
+ end
45
+ end
@@ -93,7 +93,8 @@ describe Braintree::Transaction do
93
93
  :settlement_amount => "120.00",
94
94
  :settlement_currency_iso_code => "USD",
95
95
  :settlement_currency_exchange_rate => "1",
96
- :funds_held => false
96
+ :funds_held => false,
97
+ :success => true
97
98
  }
98
99
  )
99
100
  disbursement = transaction.disbursement_details
@@ -101,7 +102,8 @@ describe Braintree::Transaction do
101
102
  disbursement.settlement_amount.should == "120.00"
102
103
  disbursement.settlement_currency_iso_code.should == "USD"
103
104
  disbursement.settlement_currency_exchange_rate.should == "1"
104
- disbursement.funds_held?.should == false
105
+ disbursement.funds_held?.should be_false
106
+ disbursement.success?.should be_true
105
107
  end
106
108
 
107
109
  it "sets up credit card attributes in credit_card_details" do
@@ -58,18 +58,58 @@ describe Braintree::WebhookNotification do
58
58
  notification.timestamp.should be_close(Time.now.utc, 10)
59
59
  end
60
60
 
61
- it "builds a sample notification for a transaction disbursed webhook" do
62
- signature, payload = Braintree::WebhookTesting.sample_notification(
63
- Braintree::WebhookNotification::Kind::TransactionDisbursed,
64
- "my_id"
65
- )
61
+ context "disbursement" do
62
+ it "builds a sample notification for a transaction disbursed webhook" do
63
+ signature, payload = Braintree::WebhookTesting.sample_notification(
64
+ Braintree::WebhookNotification::Kind::TransactionDisbursed,
65
+ "my_id"
66
+ )
66
67
 
67
- notification = Braintree::WebhookNotification.parse(signature, payload)
68
+ notification = Braintree::WebhookNotification.parse(signature, payload)
69
+
70
+ notification.kind.should == Braintree::WebhookNotification::Kind::TransactionDisbursed
71
+ notification.transaction.id.should == "my_id"
72
+ notification.transaction.amount.should == 1_00
73
+ notification.transaction.disbursement_details.disbursement_date.should == "2013-07-09"
74
+ end
68
75
 
69
- notification.kind.should == Braintree::WebhookNotification::Kind::TransactionDisbursed
70
- notification.transaction.id.should == "my_id"
71
- notification.transaction.amount.should == 1_00
72
- notification.transaction.disbursement_details.disbursement_date.should == Time.utc(2013, 7, 9, 18, 23, 29)
76
+ it "builds a sample notification for a disbursement_exception webhook" do
77
+ signature, payload = Braintree::WebhookTesting.sample_notification(
78
+ Braintree::WebhookNotification::Kind::DisbursementException,
79
+ "my_id"
80
+ )
81
+
82
+ notification = Braintree::WebhookNotification.parse(signature, payload)
83
+
84
+ notification.kind.should == Braintree::WebhookNotification::Kind::DisbursementException
85
+ notification.disbursement.id.should == "my_id"
86
+ notification.disbursement.transaction_ids.should == %W{ afv56j kj8hjk }
87
+ notification.disbursement.retry.should be_false
88
+ notification.disbursement.success.should be_false
89
+ notification.disbursement.exception_message.should == "bank_rejected"
90
+ notification.disbursement.disbursement_date.should == Date.parse("2014-02-10")
91
+ notification.disbursement.follow_up_action.should == "update_funding_information"
92
+ notification.disbursement.merchant_account.id.should == "merchant_account_token"
93
+ end
94
+
95
+ it "builds a sample notification for a disbursement webhook" do
96
+ signature, payload = Braintree::WebhookTesting.sample_notification(
97
+ Braintree::WebhookNotification::Kind::Disbursement,
98
+ "my_id"
99
+ )
100
+
101
+ notification = Braintree::WebhookNotification.parse(signature, payload)
102
+
103
+ notification.kind.should == Braintree::WebhookNotification::Kind::Disbursement
104
+ notification.disbursement.id.should == "my_id"
105
+ notification.disbursement.transaction_ids.should == %W{ afv56j kj8hjk }
106
+ notification.disbursement.retry.should be_false
107
+ notification.disbursement.success.should be_true
108
+ notification.disbursement.exception_message.should be_nil
109
+ notification.disbursement.disbursement_date.should == Date.parse("2014-02-10")
110
+ notification.disbursement.follow_up_action.should be_nil
111
+ notification.disbursement.merchant_account.id.should == "merchant_account_token"
112
+ end
73
113
  end
74
114
 
75
115
  context "merchant account" do
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.28.0
5
- prerelease:
4
+ version: 2.29.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Braintree
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-31 00:00:00.000000000 Z
11
+ date: 2014-03-04 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
@@ -36,166 +33,168 @@ files:
36
33
  - README.rdoc
37
34
  - LICENSE
38
35
  - lib/braintree.rb
39
- - lib/braintree/subscription_search.rb
40
- - lib/braintree/modification.rb
41
- - lib/braintree/errors.rb
42
- - lib/braintree/test/credit_card.rb
43
- - lib/braintree/test/transaction_amounts.rb
44
- - lib/braintree/test/merchant_account.rb
45
- - lib/braintree/test/venmo_sdk.rb
46
- - lib/braintree/webhook_testing.rb
47
- - lib/braintree/webhook_testing_gateway.rb
48
- - lib/braintree/advanced_search.rb
49
- - lib/braintree/version.rb
50
- - lib/braintree/add_on.rb
51
- - lib/braintree/address.rb
52
- - lib/braintree/digest.rb
53
- - lib/braintree/settlement_batch_summary.rb
54
- - lib/braintree/error_codes.rb
55
- - lib/braintree/discount.rb
56
- - lib/braintree/webhook_notification.rb
57
36
  - lib/braintree/settlement_batch_summary_gateway.rb
58
- - lib/braintree/validation_error_collection.rb
59
- - lib/braintree/credit_card_verification_gateway.rb
37
+ - lib/braintree/discount.rb
38
+ - lib/braintree/base_module.rb
39
+ - lib/braintree/xml.rb
40
+ - lib/braintree/customer.rb
41
+ - lib/braintree/validation_error.rb
42
+ - lib/braintree/transaction_gateway.rb
43
+ - lib/braintree/gateway.rb
44
+ - lib/braintree/exceptions.rb
45
+ - lib/braintree/customer_gateway.rb
46
+ - lib/braintree/credit_card_verification.rb
47
+ - lib/braintree/digest.rb
60
48
  - lib/braintree/credit_card.rb
61
- - lib/braintree/customer_search.rb
49
+ - lib/braintree/discount_gateway.rb
50
+ - lib/braintree/disbursement.rb
51
+ - lib/braintree/subscription.rb
62
52
  - lib/braintree/util.rb
63
- - lib/braintree/transparent_redirect.rb
64
- - lib/braintree/xml/generator.rb
53
+ - lib/braintree/configuration.rb
54
+ - lib/braintree/merchant_account.rb
55
+ - lib/braintree/credit_card_gateway.rb
56
+ - lib/braintree/resource_collection.rb
57
+ - lib/braintree/merchant_account_gateway.rb
58
+ - lib/braintree/address/country_names.rb
59
+ - lib/braintree/credit_card_verification_search.rb
60
+ - lib/braintree/version.rb
61
+ - lib/braintree/plan.rb
62
+ - lib/braintree/error_codes.rb
63
+ - lib/braintree/validation_error_collection.rb
64
+ - lib/braintree/address_gateway.rb
65
+ - lib/braintree/subscription_gateway.rb
66
+ - lib/braintree/webhook_notification_gateway.rb
67
+ - lib/braintree/add_on.rb
68
+ - lib/braintree/test/credit_card.rb
69
+ - lib/braintree/test/transaction_amounts.rb
70
+ - lib/braintree/test/venmo_sdk.rb
71
+ - lib/braintree/test/merchant_account.rb
65
72
  - lib/braintree/xml/rexml.rb
73
+ - lib/braintree/xml/generator.rb
66
74
  - lib/braintree/xml/libxml.rb
67
75
  - lib/braintree/xml/parser.rb
68
- - lib/braintree/exceptions.rb
69
- - lib/braintree/validation_error.rb
70
- - lib/braintree/resource_collection.rb
71
- - lib/braintree/xml.rb
72
- - lib/braintree/credit_card_verification.rb
73
- - lib/braintree/configuration.rb
76
+ - lib/braintree/transparent_redirect.rb
77
+ - lib/braintree/plan_gateway.rb
78
+ - lib/braintree/transaction_search.rb
79
+ - lib/braintree/customer_search.rb
80
+ - lib/braintree/transparent_redirect_gateway.rb
81
+ - lib/braintree/webhook_notification.rb
82
+ - lib/braintree/webhook_testing_gateway.rb
83
+ - lib/braintree/webhook_testing.rb
84
+ - lib/braintree/credit_card_verification_gateway.rb
85
+ - lib/braintree/descriptor.rb
86
+ - lib/braintree/modification.rb
74
87
  - lib/braintree/transaction.rb
75
- - lib/braintree/http.rb
76
- - lib/braintree/address_gateway.rb
77
- - lib/braintree/subscription_gateway.rb
78
- - lib/braintree/customer_gateway.rb
79
- - lib/braintree/merchant_account/business_details.rb
80
- - lib/braintree/merchant_account/funding_details.rb
81
88
  - lib/braintree/merchant_account/individual_details.rb
82
89
  - lib/braintree/merchant_account/address_details.rb
83
- - lib/braintree/plan_gateway.rb
84
- - lib/braintree/credit_card_verification_search.rb
90
+ - lib/braintree/merchant_account/funding_details.rb
91
+ - lib/braintree/merchant_account/business_details.rb
92
+ - lib/braintree/add_on_gateway.rb
85
93
  - lib/braintree/successful_result.rb
94
+ - lib/braintree/advanced_search.rb
95
+ - lib/braintree/subscription_search.rb
96
+ - lib/braintree/error_result.rb
97
+ - lib/braintree/settlement_batch_summary.rb
98
+ - lib/braintree/address.rb
86
99
  - lib/braintree/settlement_batch.rb
87
- - lib/braintree/plan.rb
88
- - lib/braintree/gateway.rb
89
- - lib/braintree/transparent_redirect_gateway.rb
90
- - lib/braintree/base_module.rb
91
- - lib/braintree/add_on_gateway.rb
92
- - lib/braintree/transaction/subscription_details.rb
93
100
  - lib/braintree/transaction/disbursement_details.rb
94
- - lib/braintree/transaction/customer_details.rb
95
- - lib/braintree/transaction/credit_card_details.rb
96
101
  - lib/braintree/transaction/status_details.rb
97
102
  - lib/braintree/transaction/address_details.rb
98
- - lib/braintree/transaction_search.rb
99
- - lib/braintree/error_result.rb
100
- - lib/braintree/credit_card_gateway.rb
101
- - lib/braintree/descriptor.rb
102
- - lib/braintree/transaction_gateway.rb
103
- - lib/braintree/subscription.rb
104
- - lib/braintree/merchant_account.rb
105
- - lib/braintree/address/country_names.rb
106
- - lib/braintree/webhook_notification_gateway.rb
107
- - lib/braintree/merchant_account_gateway.rb
108
- - lib/braintree/customer.rb
109
- - lib/braintree/discount_gateway.rb
103
+ - lib/braintree/transaction/subscription_details.rb
104
+ - lib/braintree/transaction/customer_details.rb
105
+ - lib/braintree/transaction/credit_card_details.rb
106
+ - lib/braintree/errors.rb
107
+ - lib/braintree/http.rb
108
+ - lib/ssl/api_braintreegateway_com.ca.crt
109
+ - lib/ssl/securetrust_ca.crt
110
110
  - lib/ssl/www_braintreegateway_com.ca.crt
111
111
  - lib/ssl/sandbox_braintreegateway_com.ca.crt
112
- - lib/ssl/securetrust_ca.crt
113
- - lib/ssl/api_braintreegateway_com.ca.crt
112
+ - spec/spec.opts
113
+ - spec/ssl/privateKey.key
114
+ - spec/ssl/certificate.crt
115
+ - spec/ssl/geotrust_global.crt
116
+ - spec/hacks/tcp_socket.rb
114
117
  - spec/script/httpsd.rb
115
- - spec/spec_helper.rb
116
- - spec/unit/spec_helper.rb
117
- - spec/unit/braintree/transaction_search_spec.rb
118
- - spec/unit/braintree/error_result_spec.rb
119
- - spec/unit/braintree/xml_spec.rb
120
- - spec/unit/braintree/customer_spec.rb
121
- - spec/unit/braintree/transaction_spec.rb
118
+ - spec/unit/braintree_spec.rb
119
+ - spec/unit/braintree/credit_card_spec.rb
120
+ - spec/unit/braintree/errors_spec.rb
121
+ - spec/unit/braintree/subscription_search_spec.rb
122
+ - spec/unit/braintree/util_spec.rb
123
+ - spec/unit/braintree/address_spec.rb
124
+ - spec/unit/braintree/subscription_spec.rb
122
125
  - spec/unit/braintree/webhook_notification_spec.rb
126
+ - spec/unit/braintree/transparent_redirect_spec.rb
127
+ - spec/unit/braintree/resource_collection_spec.rb
123
128
  - spec/unit/braintree/http_spec.rb
124
- - spec/unit/braintree/subscription_spec.rb
125
- - spec/unit/braintree/credit_card_verification_search_spec.rb
126
- - spec/unit/braintree/subscription_search_spec.rb
129
+ - spec/unit/braintree/merchant_account_spec.rb
130
+ - spec/unit/braintree/customer_spec.rb
131
+ - spec/unit/braintree/error_result_spec.rb
127
132
  - spec/unit/braintree/successful_result_spec.rb
128
133
  - spec/unit/braintree/credit_card_verification_spec.rb
129
134
  - spec/unit/braintree/validation_error_spec.rb
130
- - spec/unit/braintree/resource_collection_spec.rb
131
- - spec/unit/braintree/xml/libxml_spec.rb
132
135
  - spec/unit/braintree/xml/parser_spec.rb
133
136
  - spec/unit/braintree/xml/rexml_spec.rb
137
+ - spec/unit/braintree/xml/libxml_spec.rb
138
+ - spec/unit/braintree/credit_card_verification_search_spec.rb
139
+ - spec/unit/braintree/base_module_spec.rb
140
+ - spec/unit/braintree/transaction_spec.rb
134
141
  - spec/unit/braintree/configuration_spec.rb
142
+ - spec/unit/braintree/xml_spec.rb
135
143
  - spec/unit/braintree/validation_error_collection_spec.rb
136
- - spec/unit/braintree/merchant_account_spec.rb
137
- - spec/unit/braintree/errors_spec.rb
138
144
  - spec/unit/braintree/modification_spec.rb
139
- - spec/unit/braintree/util_spec.rb
140
- - spec/unit/braintree/base_module_spec.rb
141
- - spec/unit/braintree/address_spec.rb
142
- - spec/unit/braintree/transparent_redirect_spec.rb
145
+ - spec/unit/braintree/digest_spec.rb
146
+ - spec/unit/braintree/disbursement_spec.rb
147
+ - spec/unit/braintree/transaction/customer_details_spec.rb
143
148
  - spec/unit/braintree/transaction/deposit_details_spec.rb
144
149
  - spec/unit/braintree/transaction/credit_card_details_spec.rb
145
- - spec/unit/braintree/transaction/customer_details_spec.rb
146
- - spec/unit/braintree/credit_card_spec.rb
147
- - spec/unit/braintree/digest_spec.rb
148
- - spec/unit/braintree_spec.rb
149
- - spec/hacks/tcp_socket.rb
150
+ - spec/unit/braintree/transaction_search_spec.rb
151
+ - spec/unit/spec_helper.rb
150
152
  - spec/httpsd.pid
151
- - spec/integration/spec_helper.rb
152
- - spec/integration/braintree/settlement_batch_summary_spec.rb
153
- - spec/integration/braintree/transaction_search_spec.rb
154
- - spec/integration/braintree/test/transaction_amounts_spec.rb
155
- - spec/integration/braintree/customer_spec.rb
156
- - spec/integration/braintree/transaction_spec.rb
153
+ - spec/integration/braintree/credit_card_spec.rb
157
154
  - spec/integration/braintree/add_on_spec.rb
158
- - spec/integration/braintree/http_spec.rb
159
- - spec/integration/braintree/subscription_spec.rb
160
- - spec/integration/braintree/credit_card_verification_search_spec.rb
161
- - spec/integration/braintree/credit_card_verification_spec.rb
162
- - spec/integration/braintree/advanced_search_spec.rb
163
- - spec/integration/braintree/customer_search_spec.rb
164
- - spec/integration/braintree/merchant_account_spec.rb
165
155
  - spec/integration/braintree/plan_spec.rb
156
+ - spec/integration/braintree/advanced_search_spec.rb
166
157
  - spec/integration/braintree/error_codes_spec.rb
167
158
  - spec/integration/braintree/address_spec.rb
159
+ - spec/integration/braintree/subscription_spec.rb
168
160
  - spec/integration/braintree/transparent_redirect_spec.rb
169
- - spec/integration/braintree/credit_card_spec.rb
161
+ - spec/integration/braintree/http_spec.rb
162
+ - spec/integration/braintree/merchant_account_spec.rb
163
+ - spec/integration/braintree/customer_spec.rb
164
+ - spec/integration/braintree/credit_card_verification_spec.rb
165
+ - spec/integration/braintree/test/transaction_amounts_spec.rb
166
+ - spec/integration/braintree/settlement_batch_summary_spec.rb
167
+ - spec/integration/braintree/credit_card_verification_search_spec.rb
168
+ - spec/integration/braintree/transaction_spec.rb
169
+ - spec/integration/braintree/customer_search_spec.rb
170
170
  - spec/integration/braintree/discount_spec.rb
171
- - spec/spec.opts
172
- - spec/ssl/geotrust_global.crt
173
- - spec/ssl/certificate.crt
174
- - spec/ssl/privateKey.key
171
+ - spec/integration/braintree/disbursement_spec.rb
172
+ - spec/integration/braintree/transaction_search_spec.rb
173
+ - spec/integration/spec_helper.rb
174
+ - spec/spec_helper.rb
175
175
  - braintree.gemspec
176
176
  homepage: http://www.braintreepayments.com/
177
177
  licenses:
178
178
  - MIT
179
+ metadata: {}
179
180
  post_install_message:
180
181
  rdoc_options: []
181
182
  require_paths:
182
183
  - lib
183
184
  required_ruby_version: !ruby/object:Gem::Requirement
184
- none: false
185
185
  requirements:
186
- - - ! '>='
186
+ - - '>='
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  required_rubygems_version: !ruby/object:Gem::Requirement
190
- none: false
191
190
  requirements:
192
- - - ! '>='
191
+ - - '>='
193
192
  - !ruby/object:Gem::Version
194
193
  version: '0'
195
194
  requirements: []
196
195
  rubyforge_project: braintree
197
- rubygems_version: 1.8.23
196
+ rubygems_version: 2.1.11
198
197
  signing_key:
199
- specification_version: 3
198
+ specification_version: 4
200
199
  summary: Braintree Gateway Ruby Client Library
201
200
  test_files: []