braintree 4.27.0 → 4.28.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/apple_pay_card.rb +4 -0
- data/lib/braintree/bin_data.rb +7 -2
- data/lib/braintree/credit_card.rb +11 -5
- data/lib/braintree/credit_card_gateway.rb +1 -0
- data/lib/braintree/credit_card_verification_gateway.rb +1 -0
- data/lib/braintree/customer_session_gateway.rb +11 -10
- data/lib/braintree/google_pay_card.rb +4 -0
- data/lib/braintree/graphql/enums/recommendations.rb +2 -0
- data/lib/braintree/graphql/enums/recommended_payment_option.rb +2 -0
- data/lib/braintree/graphql/inputs/create_customer_session_input.rb +10 -1
- data/lib/braintree/graphql/inputs/customer_recommendations_input.rb +7 -8
- data/lib/braintree/graphql/inputs/customer_session_input.rb +6 -0
- data/lib/braintree/graphql/inputs/monetary_amount_input.rb +28 -0
- data/lib/braintree/graphql/inputs/paypal_payee_input.rb +28 -0
- data/lib/braintree/graphql/inputs/paypal_purchase_unit_input.rb +31 -0
- data/lib/braintree/graphql/inputs/phone_input.rb +2 -0
- data/lib/braintree/graphql/inputs/update_customer_session_input.rb +5 -0
- data/lib/braintree/graphql/types/customer_recommendations_payload.rb +112 -18
- data/lib/braintree/graphql/types/payment_options.rb +2 -0
- data/lib/braintree/graphql/types/payment_recommendations.rb +35 -0
- data/lib/braintree/graphql/unions/customer_recommendations.rb +38 -25
- data/lib/braintree/meta_checkout_card.rb +8 -4
- data/lib/braintree/meta_checkout_token.rb +10 -6
- data/lib/braintree/payment_method_gateway.rb +3 -0
- data/lib/braintree/test/credit_card.rb +4 -0
- data/lib/braintree/transaction/apple_pay_details.rb +4 -0
- data/lib/braintree/transaction/credit_card_details.rb +8 -0
- data/lib/braintree/transaction/google_pay_details.rb +4 -0
- data/lib/braintree/transaction/meta_checkout_card_details.rb +9 -3
- data/lib/braintree/transaction/meta_checkout_token_details.rb +11 -5
- data/lib/braintree/transaction/visa_checkout_card_details.rb +8 -3
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/visa_checkout_card.rb +9 -4
- data/lib/braintree.rb +4 -0
- data/spec/integration/braintree/credit_card_spec.rb +101 -0
- data/spec/integration/braintree/credit_card_verification_spec.rb +118 -0
- data/spec/integration/braintree/customer_session_spec.rb +59 -49
- data/spec/integration/braintree/customer_spec.rb +71 -4
- data/spec/integration/braintree/payment_method_nonce_spec.rb +44 -0
- data/spec/integration/braintree/payment_method_spec.rb +47 -0
- data/spec/integration/braintree/transaction_spec.rb +61 -25
- data/spec/unit/braintree/apple_pay_card_spec.rb +4 -0
- data/spec/unit/braintree/credit_card_spec.rb +22 -2
- data/spec/unit/braintree/credit_card_verification_gateway_spec.rb +1 -0
- data/spec/unit/braintree/customer_session_gateway_spec.rb +10 -9
- data/spec/unit/braintree/customer_spec.rb +2 -1
- data/spec/unit/braintree/google_pay_card_spec.rb +20 -0
- data/spec/unit/braintree/graphql/create_customer_session_input_spec.rb +25 -4
- data/spec/unit/braintree/graphql/customer_recommendations_input_spec.rb +21 -51
- data/spec/unit/braintree/graphql/customer_recommendations_spec.rb +40 -0
- data/spec/unit/braintree/graphql/update_customer_session_input_spec.rb +21 -7
- data/spec/unit/braintree/meta_checkout_card_spec.rb +8 -0
- data/spec/unit/braintree/meta_checkout_token_spec.rb +4 -0
- data/spec/unit/braintree/payment_method_nonce_spec.rb +9 -2
- data/spec/unit/braintree/payment_method_spec.rb +12 -0
- data/spec/unit/braintree/transaction/apple_pay_details_spec.rb +20 -0
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +5 -1
- data/spec/unit/braintree/transaction/google_pay_details_spec.rb +20 -0
- data/spec/unit/braintree/transaction/meta_checkout_card_details_spec.rb +20 -0
- data/spec/unit/braintree/transaction/meta_checkout_token_details_spec.rb +20 -0
- data/spec/unit/braintree/transaction/visa_checkout_card_details_spec.rb +20 -0
- data/spec/unit/braintree/transaction_spec.rb +8 -0
- data/spec/unit/braintree/visa_checkout_card_spec.rb +20 -0
- data/spec/unit/credit_card_details_spec.rb +20 -0
- metadata +7 -2
@@ -25,6 +25,18 @@ describe Braintree::PaymentMethod do
|
|
25
25
|
expect(result.payment_method.token).to eq(1234)
|
26
26
|
expect(result.payment_method).to be_instance_of(Braintree::UnknownPaymentMethod)
|
27
27
|
end
|
28
|
+
|
29
|
+
it "handles an payment method type for account information inquiry" do
|
30
|
+
unknown_response = {:unknown_payment_method => {:token => 1234, :default => true}}
|
31
|
+
http_instance = double(:put => unknown_response)
|
32
|
+
allow(Braintree::Http).to receive(:new).and_return(http_instance)
|
33
|
+
result = Braintree::PaymentMethod.update(:unknown,
|
34
|
+
{:options => {:verify_card => true, :accountInformationInquiry => "send_data"}})
|
35
|
+
|
36
|
+
expect(result).to be_success
|
37
|
+
expect(result.payment_method.token).to eq(1234)
|
38
|
+
expect(result.payment_method).to be_instance_of(Braintree::UnknownPaymentMethod)
|
39
|
+
end
|
28
40
|
end
|
29
41
|
|
30
42
|
describe "delete" do
|
@@ -5,4 +5,24 @@ describe Braintree::ApplePayDetails do
|
|
5
5
|
card = Braintree::ApplePayDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::ApplePayDetails._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::ApplePayDetails._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::ApplePayDetails._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::ApplePayDetails._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
@@ -15,6 +15,7 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
15
15
|
it "inspects" do
|
16
16
|
details = Braintree::Transaction::CreditCardDetails.new(
|
17
17
|
:bin => "123456",
|
18
|
+
:business => "No",
|
18
19
|
:card_type => "Visa",
|
19
20
|
:cardholder_name => "The Cardholder",
|
20
21
|
:expiration_month => "05",
|
@@ -28,14 +29,17 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
28
29
|
:durbin_regulated => "No",
|
29
30
|
:debit => "Yes",
|
30
31
|
:commercial => "Unknown",
|
32
|
+
:consumer => "Unknown",
|
33
|
+
:corporate => "Unknown",
|
31
34
|
:payroll => "Unknown",
|
35
|
+
:purchase => "Unknown",
|
32
36
|
:product_id => "Unknown",
|
33
37
|
:country_of_issuance => "Lilliput",
|
34
38
|
:issuing_bank => "Gulliver Bank",
|
35
39
|
:image_url => "example.com/visa.png",
|
36
40
|
:unique_number_identifier => "abc123",
|
37
41
|
)
|
38
|
-
expect(details.inspect).to eq(%(#<token: "token", bin: "123456", last_4: "6789", card_type: "Visa", commercial: "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", 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">))
|
39
43
|
end
|
40
44
|
end
|
41
45
|
|
@@ -5,4 +5,24 @@ describe Braintree::GooglePayDetails do
|
|
5
5
|
card = Braintree::GooglePayDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::GooglePayDetails._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::GooglePayDetails._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::GooglePayDetails._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::GooglePayDetails._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
@@ -5,4 +5,24 @@ describe Braintree::MetaCheckoutCardDetails do
|
|
5
5
|
card = Braintree::MetaCheckoutCardDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::MetaCheckoutCardDetails._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::MetaCheckoutCardDetails._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::MetaCheckoutCardDetails._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::MetaCheckoutCardDetails._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
@@ -5,4 +5,24 @@ describe Braintree::MetaCheckoutTokenDetails do
|
|
5
5
|
card = Braintree::MetaCheckoutTokenDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::MetaCheckoutTokenDetails._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::MetaCheckoutTokenDetails._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::MetaCheckoutTokenDetails._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::MetaCheckoutTokenDetails._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
@@ -5,4 +5,24 @@ describe Braintree::VisaCheckoutCardDetails do
|
|
5
5
|
card = Braintree::VisaCheckoutCardDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::VisaCheckoutCardDetails._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::VisaCheckoutCardDetails._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::VisaCheckoutCardDetails._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::VisaCheckoutCardDetails._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
@@ -123,9 +123,13 @@ describe Braintree::Transaction do
|
|
123
123
|
:healthcare => "Yes",
|
124
124
|
:durbin_regulated => "Yes",
|
125
125
|
:debit => "Yes",
|
126
|
+
:business => "Yes",
|
126
127
|
:commercial => "No",
|
128
|
+
:consumer => "No",
|
129
|
+
:corporate => "No",
|
127
130
|
:payroll => "Unknown",
|
128
131
|
:product_id => "Unknown",
|
132
|
+
:purchase => "No",
|
129
133
|
:country_of_issuance => "Narnia",
|
130
134
|
:issuing_bank => "Mr Tumnus"
|
131
135
|
},
|
@@ -142,9 +146,13 @@ describe Braintree::Transaction do
|
|
142
146
|
expect(transaction.credit_card_details.healthcare).to eq(Braintree::CreditCard::Healthcare::Yes)
|
143
147
|
expect(transaction.credit_card_details.durbin_regulated).to eq(Braintree::CreditCard::DurbinRegulated::Yes)
|
144
148
|
expect(transaction.credit_card_details.debit).to eq(Braintree::CreditCard::Debit::Yes)
|
149
|
+
expect(transaction.credit_card_details.business).to eq(Braintree::CreditCard::Business::Yes)
|
145
150
|
expect(transaction.credit_card_details.commercial).to eq(Braintree::CreditCard::Commercial::No)
|
151
|
+
expect(transaction.credit_card_details.consumer).to eq(Braintree::CreditCard::Consumer::No)
|
152
|
+
expect(transaction.credit_card_details.corporate).to eq(Braintree::CreditCard::Corporate::No)
|
146
153
|
expect(transaction.credit_card_details.payroll).to eq(Braintree::CreditCard::Payroll::Unknown)
|
147
154
|
expect(transaction.credit_card_details.product_id).to eq(Braintree::CreditCard::ProductId::Unknown)
|
155
|
+
expect(transaction.credit_card_details.purchase).to eq(Braintree::CreditCard::Purchase::No)
|
148
156
|
expect(transaction.credit_card_details.country_of_issuance).to eq("Narnia")
|
149
157
|
expect(transaction.credit_card_details.issuing_bank).to eq("Mr Tumnus")
|
150
158
|
end
|
@@ -5,4 +5,24 @@ describe Braintree::VisaCheckoutCard do
|
|
5
5
|
card = Braintree::VisaCheckoutCard._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::VisaCheckoutCard._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::VisaCheckoutCard._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::VisaCheckoutCard._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::VisaCheckoutCard._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
@@ -5,4 +5,24 @@ describe Braintree::CreditCardDetails do
|
|
5
5
|
card = Braintree::CreditCardDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
6
|
expect(card.prepaid_reloadable).to eq("No")
|
7
7
|
end
|
8
|
+
|
9
|
+
it "initializes business correctly" do
|
10
|
+
card = Braintree::CreditCardDetails._new(:gateway, {:business => "No"})
|
11
|
+
expect(card.business).to eq("No")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "initializes consumer correctly" do
|
15
|
+
card = Braintree::CreditCardDetails._new(:gateway, {:consumer => "No"})
|
16
|
+
expect(card.consumer).to eq("No")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "initializes corporate correctly" do
|
20
|
+
card = Braintree::CreditCardDetails._new(:gateway, {:corporate => "No"})
|
21
|
+
expect(card.corporate).to eq("No")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "initializes purchase correctly" do
|
25
|
+
card = Braintree::CreditCardDetails._new(:gateway, {:purchase => "No"})
|
26
|
+
expect(card.purchase).to eq("No")
|
27
|
+
end
|
8
28
|
end
|
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.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Braintree
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-05-
|
11
|
+
date: 2025-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -114,10 +114,14 @@ files:
|
|
114
114
|
- lib/braintree/graphql/inputs/create_customer_session_input.rb
|
115
115
|
- lib/braintree/graphql/inputs/customer_recommendations_input.rb
|
116
116
|
- lib/braintree/graphql/inputs/customer_session_input.rb
|
117
|
+
- lib/braintree/graphql/inputs/monetary_amount_input.rb
|
118
|
+
- lib/braintree/graphql/inputs/paypal_payee_input.rb
|
119
|
+
- lib/braintree/graphql/inputs/paypal_purchase_unit_input.rb
|
117
120
|
- lib/braintree/graphql/inputs/phone_input.rb
|
118
121
|
- lib/braintree/graphql/inputs/update_customer_session_input.rb
|
119
122
|
- lib/braintree/graphql/types/customer_recommendations_payload.rb
|
120
123
|
- lib/braintree/graphql/types/payment_options.rb
|
124
|
+
- lib/braintree/graphql/types/payment_recommendations.rb
|
121
125
|
- lib/braintree/graphql/unions/customer_recommendations.rb
|
122
126
|
- lib/braintree/graphql_client.rb
|
123
127
|
- lib/braintree/http.rb
|
@@ -320,6 +324,7 @@ files:
|
|
320
324
|
- spec/unit/braintree/google_pay_card_spec.rb
|
321
325
|
- spec/unit/braintree/graphql/create_customer_session_input_spec.rb
|
322
326
|
- spec/unit/braintree/graphql/customer_recommendations_input_spec.rb
|
327
|
+
- spec/unit/braintree/graphql/customer_recommendations_spec.rb
|
323
328
|
- spec/unit/braintree/graphql/customer_session_input_spec.rb
|
324
329
|
- spec/unit/braintree/graphql/phone_input_spec.rb
|
325
330
|
- spec/unit/braintree/graphql/update_customer_session_input_spec.rb
|