braintree 4.0.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/braintree.gemspec +1 -0
- data/lib/braintree.rb +2 -0
- data/lib/braintree/apple_pay_card.rb +9 -0
- data/lib/braintree/credit_card_gateway.rb +11 -1
- data/lib/braintree/error_codes.rb +4 -2
- data/lib/braintree/google_pay_card.rb +9 -0
- data/lib/braintree/http.rb +1 -0
- data/lib/braintree/local_payment_expired.rb +21 -0
- data/lib/braintree/local_payment_funded.rb +22 -0
- data/lib/braintree/payment_method_gateway.rb +7 -2
- data/lib/braintree/payment_method_nonce.rb +6 -3
- data/lib/braintree/transaction/paypal_details.rb +2 -0
- data/lib/braintree/transaction_gateway.rb +3 -3
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +8 -1
- data/lib/braintree/webhook_testing_gateway.rb +51 -2
- data/spec/integration/braintree/credit_card_spec.rb +89 -0
- data/spec/integration/braintree/customer_spec.rb +117 -0
- data/spec/integration/braintree/merchant_account_spec.rb +3 -3
- data/spec/integration/braintree/payment_method_nonce_spec.rb +2 -0
- data/spec/integration/braintree/payment_method_spec.rb +131 -0
- data/spec/integration/braintree/transaction_spec.rb +82 -2
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/braintree/credit_card_spec.rb +6 -6
- data/spec/unit/braintree/customer_spec.rb +8 -7
- data/spec/unit/braintree/http_spec.rb +2 -0
- data/spec/unit/braintree/local_payment_expired_spec.rb +24 -0
- data/spec/unit/braintree/local_payment_funded_spec.rb +34 -0
- data/spec/unit/braintree/payment_method_nonce_spec.rb +40 -0
- data/spec/unit/braintree/transaction/paypal_details_spec.rb +4 -0
- data/spec/unit/braintree/transaction_spec.rb +3 -3
- data/spec/unit/braintree/webhook_notification_spec.rb +50 -1
- metadata +22 -3
data/spec/spec_helper.rb
CHANGED
@@ -42,6 +42,7 @@ unless defined?(SPEC_HELPER_LOADED)
|
|
42
42
|
HiperBRLMerchantAccountId = "hiper_brl"
|
43
43
|
CardProcessorBRLMerchantAccountId = "card_processor_brl"
|
44
44
|
FakeFirstDataMerchantAccountId = "fake_first_data_merchant_account"
|
45
|
+
AibSwedenMaMerchantAccountId = "aib_swe_ma"
|
45
46
|
|
46
47
|
TrialPlan = {
|
47
48
|
:description => "Plan for integration tests -- with trial",
|
@@ -11,7 +11,7 @@ describe Braintree::CreditCard do
|
|
11
11
|
|
12
12
|
describe "self.create_signature" do
|
13
13
|
it "should be what we expect" do
|
14
|
-
Braintree::CreditCardGateway._create_signature.
|
14
|
+
expect(Braintree::CreditCardGateway._create_signature).to match([
|
15
15
|
:billing_address_id,
|
16
16
|
:cardholder_name,
|
17
17
|
:cvv,
|
@@ -24,7 +24,7 @@ describe Braintree::CreditCard do
|
|
24
24
|
:device_data,
|
25
25
|
:payment_method_nonce,
|
26
26
|
{:external_vault=>[:network_transaction_id]},
|
27
|
-
{:options => [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type, :verification_currency_iso_code]},
|
27
|
+
{:options => match_array([:make_default, :skip_advanced_fraud_checking, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type, :verification_currency_iso_code])},
|
28
28
|
{:billing_address => [
|
29
29
|
:company,
|
30
30
|
:country_code_alpha2,
|
@@ -51,13 +51,13 @@ describe Braintree::CreditCard do
|
|
51
51
|
:ds_transaction_id,
|
52
52
|
]},
|
53
53
|
:customer_id,
|
54
|
-
]
|
54
|
+
])
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
58
|
describe "self.update_signature" do
|
59
59
|
it "should be what we expect" do
|
60
|
-
Braintree::CreditCardGateway._update_signature.
|
60
|
+
expect(Braintree::CreditCardGateway._update_signature).to match([
|
61
61
|
:billing_address_id,
|
62
62
|
:cardholder_name,
|
63
63
|
:cvv,
|
@@ -70,7 +70,7 @@ describe Braintree::CreditCard do
|
|
70
70
|
:device_data,
|
71
71
|
:payment_method_nonce,
|
72
72
|
{:external_vault=>[:network_transaction_id]},
|
73
|
-
{:options => [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type, :verification_currency_iso_code]},
|
73
|
+
{:options => match_array([:make_default, :skip_advanced_fraud_checking, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type, :verification_currency_iso_code])},
|
74
74
|
{:billing_address => [
|
75
75
|
:company,
|
76
76
|
:country_code_alpha2,
|
@@ -97,7 +97,7 @@ describe Braintree::CreditCard do
|
|
97
97
|
:cavv_algorithm,
|
98
98
|
:ds_transaction_id,
|
99
99
|
]},
|
100
|
-
]
|
100
|
+
])
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
@@ -76,7 +76,7 @@ describe Braintree::Customer do
|
|
76
76
|
|
77
77
|
describe "self.create_signature" do
|
78
78
|
it "should be what we expect" do
|
79
|
-
Braintree::CustomerGateway._create_signature.
|
79
|
+
expect(Braintree::CustomerGateway._create_signature).to match([
|
80
80
|
:company,
|
81
81
|
:email,
|
82
82
|
:fax,
|
@@ -101,7 +101,7 @@ describe Braintree::Customer do
|
|
101
101
|
:device_data,
|
102
102
|
:payment_method_nonce,
|
103
103
|
{:external_vault=>[:network_transaction_id]},
|
104
|
-
{:options => [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type, :verification_currency_iso_code]},
|
104
|
+
{:options => match_array([:make_default, :skip_advanced_fraud_checking, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type, :verification_currency_iso_code])},
|
105
105
|
{:billing_address => [
|
106
106
|
:company,
|
107
107
|
:country_code_alpha2,
|
@@ -163,13 +163,13 @@ describe Braintree::Customer do
|
|
163
163
|
]]
|
164
164
|
},
|
165
165
|
{:custom_fields => :_any_key_}
|
166
|
-
]
|
166
|
+
])
|
167
167
|
end
|
168
168
|
end
|
169
169
|
|
170
170
|
describe "self.update_signature" do
|
171
171
|
it "should be what we expect" do
|
172
|
-
Braintree::CustomerGateway._update_signature.
|
172
|
+
expect(Braintree::CustomerGateway._update_signature).to match([
|
173
173
|
:company,
|
174
174
|
:email,
|
175
175
|
:fax,
|
@@ -194,8 +194,9 @@ describe Braintree::Customer do
|
|
194
194
|
:device_data,
|
195
195
|
:payment_method_nonce,
|
196
196
|
{:external_vault=>[:network_transaction_id]},
|
197
|
-
{:options => [
|
197
|
+
{:options => match_array([
|
198
198
|
:make_default,
|
199
|
+
:skip_advanced_fraud_checking,
|
199
200
|
:verification_merchant_account_id,
|
200
201
|
:verify_card,
|
201
202
|
:verification_amount,
|
@@ -204,7 +205,7 @@ describe Braintree::Customer do
|
|
204
205
|
:verification_account_type,
|
205
206
|
:verification_currency_iso_code,
|
206
207
|
:update_existing_token
|
207
|
-
]},
|
208
|
+
])},
|
208
209
|
{:billing_address => [
|
209
210
|
:company,
|
210
211
|
:country_code_alpha2,
|
@@ -261,7 +262,7 @@ describe Braintree::Customer do
|
|
261
262
|
]]
|
262
263
|
},
|
263
264
|
{:custom_fields => :_any_key_}
|
264
|
-
]
|
265
|
+
])
|
265
266
|
end
|
266
267
|
end
|
267
268
|
|
@@ -25,6 +25,7 @@ END
|
|
25
25
|
<last-name>Doe</last-name>
|
26
26
|
<number>1234560000001234</number>
|
27
27
|
<cvv>123</cvv>
|
28
|
+
<encrypted-card-data>8F34DFB312DC79C24FD5320622F3E11682D79E6B0C0FD881</encrypted-card-data>
|
28
29
|
</customer>
|
29
30
|
END
|
30
31
|
|
@@ -34,6 +35,7 @@ END
|
|
34
35
|
[Braintree] <last-name>Doe</last-name>
|
35
36
|
[Braintree] <number>123456******1234</number>
|
36
37
|
[Braintree] <cvv>***</cvv>
|
38
|
+
[Braintree] <encrypted-card-data>***</encrypted-card-data>
|
37
39
|
[Braintree] </customer>
|
38
40
|
END
|
39
41
|
Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml).should == expected_xml
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::LocalPaymentExpired do
|
4
|
+
describe "self.new" do
|
5
|
+
it "is protected" do
|
6
|
+
expect do
|
7
|
+
Braintree::LocalPaymentExpired.new
|
8
|
+
end.to raise_error(NoMethodError, /protected method .new/)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "self._new" do
|
13
|
+
it "initializes the object with the appropriate attributes set" do
|
14
|
+
params = {
|
15
|
+
payment_id: "a-payment-id",
|
16
|
+
payment_context_id: "a-payment-context-id",
|
17
|
+
}
|
18
|
+
local_payment_expired = Braintree::LocalPaymentExpired._new(params)
|
19
|
+
|
20
|
+
local_payment_expired.payment_id.should eq("a-payment-id")
|
21
|
+
local_payment_expired.payment_context_id.should eq("a-payment-context-id")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::LocalPaymentFunded do
|
4
|
+
describe "self.new" do
|
5
|
+
it "is protected" do
|
6
|
+
expect do
|
7
|
+
Braintree::LocalPaymentFunded.new
|
8
|
+
end.to raise_error(NoMethodError, /protected method .new/)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "self._new" do
|
13
|
+
it "initializes the object with the appropriate attributes set" do
|
14
|
+
params = {
|
15
|
+
payment_id: "a-payment-id",
|
16
|
+
payment_context_id: "a-payment-context-id",
|
17
|
+
transaction: {
|
18
|
+
id: "a-transaction-id",
|
19
|
+
amount: "31.00",
|
20
|
+
order_id: "an-order-id",
|
21
|
+
status: Braintree::Transaction::Status::Settled,
|
22
|
+
},
|
23
|
+
}
|
24
|
+
local_payment_funded = Braintree::LocalPaymentFunded._new(params)
|
25
|
+
|
26
|
+
local_payment_funded.payment_id.should eq("a-payment-id")
|
27
|
+
local_payment_funded.payment_context_id.should eq("a-payment-context-id")
|
28
|
+
local_payment_funded.transaction.id.should eq("a-transaction-id")
|
29
|
+
local_payment_funded.transaction.amount.should eq(31.0)
|
30
|
+
local_payment_funded.transaction.order_id.should eq("an-order-id")
|
31
|
+
local_payment_funded.transaction.status.should eq(Braintree::Transaction::Status::Settled)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::PaymentMethodNonce do
|
4
|
+
let(:payment_method_nonce) {
|
5
|
+
Braintree::PaymentMethodNonce._new(
|
6
|
+
:gateway,
|
7
|
+
:nonce => "some-nonce",
|
8
|
+
:type => "CreditCard",
|
9
|
+
:default => true,
|
10
|
+
:details => {
|
11
|
+
:bin => "some-bin"
|
12
|
+
},
|
13
|
+
:three_d_secure_info => {
|
14
|
+
:liability_shift_possible => false,
|
15
|
+
:liability_shifted => false
|
16
|
+
},
|
17
|
+
:bin_data => {
|
18
|
+
:country_of_issuance => "USA"
|
19
|
+
},
|
20
|
+
)
|
21
|
+
}
|
22
|
+
|
23
|
+
describe "#initialize" do
|
24
|
+
it "sets attributes" do
|
25
|
+
expect(payment_method_nonce.nonce).to eq("some-nonce")
|
26
|
+
expect(payment_method_nonce.type).to eq("CreditCard")
|
27
|
+
expect(payment_method_nonce.default).to be true
|
28
|
+
expect(payment_method_nonce.details.bin).to eq("some-bin")
|
29
|
+
expect(payment_method_nonce.three_d_secure_info.liability_shift_possible).to be false
|
30
|
+
expect(payment_method_nonce.three_d_secure_info.liability_shifted).to be false
|
31
|
+
expect(payment_method_nonce.bin_data.country_of_issuance).to eq("USA")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "default" do
|
36
|
+
it "is aliased to default?" do
|
37
|
+
expect(payment_method_nonce.default?).to be true
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -25,6 +25,8 @@ describe Braintree::Transaction::PayPalDetails do
|
|
25
25
|
:refund_from_transaction_fee_currency_iso_code => "123",
|
26
26
|
:refund_id => "refund-id",
|
27
27
|
:seller_protection_status => "seller-protection-status",
|
28
|
+
:tax_id => "tax-id",
|
29
|
+
:tax_id_type => "tax-id-type",
|
28
30
|
:token => "token",
|
29
31
|
:transaction_fee_amount => "2.00",
|
30
32
|
:transaction_fee_currency_iso_code => "123",
|
@@ -51,6 +53,8 @@ describe Braintree::Transaction::PayPalDetails do
|
|
51
53
|
expect(details.refund_from_transaction_fee_currency_iso_code).to eq("123")
|
52
54
|
expect(details.refund_id).to eq("refund-id")
|
53
55
|
expect(details.seller_protection_status).to eq("seller-protection-status")
|
56
|
+
expect(details.tax_id).to eq("tax-id")
|
57
|
+
expect(details.tax_id_type).to eq("tax-id-type")
|
54
58
|
expect(details.token).to eq("token")
|
55
59
|
expect(details.transaction_fee_amount).to eq("2.00")
|
56
60
|
expect(details.transaction_fee_currency_iso_code).to eq("123")
|
@@ -21,19 +21,19 @@ describe Braintree::Transaction do
|
|
21
21
|
it "raises error if passed empty string" do
|
22
22
|
expect do
|
23
23
|
Braintree::Transaction.find("")
|
24
|
-
end.to raise_error(ArgumentError)
|
24
|
+
end.to raise_error(ArgumentError, "id can not be empty")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "raises error if passed empty string wth space" do
|
28
28
|
expect do
|
29
29
|
Braintree::Transaction.find(" ")
|
30
|
-
end.to raise_error(ArgumentError)
|
30
|
+
end.to raise_error(ArgumentError, "id can not be empty")
|
31
31
|
end
|
32
32
|
|
33
33
|
it "raises error if passed nil" do
|
34
34
|
expect do
|
35
35
|
Braintree::Transaction.find(nil)
|
36
|
-
end.to raise_error(ArgumentError)
|
36
|
+
end.to raise_error(ArgumentError, "id can not be empty")
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -611,6 +611,22 @@ describe Braintree::WebhookNotification do
|
|
611
611
|
metadata.token.should == "venmo_token"
|
612
612
|
metadata.revoked_payment_method.class.should == Braintree::VenmoAccount
|
613
613
|
end
|
614
|
+
|
615
|
+
it "builds a sample notification for a GrantedPaymentMethodRevoked webhook" do
|
616
|
+
sample_notification = Braintree::WebhookTesting.sample_notification(
|
617
|
+
Braintree::WebhookNotification::Kind::GrantedPaymentMethodRevoked,
|
618
|
+
"my_id",
|
619
|
+
)
|
620
|
+
|
621
|
+
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
|
622
|
+
expect(notification.kind).to eq Braintree::WebhookNotification::Kind::GrantedPaymentMethodRevoked
|
623
|
+
|
624
|
+
metadata = notification.revoked_payment_method_metadata
|
625
|
+
|
626
|
+
expect(metadata.customer_id).to eq "venmo_customer_id"
|
627
|
+
expect(metadata.token).to eq "my_id"
|
628
|
+
expect(metadata.revoked_payment_method.class).to eq Braintree::VenmoAccount
|
629
|
+
end
|
614
630
|
end
|
615
631
|
end
|
616
632
|
|
@@ -652,6 +668,40 @@ describe Braintree::WebhookNotification do
|
|
652
668
|
end
|
653
669
|
end
|
654
670
|
|
671
|
+
context "local_payment_expired" do
|
672
|
+
it "builds a sample notification for a local_payment_expired webhook" do
|
673
|
+
sample_notification = Braintree::WebhookTesting.sample_notification(
|
674
|
+
Braintree::WebhookNotification::Kind::LocalPaymentExpired,
|
675
|
+
"my_id",
|
676
|
+
)
|
677
|
+
|
678
|
+
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
|
679
|
+
notification.kind.should == Braintree::WebhookNotification::Kind::LocalPaymentExpired
|
680
|
+
|
681
|
+
local_payment_expired = notification.local_payment_expired
|
682
|
+
local_payment_expired.payment_id.should == "PAY-XYZ123"
|
683
|
+
local_payment_expired.payment_context_id.should == "cG5b="
|
684
|
+
end
|
685
|
+
end
|
686
|
+
|
687
|
+
context "local_payment_funded" do
|
688
|
+
it "builds a sample notification for a local_payment_funded webhook" do
|
689
|
+
sample_notification = Braintree::WebhookTesting.sample_notification(
|
690
|
+
Braintree::WebhookNotification::Kind::LocalPaymentFunded,
|
691
|
+
"my_id",
|
692
|
+
)
|
693
|
+
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
|
694
|
+
notification.kind.should == Braintree::WebhookNotification::Kind::LocalPaymentFunded
|
695
|
+
|
696
|
+
local_payment_funded = notification.local_payment_funded
|
697
|
+
local_payment_funded.payment_id.should == "PAY-XYZ123"
|
698
|
+
local_payment_funded.payment_context_id.should == "cG5b="
|
699
|
+
local_payment_funded.transaction.id.should == "my_id"
|
700
|
+
local_payment_funded.transaction.status.should == Braintree::Transaction::Status::Settled
|
701
|
+
local_payment_funded.transaction.amount.should == 49.99
|
702
|
+
local_payment_funded.transaction.order_id.should == "order4567"
|
703
|
+
end
|
704
|
+
end
|
655
705
|
|
656
706
|
context "local_payment_reversed" do
|
657
707
|
it "builds a sample notification for a local_payment webhook" do
|
@@ -659,7 +709,6 @@ describe Braintree::WebhookNotification do
|
|
659
709
|
Braintree::WebhookNotification::Kind::LocalPaymentReversed,
|
660
710
|
"my_id",
|
661
711
|
)
|
662
|
-
|
663
712
|
notification = Braintree::WebhookNotification.parse(sample_notification[:bt_signature], sample_notification[:bt_payload])
|
664
713
|
notification.kind.should == Braintree::WebhookNotification::Kind::LocalPaymentReversed
|
665
714
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braintree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Braintree
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05
|
11
|
+
date: 2021-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.4
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rexml
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.1.9
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.1.9
|
27
41
|
description: Resources and tools for developers to integrate Braintree's global payments
|
28
42
|
platform.
|
29
43
|
email: code@getbraintree.com
|
@@ -90,6 +104,8 @@ files:
|
|
90
104
|
- lib/braintree/graphql_client.rb
|
91
105
|
- lib/braintree/http.rb
|
92
106
|
- lib/braintree/local_payment_completed.rb
|
107
|
+
- lib/braintree/local_payment_expired.rb
|
108
|
+
- lib/braintree/local_payment_funded.rb
|
93
109
|
- lib/braintree/local_payment_reversed.rb
|
94
110
|
- lib/braintree/merchant.rb
|
95
111
|
- lib/braintree/merchant_account.rb
|
@@ -256,10 +272,13 @@ files:
|
|
256
272
|
- spec/unit/braintree/errors_spec.rb
|
257
273
|
- spec/unit/braintree/http_spec.rb
|
258
274
|
- spec/unit/braintree/local_payment_completed_spec.rb
|
275
|
+
- spec/unit/braintree/local_payment_expired_spec.rb
|
276
|
+
- spec/unit/braintree/local_payment_funded_spec.rb
|
259
277
|
- spec/unit/braintree/merchant_account_spec.rb
|
260
278
|
- spec/unit/braintree/modification_spec.rb
|
261
279
|
- spec/unit/braintree/payment_method_nonce_details_payer_info_spec.rb
|
262
280
|
- spec/unit/braintree/payment_method_nonce_details_spec.rb
|
281
|
+
- spec/unit/braintree/payment_method_nonce_spec.rb
|
263
282
|
- spec/unit/braintree/payment_method_spec.rb
|
264
283
|
- spec/unit/braintree/paypal_account_spec.rb
|
265
284
|
- spec/unit/braintree/resource_collection_spec.rb
|
@@ -314,7 +333,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
314
333
|
- !ruby/object:Gem::Version
|
315
334
|
version: '0'
|
316
335
|
requirements: []
|
317
|
-
rubygems_version: 3.2.
|
336
|
+
rubygems_version: 3.2.25
|
318
337
|
signing_key:
|
319
338
|
specification_version: 4
|
320
339
|
summary: Braintree Ruby Server SDK
|