braintree 2.93.0 → 2.94.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/braintree.rb +2 -0
- data/lib/braintree/error_codes.rb +1 -0
- data/lib/braintree/payment_method_gateway.rb +32 -43
- data/lib/braintree/payment_method_parser.rb +32 -0
- data/lib/braintree/revoked_payment_method_metadata.rb +22 -0
- data/lib/braintree/util.rb +1 -1
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +3 -0
- data/spec/fixtures/files/too_long.pdf +0 -0
- data/spec/integration/braintree/add_on_spec.rb +1 -1
- data/spec/integration/braintree/credit_card_spec.rb +10 -10
- data/spec/integration/braintree/customer_spec.rb +9 -9
- data/spec/integration/braintree/discount_spec.rb +1 -1
- data/spec/integration/braintree/document_upload_spec.rb +7 -0
- data/spec/integration/braintree/ideal_payment_spec.rb +2 -2
- data/spec/integration/braintree/payment_method_nonce_spec.rb +19 -0
- data/spec/integration/braintree/payment_method_spec.rb +2 -2
- data/spec/integration/braintree/paypal_account_spec.rb +2 -2
- data/spec/integration/braintree/subscription_spec.rb +39 -39
- data/spec/integration/braintree/transaction_line_item_spec.rb +3 -3
- data/spec/integration/braintree/transaction_search_spec.rb +2 -2
- data/spec/integration/braintree/transaction_spec.rb +60 -60
- data/spec/integration/braintree/transaction_us_bank_account_spec.rb +7 -7
- data/spec/integration/braintree/transparent_redirect_spec.rb +2 -2
- data/spec/integration/braintree/us_bank_account_spec.rb +2 -2
- data/spec/spec_helper.rb +4 -4
- data/spec/unit/braintree/credit_card_verification_spec.rb +2 -2
- data/spec/unit/braintree/modification_spec.rb +1 -1
- data/spec/unit/braintree/subscription_spec.rb +2 -2
- data/spec/unit/braintree/transaction_spec.rb +2 -2
- data/spec/unit/braintree/util_spec.rb +2 -2
- data/spec/unit/braintree/webhook_notification_spec.rb +133 -0
- data/spec/unit/braintree/xml_spec.rb +3 -3
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dce496fbd494eb6d7c00260e5f7ac5ce0082e588874e5ff85f8b1130009164c6
|
4
|
+
data.tar.gz: 827b5db86f4b2144bbbe795f2bbd2abd06b7f4c85d577e99842c544705b234d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d879cf0a13d3d799ecf92f8f447e91a75897ecc77a75ee9ed1a39a5d96f81b7e82b4f6edfa57147e689230ea5941ecb5f92e1e4fb3e0f8524cb2d8a66542bf8
|
7
|
+
data.tar.gz: e402c7a9f7d351a89ad7c205012b26e66f9ca82ac15c73fc5ff432c2e00296dc78422ef8c2e80ad45d12f2e9901a8f343b9164736cecd3c578546316e0a26e0d
|
data/lib/braintree.rb
CHANGED
@@ -91,6 +91,7 @@ require "braintree/payment_method"
|
|
91
91
|
require "braintree/payment_method_gateway"
|
92
92
|
require "braintree/payment_method_nonce"
|
93
93
|
require "braintree/payment_method_nonce_gateway"
|
94
|
+
require "braintree/payment_method_parser"
|
94
95
|
require "braintree/paypal_account"
|
95
96
|
require "braintree/paypal_account_gateway"
|
96
97
|
require "braintree/plan"
|
@@ -103,6 +104,7 @@ require "braintree/three_d_secure_info"
|
|
103
104
|
require "braintree/settlement_batch_summary"
|
104
105
|
require "braintree/settlement_batch_summary_gateway"
|
105
106
|
require "braintree/resource_collection"
|
107
|
+
require "braintree/revoked_payment_method_metadata"
|
106
108
|
require "braintree/paginated_collection"
|
107
109
|
require "braintree/paginated_result"
|
108
110
|
require "braintree/europe_bank_account"
|
@@ -19,36 +19,11 @@ module Braintree
|
|
19
19
|
|
20
20
|
def _do_create(path, params=nil) # :nodoc:
|
21
21
|
response = @config.http.post("#{@config.base_merchant_path}#{path}", params)
|
22
|
-
|
23
|
-
|
24
|
-
elsif response[:paypal_account]
|
25
|
-
SuccessfulResult.new(:payment_method => PayPalAccount._new(@gateway, response[:paypal_account]))
|
26
|
-
elsif response[:coinbase_account]
|
27
|
-
SuccessfulResult.new(:payment_method => CoinbaseAccount._new(@gateway, response[:coinbase_account]))
|
28
|
-
elsif response[:us_bank_account]
|
29
|
-
SuccessfulResult.new(:payment_method => UsBankAccount._new(@gateway, response[:us_bank_account]))
|
30
|
-
elsif response[:apple_pay_card]
|
31
|
-
SuccessfulResult.new(:payment_method => ApplePayCard._new(@gateway, response[:apple_pay_card]))
|
32
|
-
elsif response[:android_pay_card]
|
33
|
-
SuccessfulResult.new(:payment_method => AndroidPayCard._new(@gateway, response[:android_pay_card]))
|
34
|
-
elsif response[:amex_express_checkout_card]
|
35
|
-
SuccessfulResult.new(:payment_method => AmexExpressCheckoutCard._new(@gateway, response[:amex_express_checkout_card]))
|
36
|
-
elsif response[:venmo_account]
|
37
|
-
SuccessfulResult.new(:payment_method => VenmoAccount._new(@gateway, response[:venmo_account]))
|
38
|
-
elsif response[:visa_checkout_card]
|
39
|
-
SuccessfulResult.new(:payment_method => VisaCheckoutCard._new(@gateway, response[:visa_checkout_card]))
|
40
|
-
elsif response[:masterpass_card]
|
41
|
-
SuccessfulResult.new(:payment_method => MasterpassCard._new(@gateway, response[:masterpass_card]))
|
42
|
-
elsif response[:samsung_pay_card]
|
43
|
-
SuccessfulResult.new(:payment_method => SamsungPayCard._new(@gateway, response[:samsung_pay_card]))
|
44
|
-
elsif response[:payment_method_nonce]
|
45
|
-
SuccessfulResult.new(:payment_method_nonce => PaymentMethodNonce._new(@gateway, response[:payment_method_nonce]))
|
46
|
-
elsif response[:success]
|
47
|
-
SuccessfulResult.new
|
48
|
-
elsif response[:api_error_response]
|
22
|
+
|
23
|
+
if response[:api_error_response]
|
49
24
|
ErrorResult.new(@gateway, response[:api_error_response])
|
50
25
|
elsif response
|
51
|
-
SuccessfulResult.new(:payment_method =>
|
26
|
+
SuccessfulResult.new(:payment_method => PaymentMethodParser.parse_payment_method(@gateway, response))
|
52
27
|
else
|
53
28
|
raise UnexpectedError, "expected :payment_method or :api_error_response"
|
54
29
|
end
|
@@ -96,6 +71,17 @@ module Braintree
|
|
96
71
|
return_object_or_raise(:payment_method) { update(*args) }
|
97
72
|
end
|
98
73
|
|
74
|
+
def _do_update(http_verb, path, params) # :nodoc:
|
75
|
+
response = @config.http.send(http_verb, "#{@config.base_merchant_path}#{path}", params)
|
76
|
+
if response[:api_error_response]
|
77
|
+
ErrorResult.new(@gateway, response[:api_error_response])
|
78
|
+
elsif response
|
79
|
+
SuccessfulResult.new(:payment_method => PaymentMethodParser.parse_payment_method(@gateway, response))
|
80
|
+
else
|
81
|
+
raise UnexpectedError, "expected :payment_method or :api_error_response"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
99
85
|
def grant(token, options = {})
|
100
86
|
raise ArgumentError if token.nil? || token.to_s.strip == ""
|
101
87
|
if options.class == Hash
|
@@ -106,7 +92,7 @@ module Braintree
|
|
106
92
|
raise ArgumentError
|
107
93
|
end
|
108
94
|
|
109
|
-
|
95
|
+
_do_grant(
|
110
96
|
"/payment_methods/grant",
|
111
97
|
:payment_method => {
|
112
98
|
:shared_payment_method_token => token,
|
@@ -116,10 +102,21 @@ module Braintree
|
|
116
102
|
raise NotFoundError, "payment method with token #{token.inspect} not found"
|
117
103
|
end
|
118
104
|
|
105
|
+
def _do_grant(path, params=nil)
|
106
|
+
response = @config.http.post("#{@config.base_merchant_path}#{path}", params)
|
107
|
+
if response[:payment_method_nonce]
|
108
|
+
SuccessfulResult.new(:payment_method_nonce => PaymentMethodNonce._new(@gateway, response[:payment_method_nonce]))
|
109
|
+
elsif response[:api_error_response]
|
110
|
+
ErrorResult.new(@gateway, response[:api_error_response])
|
111
|
+
else
|
112
|
+
raise UnexpectedError, "expected :payment_method_nonce or :api_error_response"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
119
116
|
def revoke(token)
|
120
117
|
raise ArgumentError if token.nil? || token.to_s.strip == ""
|
121
118
|
|
122
|
-
|
119
|
+
_do_revoke(
|
123
120
|
"/payment_methods/revoke",
|
124
121
|
:payment_method => {
|
125
122
|
:shared_payment_method_token => token
|
@@ -129,22 +126,14 @@ module Braintree
|
|
129
126
|
raise NotFoundError, "payment method with token #{token.inspect} not found"
|
130
127
|
end
|
131
128
|
|
132
|
-
def
|
133
|
-
response = @config.http.
|
134
|
-
if response[:
|
135
|
-
SuccessfulResult.new
|
136
|
-
elsif response[:paypal_account]
|
137
|
-
SuccessfulResult.new(:payment_method => PayPalAccount._new(@gateway, response[:paypal_account]))
|
138
|
-
elsif response[:coinbase_account]
|
139
|
-
SuccessfulResult.new(:payment_method => CoinbaseAccount._new(@gateway, response[:coinbase_account]))
|
129
|
+
def _do_revoke(path, params=nil)
|
130
|
+
response = @config.http.post("#{@config.base_merchant_path}#{path}", params)
|
131
|
+
if response[:success]
|
132
|
+
SuccessfulResult.new
|
140
133
|
elsif response[:api_error_response]
|
141
134
|
ErrorResult.new(@gateway, response[:api_error_response])
|
142
|
-
elsif response[:us_bank_account]
|
143
|
-
SuccessfulResult.new(:payment_method => UsBankAccount._new(@gateway, response[:us_bank_account]))
|
144
|
-
elsif response
|
145
|
-
SuccessfulResult.new(:payment_method => UnknownPaymentMethod._new(@gateway, response))
|
146
135
|
else
|
147
|
-
raise UnexpectedError, "expected :
|
136
|
+
raise UnexpectedError, "expected :success or :api_error_response"
|
148
137
|
end
|
149
138
|
end
|
150
139
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Braintree
|
2
|
+
module PaymentMethodParser
|
3
|
+
|
4
|
+
def self.parse_payment_method(gateway, attributes)
|
5
|
+
if attributes[:credit_card]
|
6
|
+
CreditCard._new(gateway, attributes[:credit_card])
|
7
|
+
elsif attributes[:paypal_account]
|
8
|
+
PayPalAccount._new(gateway, attributes[:paypal_account])
|
9
|
+
elsif attributes[:coinbase_account]
|
10
|
+
CoinbaseAccount._new(gateway, attributes[:coinbase_account])
|
11
|
+
elsif attributes[:us_bank_account]
|
12
|
+
UsBankAccount._new(gateway, attributes[:us_bank_account])
|
13
|
+
elsif attributes[:apple_pay_card]
|
14
|
+
ApplePayCard._new(gateway, attributes[:apple_pay_card])
|
15
|
+
elsif attributes[:android_pay_card]
|
16
|
+
AndroidPayCard._new(gateway, attributes[:android_pay_card])
|
17
|
+
elsif attributes[:amex_express_checkout_card]
|
18
|
+
AmexExpressCheckoutCard._new(gateway, attributes[:amex_express_checkout_card])
|
19
|
+
elsif attributes[:venmo_account]
|
20
|
+
VenmoAccount._new(gateway, attributes[:venmo_account])
|
21
|
+
elsif attributes[:visa_checkout_card]
|
22
|
+
VisaCheckoutCard._new(gateway, attributes[:visa_checkout_card])
|
23
|
+
elsif attributes[:masterpass_card]
|
24
|
+
MasterpassCard._new(gateway, attributes[:masterpass_card])
|
25
|
+
elsif attributes[:samsung_pay_card]
|
26
|
+
SamsungPayCard._new(gateway, attributes[:samsung_pay_card])
|
27
|
+
else
|
28
|
+
UnknownPaymentMethod._new(gateway, attributes)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Braintree
|
2
|
+
class RevokedPaymentMethodMetadata
|
3
|
+
include BaseModule
|
4
|
+
|
5
|
+
attr_reader :customer_id
|
6
|
+
attr_reader :token
|
7
|
+
attr_reader :revoked_payment_method
|
8
|
+
|
9
|
+
def initialize(gateway, attributes)
|
10
|
+
@revoked_payment_method = PaymentMethodParser.parse_payment_method(gateway, attributes)
|
11
|
+
@customer_id = @revoked_payment_method.customer_id
|
12
|
+
@token = @revoked_payment_method.token
|
13
|
+
end
|
14
|
+
|
15
|
+
class << self
|
16
|
+
protected :new
|
17
|
+
def _new(*args) # :nodoc:
|
18
|
+
self.new *args
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/braintree/util.rb
CHANGED
data/lib/braintree/version.rb
CHANGED
@@ -41,6 +41,7 @@ module Braintree
|
|
41
41
|
ConnectedMerchantPayPalStatusChanged = "connected_merchant_paypal_status_changed"
|
42
42
|
|
43
43
|
GrantedPaymentInstrumentUpdate = "granted_payment_instrument_update"
|
44
|
+
GrantedPaymentInstrumentRevoked = "granted_payment_instrument_revoked"
|
44
45
|
|
45
46
|
LocalPaymentCompleted = "local_payment_completed"
|
46
47
|
end
|
@@ -51,6 +52,7 @@ module Braintree
|
|
51
52
|
attr_reader :disbursement
|
52
53
|
attr_reader :dispute
|
53
54
|
attr_reader :granted_payment_instrument_update
|
55
|
+
attr_reader :revoked_payment_method_metadata
|
54
56
|
attr_reader :ideal_payment
|
55
57
|
attr_reader :kind
|
56
58
|
attr_reader :local_payment_completed
|
@@ -85,6 +87,7 @@ module Braintree
|
|
85
87
|
@connected_merchant_status_transitioned = ConnectedMerchantStatusTransitioned._new(@subject[:connected_merchant_status_transitioned]) if @subject.has_key?(:connected_merchant_status_transitioned)
|
86
88
|
@connected_merchant_paypal_status_changed = ConnectedMerchantPayPalStatusChanged._new(@subject[:connected_merchant_paypal_status_changed]) if @subject.has_key?(:connected_merchant_paypal_status_changed)
|
87
89
|
@granted_payment_instrument_update = GrantedPaymentInstrumentUpdate._new(@subject[:granted_payment_instrument_update]) if @subject.has_key?(:granted_payment_instrument_update)
|
90
|
+
@revoked_payment_method_metadata = RevokedPaymentMethodMetadata._new(gateway, @subject) if @kind == Kind::GrantedPaymentInstrumentRevoked
|
88
91
|
@local_payment_completed = LocalPaymentCompleted._new(@subject[:local_payment]) if @subject.has_key?(:local_payment)
|
89
92
|
end
|
90
93
|
|
Binary file
|
@@ -21,7 +21,7 @@ describe Braintree::AddOn do
|
|
21
21
|
add_on = add_ons.select { |add_on| add_on.id == id }.first
|
22
22
|
|
23
23
|
add_on.should_not be_nil
|
24
|
-
add_on.amount.should == BigDecimal
|
24
|
+
add_on.amount.should == BigDecimal(expected[:amount])
|
25
25
|
add_on.created_at.should_not be_nil
|
26
26
|
add_on.description.should == expected[:description]
|
27
27
|
add_on.kind.should == expected[:kind]
|
@@ -592,7 +592,7 @@ describe Braintree::CreditCard do
|
|
592
592
|
:amount => "100.00"
|
593
593
|
)
|
594
594
|
result.success?.should == true
|
595
|
-
result.transaction.amount.should == BigDecimal
|
595
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
596
596
|
result.transaction.type.should == "credit"
|
597
597
|
result.transaction.customer_details.id.should == customer.id
|
598
598
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -614,7 +614,7 @@ describe Braintree::CreditCard do
|
|
614
614
|
customer.credit_cards[0].token,
|
615
615
|
:amount => "100.00"
|
616
616
|
)
|
617
|
-
transaction.amount.should == BigDecimal
|
617
|
+
transaction.amount.should == BigDecimal("100.00")
|
618
618
|
transaction.type.should == "credit"
|
619
619
|
transaction.customer_details.id.should == customer.id
|
620
620
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1064,7 +1064,7 @@ describe Braintree::CreditCard do
|
|
1064
1064
|
:amount => "100.00"
|
1065
1065
|
)
|
1066
1066
|
result.success?.should == true
|
1067
|
-
result.transaction.amount.should == BigDecimal
|
1067
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
1068
1068
|
result.transaction.type.should == "credit"
|
1069
1069
|
result.transaction.customer_details.id.should == customer.id
|
1070
1070
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1083,7 +1083,7 @@ describe Braintree::CreditCard do
|
|
1083
1083
|
}
|
1084
1084
|
)
|
1085
1085
|
transaction = customer.credit_cards[0].credit!(:amount => "100.00")
|
1086
|
-
transaction.amount.should == BigDecimal
|
1086
|
+
transaction.amount.should == BigDecimal("100.00")
|
1087
1087
|
transaction.type.should == "credit"
|
1088
1088
|
transaction.customer_details.id.should == customer.id
|
1089
1089
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1208,7 +1208,7 @@ describe Braintree::CreditCard do
|
|
1208
1208
|
found_card.subscriptions.first.id.should == subscription.id
|
1209
1209
|
found_card.subscriptions.first.plan_id.should == "integration_trialless_plan"
|
1210
1210
|
found_card.subscriptions.first.payment_method_token.should == credit_card.token
|
1211
|
-
found_card.subscriptions.first.price.should == BigDecimal
|
1211
|
+
found_card.subscriptions.first.price.should == BigDecimal("1.00")
|
1212
1212
|
end
|
1213
1213
|
|
1214
1214
|
it "raises a NotFoundError exception if payment method cannot be found" do
|
@@ -1295,7 +1295,7 @@ describe Braintree::CreditCard do
|
|
1295
1295
|
result = Braintree::CreditCard.sale(customer.credit_cards[0].token, :amount => "100.00")
|
1296
1296
|
|
1297
1297
|
result.success?.should == true
|
1298
|
-
result.transaction.amount.should == BigDecimal
|
1298
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
1299
1299
|
result.transaction.type.should == "sale"
|
1300
1300
|
result.transaction.customer_details.id.should == customer.id
|
1301
1301
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1319,7 +1319,7 @@ describe Braintree::CreditCard do
|
|
1319
1319
|
)
|
1320
1320
|
|
1321
1321
|
result.success?.should == true
|
1322
|
-
result.transaction.amount.should == BigDecimal
|
1322
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
1323
1323
|
result.transaction.type.should == "sale"
|
1324
1324
|
result.transaction.customer_details.id.should == customer.id
|
1325
1325
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1336,7 +1336,7 @@ describe Braintree::CreditCard do
|
|
1336
1336
|
}
|
1337
1337
|
)
|
1338
1338
|
transaction = Braintree::CreditCard.sale!(customer.credit_cards[0].token, :amount => "100.00")
|
1339
|
-
transaction.amount.should == BigDecimal
|
1339
|
+
transaction.amount.should == BigDecimal("100.00")
|
1340
1340
|
transaction.type.should == "sale"
|
1341
1341
|
transaction.customer_details.id.should == customer.id
|
1342
1342
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1358,7 +1358,7 @@ describe Braintree::CreditCard do
|
|
1358
1358
|
:amount => "100.00"
|
1359
1359
|
)
|
1360
1360
|
result.success?.should == true
|
1361
|
-
result.transaction.amount.should == BigDecimal
|
1361
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
1362
1362
|
result.transaction.type.should == "sale"
|
1363
1363
|
result.transaction.customer_details.id.should == customer.id
|
1364
1364
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -1377,7 +1377,7 @@ describe Braintree::CreditCard do
|
|
1377
1377
|
}
|
1378
1378
|
)
|
1379
1379
|
transaction = customer.credit_cards[0].sale!(:amount => "100.00")
|
1380
|
-
transaction.amount.should == BigDecimal
|
1380
|
+
transaction.amount.should == BigDecimal("100.00")
|
1381
1381
|
transaction.type.should == "sale"
|
1382
1382
|
transaction.customer_details.id.should == customer.id
|
1383
1383
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -531,7 +531,7 @@ describe Braintree::Customer do
|
|
531
531
|
)
|
532
532
|
result = Braintree::Customer.credit(customer.id, :amount => "100.00")
|
533
533
|
result.success?.should == true
|
534
|
-
result.transaction.amount.should == BigDecimal
|
534
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
535
535
|
result.transaction.type.should == "credit"
|
536
536
|
result.transaction.customer_details.id.should == customer.id
|
537
537
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -550,7 +550,7 @@ describe Braintree::Customer do
|
|
550
550
|
}
|
551
551
|
)
|
552
552
|
transaction = Braintree::Customer.credit!(customer.id, :amount => "100.00")
|
553
|
-
transaction.amount.should == BigDecimal
|
553
|
+
transaction.amount.should == BigDecimal("100.00")
|
554
554
|
transaction.type.should == "credit"
|
555
555
|
transaction.customer_details.id.should == customer.id
|
556
556
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -570,7 +570,7 @@ describe Braintree::Customer do
|
|
570
570
|
)
|
571
571
|
result = Braintree::Customer.sale(customer.id, :amount => "100.00")
|
572
572
|
result.success?.should == true
|
573
|
-
result.transaction.amount.should == BigDecimal
|
573
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
574
574
|
result.transaction.type.should == "sale"
|
575
575
|
result.transaction.customer_details.id.should == customer.id
|
576
576
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -589,7 +589,7 @@ describe Braintree::Customer do
|
|
589
589
|
}
|
590
590
|
)
|
591
591
|
transaction = Braintree::Customer.sale!(customer.id, :amount => "100.00")
|
592
|
-
transaction.amount.should == BigDecimal
|
592
|
+
transaction.amount.should == BigDecimal("100.00")
|
593
593
|
transaction.type.should == "sale"
|
594
594
|
transaction.customer_details.id.should == customer.id
|
595
595
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -626,7 +626,7 @@ describe Braintree::Customer do
|
|
626
626
|
:amount => "100.00"
|
627
627
|
)
|
628
628
|
result.success?.should == true
|
629
|
-
result.transaction.amount.should == BigDecimal
|
629
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
630
630
|
result.transaction.type.should == "sale"
|
631
631
|
result.transaction.customer_details.id.should == customer.id
|
632
632
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -645,7 +645,7 @@ describe Braintree::Customer do
|
|
645
645
|
}
|
646
646
|
)
|
647
647
|
transaction = customer.sale!(:amount => "100.00")
|
648
|
-
transaction.amount.should == BigDecimal
|
648
|
+
transaction.amount.should == BigDecimal("100.00")
|
649
649
|
transaction.type.should == "sale"
|
650
650
|
transaction.customer_details.id.should == customer.id
|
651
651
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -681,7 +681,7 @@ describe Braintree::Customer do
|
|
681
681
|
:amount => "100.00"
|
682
682
|
)
|
683
683
|
result.success?.should == true
|
684
|
-
result.transaction.amount.should == BigDecimal
|
684
|
+
result.transaction.amount.should == BigDecimal("100.00")
|
685
685
|
result.transaction.type.should == "credit"
|
686
686
|
result.transaction.customer_details.id.should == customer.id
|
687
687
|
result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -700,7 +700,7 @@ describe Braintree::Customer do
|
|
700
700
|
}
|
701
701
|
)
|
702
702
|
transaction = customer.credit!(:amount => "100.00")
|
703
|
-
transaction.amount.should == BigDecimal
|
703
|
+
transaction.amount.should == BigDecimal("100.00")
|
704
704
|
transaction.type.should == "credit"
|
705
705
|
transaction.customer_details.id.should == customer.id
|
706
706
|
transaction.credit_card_details.token.should == customer.credit_cards[0].token
|
@@ -820,7 +820,7 @@ describe Braintree::Customer do
|
|
820
820
|
found_customer.credit_cards.first.subscriptions.first.id.should == subscription.id
|
821
821
|
found_customer.credit_cards.first.subscriptions.first.plan_id.should == "integration_trialless_plan"
|
822
822
|
found_customer.credit_cards.first.subscriptions.first.payment_method_token.should == credit_card.token
|
823
|
-
found_customer.credit_cards.first.subscriptions.first.price.should == BigDecimal
|
823
|
+
found_customer.credit_cards.first.subscriptions.first.price.should == BigDecimal("1.00")
|
824
824
|
end
|
825
825
|
|
826
826
|
context "when given an association filter id" do
|
@@ -21,7 +21,7 @@ describe Braintree::Discount do
|
|
21
21
|
discount = discounts.select { |discount| discount.id == id }.first
|
22
22
|
|
23
23
|
discount.should_not be_nil
|
24
|
-
discount.amount.should == BigDecimal
|
24
|
+
discount.amount.should == BigDecimal(expected[:amount])
|
25
25
|
discount.created_at.should_not be_nil
|
26
26
|
discount.description.should == expected[:description]
|
27
27
|
discount.kind.should == expected[:kind]
|
@@ -46,6 +46,13 @@ describe Braintree::DocumentUploadGateway do
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
+
it "returns file too long error with file over 50 pages" do
|
50
|
+
filename = "#{File.dirname(__FILE__)}/../../fixtures/files/too_long.pdf"
|
51
|
+
file = File.new(filename, "r")
|
52
|
+
response = Braintree::DocumentUpload.create({:kind => Braintree::DocumentUpload::Kind::EvidenceDocument, :file => file})
|
53
|
+
response.errors.for(:document_upload).first.code.should == Braintree::ErrorCodes::DocumentUpload::FileIsTooLong
|
54
|
+
end
|
55
|
+
|
49
56
|
it "returns invalid keys error if signature is invalid" do
|
50
57
|
expect do
|
51
58
|
response = Braintree::DocumentUpload.create({:invalid_key => "do not add", :kind => Braintree::DocumentUpload::Kind::EvidenceDocument})
|