braintree 4.30.0 → 4.32.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/lib/braintree/address_gateway.rb +5 -0
- data/lib/braintree/apple_pay_card.rb +1 -0
- data/lib/braintree/bank_account_instant_verification_gateway.rb +38 -0
- data/lib/braintree/bank_account_instant_verification_jwt.rb +23 -0
- data/lib/braintree/bank_account_instant_verification_jwt_request.rb +21 -0
- data/lib/braintree/error_codes.rb +12 -0
- data/lib/braintree/gateway.rb +4 -0
- data/lib/braintree/payment_method_gateway.rb +6 -0
- data/lib/braintree/successful_result.rb +1 -0
- data/lib/braintree/transaction/apple_pay_details.rb +2 -0
- data/lib/braintree/transaction/credit_card_details.rb +2 -0
- data/lib/braintree/transaction/google_pay_details.rb +1 -0
- data/lib/braintree/transaction.rb +1 -0
- data/lib/braintree/transaction_gateway.rb +25 -1
- data/lib/braintree/us_bank_account_verification.rb +3 -1
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree.rb +3 -0
- data/spec/integration/braintree/bank_account_instant_verification_spec.rb +191 -0
- data/spec/integration/braintree/client_api/spec_helper.rb +81 -0
- data/spec/integration/braintree/credit_card_verification_spec.rb +7 -0
- data/spec/integration/braintree/payment_method_spec.rb +3 -0
- data/spec/integration/braintree/payment_method_us_bank_account_spec.rb +0 -3
- data/spec/integration/braintree/transaction_search_spec.rb +26 -24
- data/spec/integration/braintree/transaction_spec.rb +117 -3
- data/spec/integration/braintree/transaction_transfer_type_spec.rb +255 -0
- data/spec/integration/braintree/transaction_us_bank_account_spec.rb +0 -1
- data/spec/integration/braintree/us_bank_account_spec.rb +0 -3
- data/spec/spec_helper.rb +7 -0
- data/spec/unit/braintree/apple_pay_card_spec.rb +2 -0
- data/spec/unit/braintree/bank_account_instant_verification_gateway_spec.rb +98 -0
- data/spec/unit/braintree/bank_account_instant_verification_jwt_request_spec.rb +71 -0
- data/spec/unit/braintree/credit_card_verification_spec.rb +17 -0
- data/spec/unit/braintree/transaction/apple_pay_details_spec.rb +9 -0
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +10 -1
- data/spec/unit/braintree/transaction/google_pay_details_spec.rb +9 -0
- data/spec/unit/braintree/transaction_ach_mandate_spec.rb +82 -0
- data/spec/unit/braintree/transaction_gateway_spec.rb +21 -1
- data/spec/unit/braintree/transaction_spec.rb +48 -0
- metadata +13 -7
- data/lib/ssl/securetrust_ca.crt +0 -44
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
2
|
+
|
|
3
|
+
describe Braintree::BankAccountInstantVerificationJwtRequest do
|
|
4
|
+
describe "to_graphql_variables" do
|
|
5
|
+
it "includes all fields when present" do
|
|
6
|
+
request = Braintree::BankAccountInstantVerificationJwtRequest.new(
|
|
7
|
+
:business_name => "Test Business",
|
|
8
|
+
:return_url => "https://example.com/success",
|
|
9
|
+
:cancel_url => "https://example.com/cancel",
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
variables = request.to_graphql_variables
|
|
13
|
+
|
|
14
|
+
expect(variables).not_to be_nil
|
|
15
|
+
expect(variables).to have_key(:input)
|
|
16
|
+
|
|
17
|
+
input = variables[:input]
|
|
18
|
+
|
|
19
|
+
expect(input[:businessName]).to eq("Test Business")
|
|
20
|
+
expect(input[:returnUrl]).to eq("https://example.com/success")
|
|
21
|
+
expect(input[:cancelUrl]).to eq("https://example.com/cancel")
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "only includes non-null fields" do
|
|
25
|
+
request = Braintree::BankAccountInstantVerificationJwtRequest.new(
|
|
26
|
+
:business_name => "Test Business",
|
|
27
|
+
:return_url => "https://example.com/success",
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
variables = request.to_graphql_variables
|
|
31
|
+
|
|
32
|
+
input = variables[:input]
|
|
33
|
+
|
|
34
|
+
expect(input[:businessName]).to eq("Test Business")
|
|
35
|
+
expect(input[:returnUrl]).to eq("https://example.com/success")
|
|
36
|
+
expect(input).not_to have_key(:cancelUrl)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "handles empty request" do
|
|
40
|
+
request = Braintree::BankAccountInstantVerificationJwtRequest.new
|
|
41
|
+
|
|
42
|
+
variables = request.to_graphql_variables
|
|
43
|
+
|
|
44
|
+
expect(variables).to eq({:input => {}})
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe "attribute accessors" do
|
|
49
|
+
it "allows setting and getting all attributes and initializes with hash of attributes" do
|
|
50
|
+
request = Braintree::BankAccountInstantVerificationJwtRequest.new(
|
|
51
|
+
:business_name => "Test Business",
|
|
52
|
+
:return_url => "https://example.com/success",
|
|
53
|
+
:cancel_url => "https://example.com/cancel",
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
expect(request.business_name).to eq("Test Business")
|
|
57
|
+
expect(request.return_url).to eq("https://example.com/success")
|
|
58
|
+
expect(request.cancel_url).to eq("https://example.com/cancel")
|
|
59
|
+
|
|
60
|
+
new_request = Braintree::BankAccountInstantVerificationJwtRequest.new
|
|
61
|
+
|
|
62
|
+
new_request.business_name = "Updated Business"
|
|
63
|
+
new_request.return_url = "https://example.com/updated"
|
|
64
|
+
new_request.cancel_url = "https://example.com/updated-cancel"
|
|
65
|
+
|
|
66
|
+
expect(new_request.business_name).to eq("Updated Business")
|
|
67
|
+
expect(new_request.return_url).to eq("https://example.com/updated")
|
|
68
|
+
expect(new_request.cancel_url).to eq("https://example.com/updated-cancel")
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -159,4 +159,21 @@ describe Braintree::CreditCardVerification do
|
|
|
159
159
|
expect(verification.network_response_text).to eq("Successful approval/completion or V.I.P. PIN verification is successful")
|
|
160
160
|
end
|
|
161
161
|
end
|
|
162
|
+
|
|
163
|
+
describe "credit_card with payment_account_reference" do
|
|
164
|
+
it "includes payment_account_reference in credit_card hash when present" do
|
|
165
|
+
verification = Braintree::CreditCardVerification._new(
|
|
166
|
+
:status => "verified",
|
|
167
|
+
:credit_card => {
|
|
168
|
+
:bin => "401288",
|
|
169
|
+
:last_4 => "1881",
|
|
170
|
+
:card_type => "Visa",
|
|
171
|
+
:payment_account_reference => "V0010013019339005665779448477"
|
|
172
|
+
},
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
expect(verification.credit_card).to be_a(Hash)
|
|
176
|
+
expect(verification.credit_card[:payment_account_reference]).to eq("V0010013019339005665779448477")
|
|
177
|
+
end
|
|
178
|
+
end
|
|
162
179
|
end
|
|
@@ -25,4 +25,13 @@ describe Braintree::ApplePayDetails do
|
|
|
25
25
|
card = Braintree::ApplePayDetails._new(:gateway, {:purchase => "No"})
|
|
26
26
|
expect(card.purchase).to eq("No")
|
|
27
27
|
end
|
|
28
|
+
|
|
29
|
+
describe "payment_account_reference" do
|
|
30
|
+
it "returns the payment account reference when present" do
|
|
31
|
+
details = Braintree::Transaction::ApplePayDetails.new(
|
|
32
|
+
:payment_account_reference => "V0010013019339005665779448477",
|
|
33
|
+
)
|
|
34
|
+
expect(details.payment_account_reference).to eq("V0010013019339005665779448477")
|
|
35
|
+
end
|
|
36
|
+
end
|
|
28
37
|
end
|
|
@@ -39,7 +39,7 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
|
39
39
|
:image_url => "example.com/visa.png",
|
|
40
40
|
:unique_number_identifier => "abc123",
|
|
41
41
|
)
|
|
42
|
-
expect(details.inspect).to eq(%(#<token: "token", bin: "123456", business: "No", last_4: "6789", card_type: "Visa", commercial: "Unknown", consumer: "Unknown", corporate: "Unknown", country_of_issuance: "Lilliput", customer_location: "US", debit: "Yes", durbin_regulated: "No", expiration_date: "05/2012", healthcare: "No", image_url: "example.com/visa.png", issuing_bank: "Gulliver Bank", payroll: "Unknown", prepaid: "Yes", prepaid_reloadable: "Yes", product_id: "Unknown", purchase: "Unknown", cardholder_name: "The Cardholder", unique_number_identifier: "abc123">))
|
|
42
|
+
expect(details.inspect).to eq(%(#<token: "token", bin: "123456", business: "No", last_4: "6789", card_type: "Visa", commercial: "Unknown", consumer: "Unknown", corporate: "Unknown", country_of_issuance: "Lilliput", customer_location: "US", debit: "Yes", durbin_regulated: "No", expiration_date: "05/2012", healthcare: "No", image_url: "example.com/visa.png", issuing_bank: "Gulliver Bank", payroll: "Unknown", prepaid: "Yes", prepaid_reloadable: "Yes", product_id: "Unknown", purchase: "Unknown", cardholder_name: "The Cardholder", unique_number_identifier: "abc123", payment_account_reference: nil>))
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
|
@@ -67,4 +67,13 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
|
67
67
|
expect(details.is_network_tokenized?).to eq(false)
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
|
+
|
|
71
|
+
describe "payment_account_reference" do
|
|
72
|
+
it "returns the payment account reference when present" do
|
|
73
|
+
details = Braintree::Transaction::CreditCardDetails.new(
|
|
74
|
+
:payment_account_reference => "V0010013019339005665779448477",
|
|
75
|
+
)
|
|
76
|
+
expect(details.payment_account_reference).to eq("V0010013019339005665779448477")
|
|
77
|
+
end
|
|
78
|
+
end
|
|
70
79
|
end
|
|
@@ -25,4 +25,13 @@ describe Braintree::GooglePayDetails do
|
|
|
25
25
|
card = Braintree::GooglePayDetails._new(:gateway, {:purchase => "No"})
|
|
26
26
|
expect(card.purchase).to eq("No")
|
|
27
27
|
end
|
|
28
|
+
|
|
29
|
+
context "payment_account_reference" do
|
|
30
|
+
it "returns the payment account reference when present" do
|
|
31
|
+
details = Braintree::Transaction::GooglePayDetails.new(
|
|
32
|
+
:payment_account_reference => "V0010013019339005665779448477",
|
|
33
|
+
)
|
|
34
|
+
expect(details.payment_account_reference).to eq("V0010013019339005665779448477")
|
|
35
|
+
end
|
|
36
|
+
end
|
|
28
37
|
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
2
|
+
|
|
3
|
+
describe "Transaction ACH Mandate" do
|
|
4
|
+
describe "transaction request handling" do
|
|
5
|
+
let(:gateway) { Braintree::Gateway.new(:environment => :sandbox, :merchant_id => "test", :public_key => "test", :private_key => "test") }
|
|
6
|
+
let(:transaction_gateway) { gateway.transaction }
|
|
7
|
+
|
|
8
|
+
it "processes us_bank_account ACH mandate fields" do
|
|
9
|
+
mandate_time = Time.now
|
|
10
|
+
|
|
11
|
+
# Mock the HTTP response for transaction creation
|
|
12
|
+
allow(gateway.config.http).to receive(:post).and_return({
|
|
13
|
+
:transaction => {
|
|
14
|
+
:id => "test_transaction_id",
|
|
15
|
+
:amount => "100.00",
|
|
16
|
+
:status => "authorized",
|
|
17
|
+
:us_bank_account => {
|
|
18
|
+
:token => "test_token",
|
|
19
|
+
:ach_mandate => {
|
|
20
|
+
:text => "I authorize this ACH debit",
|
|
21
|
+
:accepted_at => mandate_time.iso8601
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
transaction_attributes = {
|
|
28
|
+
:amount => "100.00",
|
|
29
|
+
:payment_method_token => "test_token",
|
|
30
|
+
:us_bank_account => {
|
|
31
|
+
:ach_mandate_text => "I authorize this ACH debit",
|
|
32
|
+
:ach_mandate_accepted_at => mandate_time
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# This should not raise an error due to signature validation
|
|
37
|
+
expect {
|
|
38
|
+
Braintree::Util.verify_keys(Braintree::TransactionGateway._create_signature, transaction_attributes)
|
|
39
|
+
}.not_to raise_error
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it "allows ACH mandate text only" do
|
|
43
|
+
transaction_attributes = {
|
|
44
|
+
:amount => "50.00",
|
|
45
|
+
:payment_method_token => "test_token",
|
|
46
|
+
:us_bank_account => {
|
|
47
|
+
:ach_mandate_text => "I authorize this ACH debit"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
expect {
|
|
52
|
+
Braintree::Util.verify_keys(Braintree::TransactionGateway._create_signature, transaction_attributes)
|
|
53
|
+
}.not_to raise_error
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it "allows ACH mandate accepted_at only" do
|
|
57
|
+
transaction_attributes = {
|
|
58
|
+
:amount => "50.00",
|
|
59
|
+
:payment_method_token => "test_token",
|
|
60
|
+
:us_bank_account => {
|
|
61
|
+
:ach_mandate_accepted_at => Time.now
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
expect {
|
|
66
|
+
Braintree::Util.verify_keys(Braintree::TransactionGateway._create_signature, transaction_attributes)
|
|
67
|
+
}.not_to raise_error
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
it "allows empty us_bank_account hash" do
|
|
71
|
+
transaction_attributes = {
|
|
72
|
+
:amount => "50.00",
|
|
73
|
+
:payment_method_token => "test_token",
|
|
74
|
+
:us_bank_account => {}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
expect {
|
|
78
|
+
Braintree::Util.verify_keys(Braintree::TransactionGateway._create_signature, transaction_attributes)
|
|
79
|
+
}.not_to raise_error
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -35,7 +35,7 @@ describe Braintree::TransactionGateway do
|
|
|
35
35
|
expect(Braintree::TransactionGateway._create_signature).to match([
|
|
36
36
|
:amount, :billing_address_id, :channel, :currency_iso_code, :customer_id, :device_data,
|
|
37
37
|
:discount_amount, :exchange_rate_quote_id, :foreign_retailer,
|
|
38
|
-
:merchant_account_id, :order_id, :payment_method_nonce, :payment_method_token,
|
|
38
|
+
:merchant_account_id, :order_id, :payment_method_nonce, :payment_method_token, :processing_merchant_category_code,
|
|
39
39
|
:product_sku, :purchase_order_number, :service_fee_amount, :shared_billing_address_id,
|
|
40
40
|
:shared_customer_id, :shared_payment_method_nonce, :shared_payment_method_token,
|
|
41
41
|
:shared_shipping_address_id, :shipping_address_id, :shipping_amount, :shipping_tax_amount,
|
|
@@ -132,6 +132,26 @@ describe Braintree::TransactionGateway do
|
|
|
132
132
|
{
|
|
133
133
|
:transfer => [
|
|
134
134
|
:type,
|
|
135
|
+
{:sender => [
|
|
136
|
+
:first_name,
|
|
137
|
+
:last_name,
|
|
138
|
+
:account_reference_number,
|
|
139
|
+
:tax_id,
|
|
140
|
+
:address => Braintree::AddressGateway._address_attributes
|
|
141
|
+
]},
|
|
142
|
+
{:receiver => [
|
|
143
|
+
:first_name,
|
|
144
|
+
:last_name,
|
|
145
|
+
:account_reference_number,
|
|
146
|
+
:tax_id,
|
|
147
|
+
:address => Braintree::AddressGateway._address_attributes
|
|
148
|
+
]},
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
:us_bank_account => [
|
|
153
|
+
:ach_mandate_text,
|
|
154
|
+
:ach_mandate_accepted_at,
|
|
135
155
|
]
|
|
136
156
|
},
|
|
137
157
|
])
|
|
@@ -157,6 +157,44 @@ describe Braintree::Transaction do
|
|
|
157
157
|
expect(transaction.credit_card_details.issuing_bank).to eq("Mr Tumnus")
|
|
158
158
|
end
|
|
159
159
|
|
|
160
|
+
describe "payment_account_reference in transaction details" do
|
|
161
|
+
it "exposes payment_account_reference in credit_card_details" do
|
|
162
|
+
transaction = Braintree::Transaction._new(
|
|
163
|
+
:gateway,
|
|
164
|
+
:credit_card => {
|
|
165
|
+
:bin => "401288",
|
|
166
|
+
:last_4 => "1881",
|
|
167
|
+
:card_type => "Visa",
|
|
168
|
+
:payment_account_reference => "V0010013019339005665779448477"
|
|
169
|
+
},
|
|
170
|
+
)
|
|
171
|
+
expect(transaction.credit_card_details.payment_account_reference).to eq("V0010013019339005665779448477")
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
it "exposes payment_account_reference in apple_pay_details" do
|
|
175
|
+
transaction = Braintree::Transaction._new(
|
|
176
|
+
:gateway,
|
|
177
|
+
:apple_pay => {
|
|
178
|
+
:payment_instrument_name => "Apple Pay",
|
|
179
|
+
:payment_account_reference => "V0010013019339005665779448477"
|
|
180
|
+
},
|
|
181
|
+
)
|
|
182
|
+
expect(transaction.apple_pay_details.payment_account_reference).to eq("V0010013019339005665779448477")
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
it "exposes payment_account_reference in google_pay_details" do
|
|
186
|
+
transaction = Braintree::Transaction._new(
|
|
187
|
+
:gateway,
|
|
188
|
+
:android_pay_card => {
|
|
189
|
+
:virtual_card_type => "Visa",
|
|
190
|
+
:payment_account_reference => "V0010013019339005665779448477"
|
|
191
|
+
},
|
|
192
|
+
)
|
|
193
|
+
expect(transaction.google_pay_details.payment_account_reference).to eq("V0010013019339005665779448477")
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
end
|
|
197
|
+
|
|
160
198
|
it "sets up network token attributes in network_token_details" do
|
|
161
199
|
transaction = Braintree::Transaction._new(
|
|
162
200
|
:gateway,
|
|
@@ -317,6 +355,16 @@ describe Braintree::Transaction do
|
|
|
317
355
|
expect(transaction.ach_return_code).to eq("R01")
|
|
318
356
|
end
|
|
319
357
|
|
|
358
|
+
it "accepts ach_reject_reason" do
|
|
359
|
+
transaction = Braintree::Transaction._new(
|
|
360
|
+
:gateway,
|
|
361
|
+
:ach_return_code => "RJCT",
|
|
362
|
+
:ach_reject_reason => "some reject reason",
|
|
363
|
+
)
|
|
364
|
+
expect(transaction.ach_return_code).to eq("RJCT")
|
|
365
|
+
expect(transaction.ach_reject_reason).to eq("some reject reason")
|
|
366
|
+
end
|
|
367
|
+
|
|
320
368
|
it "accepts network_response code and network_response_text" do
|
|
321
369
|
transaction = Braintree::Transaction._new(
|
|
322
370
|
:gateway,
|
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.32.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Braintree
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-10-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: builder
|
|
@@ -61,6 +61,9 @@ files:
|
|
|
61
61
|
- lib/braintree/apple_pay_gateway.rb
|
|
62
62
|
- lib/braintree/apple_pay_options.rb
|
|
63
63
|
- lib/braintree/authorization_adjustment.rb
|
|
64
|
+
- lib/braintree/bank_account_instant_verification_gateway.rb
|
|
65
|
+
- lib/braintree/bank_account_instant_verification_jwt.rb
|
|
66
|
+
- lib/braintree/bank_account_instant_verification_jwt_request.rb
|
|
64
67
|
- lib/braintree/base_module.rb
|
|
65
68
|
- lib/braintree/bin_data.rb
|
|
66
69
|
- lib/braintree/client_token.rb
|
|
@@ -237,7 +240,6 @@ files:
|
|
|
237
240
|
- lib/braintree/xml/parser.rb
|
|
238
241
|
- lib/braintree/xml/rexml.rb
|
|
239
242
|
- lib/ssl/api_braintreegateway_com.ca.crt
|
|
240
|
-
- lib/ssl/securetrust_ca.crt
|
|
241
243
|
- spec/fixtures/files/bt_logo.png
|
|
242
244
|
- spec/fixtures/files/gif_extension_bt_logo.gif
|
|
243
245
|
- spec/fixtures/files/malformed_pdf.pdf
|
|
@@ -246,6 +248,7 @@ files:
|
|
|
246
248
|
- spec/integration/braintree/address_spec.rb
|
|
247
249
|
- spec/integration/braintree/advanced_search_spec.rb
|
|
248
250
|
- spec/integration/braintree/apple_pay_spec.rb
|
|
251
|
+
- spec/integration/braintree/bank_account_instant_verification_spec.rb
|
|
249
252
|
- spec/integration/braintree/braintree_gateway_spec.rb
|
|
250
253
|
- spec/integration/braintree/client_api/client_token_spec.rb
|
|
251
254
|
- spec/integration/braintree/client_api/spec_helper.rb
|
|
@@ -300,6 +303,8 @@ files:
|
|
|
300
303
|
- spec/ssl/privateKey.key
|
|
301
304
|
- spec/unit/braintree/address_spec.rb
|
|
302
305
|
- spec/unit/braintree/apple_pay_card_spec.rb
|
|
306
|
+
- spec/unit/braintree/bank_account_instant_verification_gateway_spec.rb
|
|
307
|
+
- spec/unit/braintree/bank_account_instant_verification_jwt_request_spec.rb
|
|
303
308
|
- spec/unit/braintree/base_module_spec.rb
|
|
304
309
|
- spec/unit/braintree/client_token_spec.rb
|
|
305
310
|
- spec/unit/braintree/configuration_spec.rb
|
|
@@ -371,6 +376,7 @@ files:
|
|
|
371
376
|
- spec/unit/braintree/transaction/paypal_details_spec.rb
|
|
372
377
|
- spec/unit/braintree/transaction/sepa_direct_debit_account_details_spec.rb
|
|
373
378
|
- spec/unit/braintree/transaction/visa_checkout_card_details_spec.rb
|
|
379
|
+
- spec/unit/braintree/transaction_ach_mandate_spec.rb
|
|
374
380
|
- spec/unit/braintree/transaction_gateway_spec.rb
|
|
375
381
|
- spec/unit/braintree/transaction_search_spec.rb
|
|
376
382
|
- spec/unit/braintree/transaction_spec.rb
|
|
@@ -399,7 +405,7 @@ metadata:
|
|
|
399
405
|
changelog_uri: https://github.com/braintree/braintree_ruby/blob/master/CHANGELOG.md
|
|
400
406
|
source_code_uri: https://github.com/braintree/braintree_ruby
|
|
401
407
|
documentation_uri: https://developer.paypal.com/braintree/docs
|
|
402
|
-
post_install_message:
|
|
408
|
+
post_install_message:
|
|
403
409
|
rdoc_options: []
|
|
404
410
|
require_paths:
|
|
405
411
|
- lib
|
|
@@ -414,8 +420,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
414
420
|
- !ruby/object:Gem::Version
|
|
415
421
|
version: '0'
|
|
416
422
|
requirements: []
|
|
417
|
-
rubygems_version: 3.
|
|
418
|
-
signing_key:
|
|
423
|
+
rubygems_version: 3.2.5
|
|
424
|
+
signing_key:
|
|
419
425
|
specification_version: 4
|
|
420
426
|
summary: Braintree Ruby Server SDK
|
|
421
427
|
test_files: []
|
data/lib/ssl/securetrust_ca.crt
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI
|
|
3
|
-
MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
|
|
4
|
-
FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz
|
|
5
|
-
MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv
|
|
6
|
-
cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN
|
|
7
|
-
AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz
|
|
8
|
-
Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO
|
|
9
|
-
0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao
|
|
10
|
-
wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj
|
|
11
|
-
7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS
|
|
12
|
-
8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT
|
|
13
|
-
BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
|
|
14
|
-
/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg
|
|
15
|
-
JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC
|
|
16
|
-
NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3
|
|
17
|
-
6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/
|
|
18
|
-
3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm
|
|
19
|
-
D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS
|
|
20
|
-
CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
|
|
21
|
-
3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
|
|
22
|
-
-----END CERTIFICATE-----
|
|
23
|
-
-----BEGIN CERTIFICATE-----
|
|
24
|
-
MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK
|
|
25
|
-
MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
|
|
26
|
-
GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx
|
|
27
|
-
MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg
|
|
28
|
-
Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG
|
|
29
|
-
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ
|
|
30
|
-
iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa
|
|
31
|
-
/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ
|
|
32
|
-
jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI
|
|
33
|
-
HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7
|
|
34
|
-
sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w
|
|
35
|
-
gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF
|
|
36
|
-
MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw
|
|
37
|
-
KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG
|
|
38
|
-
AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L
|
|
39
|
-
URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO
|
|
40
|
-
H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm
|
|
41
|
-
I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY
|
|
42
|
-
iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
|
|
43
|
-
f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
|
|
44
|
-
-----END CERTIFICATE-----
|