braintree 4.24.0 → 4.26.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 +1 -0
- data/lib/braintree/bin_data.rb +2 -1
- data/lib/braintree/credit_card.rb +6 -5
- data/lib/braintree/customer_session_gateway.rb +194 -0
- data/lib/braintree/error_codes.rb +41 -0
- data/lib/braintree/error_result.rb +1 -1
- data/lib/braintree/errors.rb +2 -1
- data/lib/braintree/gateway.rb +8 -0
- data/lib/braintree/google_pay_card.rb +1 -0
- data/lib/braintree/graphql/enums/recommendations.rb +7 -0
- data/lib/braintree/graphql/enums/recommended_payment_option.rb +8 -0
- data/lib/braintree/graphql/inputs/create_customer_session_input.rb +35 -0
- data/lib/braintree/graphql/inputs/customer_recommendations_input.rb +41 -0
- data/lib/braintree/graphql/inputs/customer_session_input.rb +39 -0
- data/lib/braintree/graphql/inputs/phone_input.rb +32 -0
- data/lib/braintree/graphql/inputs/update_customer_session_input.rb +37 -0
- data/lib/braintree/graphql/types/customer_recommendations_payload.rb +32 -0
- data/lib/braintree/graphql/types/payment_options.rb +33 -0
- data/lib/braintree/graphql/unions/customer_recommendations.rb +34 -0
- data/lib/braintree/graphql_client.rb +16 -0
- data/lib/braintree/meta_checkout_card.rb +6 -5
- data/lib/braintree/meta_checkout_token.rb +6 -5
- data/lib/braintree/paypal_payment_resource.rb +22 -0
- data/lib/braintree/paypal_payment_resource_gateway.rb +36 -0
- data/lib/braintree/successful_result.rb +2 -0
- data/lib/braintree/test/credit_card.rb +1 -0
- data/lib/braintree/transaction/apple_pay_details.rb +1 -0
- data/lib/braintree/transaction/credit_card_details.rb +12 -10
- data/lib/braintree/transaction/google_pay_details.rb +11 -10
- data/lib/braintree/transaction/meta_checkout_card_details.rb +5 -2
- data/lib/braintree/transaction/meta_checkout_token_details.rb +6 -2
- data/lib/braintree/transaction/visa_checkout_card_details.rb +5 -2
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/visa_checkout_card.rb +5 -5
- data/lib/braintree.rb +13 -0
- data/spec/integration/braintree/credit_card_spec.rb +12 -0
- data/spec/integration/braintree/credit_card_verification_spec.rb +24 -0
- data/spec/integration/braintree/customer_session_spec.rb +143 -0
- data/spec/integration/braintree/customer_spec.rb +22 -6
- data/spec/integration/braintree/payment_method_nonce_spec.rb +11 -0
- data/spec/integration/braintree/paypal_payment_resource_spec.rb +141 -0
- data/spec/integration/braintree/transaction_spec.rb +15 -0
- data/spec/unit/braintree/apple_pay_card_spec.rb +1 -0
- data/spec/unit/braintree/credit_card_spec.rb +5 -0
- data/spec/unit/braintree/customer_session_gateway_spec.rb +120 -0
- data/spec/unit/braintree/google_pay_card_spec.rb +8 -0
- data/spec/unit/braintree/graphql/create_customer_session_input_spec.rb +81 -0
- data/spec/unit/braintree/graphql/customer_recommendations_input_spec.rb +110 -0
- data/spec/unit/braintree/graphql/customer_session_input_spec.rb +81 -0
- data/spec/unit/braintree/graphql/phone_input_spec.rb +51 -0
- data/spec/unit/braintree/graphql/update_customer_session_input_spec.rb +93 -0
- data/spec/unit/braintree/graphql_client_spec.rb +37 -0
- data/spec/unit/braintree/meta_checkout_card_spec.rb +53 -51
- data/spec/unit/braintree/meta_checkout_token_spec.rb +3 -1
- data/spec/unit/braintree/payment_method_nonce_spec.rb +4 -1
- data/spec/unit/braintree/paypal_payment_resource_spec.rb +125 -0
- data/spec/unit/braintree/transaction/apple_pay_details_spec.rb +8 -0
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +2 -1
- data/spec/unit/braintree/transaction/google_pay_details_spec.rb +8 -0
- data/spec/unit/braintree/transaction/meta_checkout_card_details_spec.rb +8 -0
- data/spec/unit/braintree/transaction/meta_checkout_token_details_spec.rb +8 -0
- data/spec/unit/braintree/transaction/visa_checkout_card_details_spec.rb +8 -0
- data/spec/unit/braintree/transaction_spec.rb +2 -0
- data/spec/unit/braintree/visa_checkout_card_spec.rb +8 -0
- data/spec/unit/credit_card_details_spec.rb +8 -0
- metadata +33 -2
@@ -0,0 +1,93 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
2
|
+
|
3
|
+
|
4
|
+
describe Braintree::UpdateCustomerSessionInput do
|
5
|
+
let(:input_data) do
|
6
|
+
{
|
7
|
+
merchant_account_id: "merchant-account-id",
|
8
|
+
session_id: "session-id",
|
9
|
+
customer: {email: "test@example.com"}
|
10
|
+
}
|
11
|
+
end
|
12
|
+
describe "#initialize" do
|
13
|
+
it "initializes with attributes" do
|
14
|
+
input = Braintree::UpdateCustomerSessionInput.new(input_data)
|
15
|
+
|
16
|
+
expect(input.attrs).to eq(input_data.keys)
|
17
|
+
expect(input.merchant_account_id).to eq("merchant-account-id")
|
18
|
+
expect(input.session_id).to eq("session-id")
|
19
|
+
expect(input.customer).to be_a(Braintree::CustomerSessionInput)
|
20
|
+
expect(input.customer.email).to eq("test@example.com")
|
21
|
+
end
|
22
|
+
|
23
|
+
it "disallows nil session id" do
|
24
|
+
attributes = {
|
25
|
+
merchant_account_id: "merchant-account-id",
|
26
|
+
}
|
27
|
+
expect do
|
28
|
+
Braintree::UpdateCustomerSessionInput.new(attributes)
|
29
|
+
end.to raise_error(ArgumentError, "Expected hash to contain a :session_id")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "handles nil customer" do
|
33
|
+
attributes = {
|
34
|
+
merchant_account_id: "merchant-account-id",
|
35
|
+
session_id: "session-id",
|
36
|
+
}
|
37
|
+
input = Braintree::UpdateCustomerSessionInput.new(attributes)
|
38
|
+
|
39
|
+
expect(input.customer).to be_nil
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
describe "#inspect" do
|
45
|
+
it "returns a string representation of the object" do
|
46
|
+
input = Braintree::UpdateCustomerSessionInput.new(input_data)
|
47
|
+
expected_string = "#<Braintree::UpdateCustomerSessionInput merchant_account_id:\"merchant-account-id\" session_id:\"session-id\" customer:#<Braintree::CustomerSessionInput email:\"test@example.com\">>"
|
48
|
+
expect(input.inspect).to eq(expected_string)
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
it "handles nil values" do
|
53
|
+
attributes = {
|
54
|
+
merchant_account_id: "merchant-account-id",
|
55
|
+
session_id: "session-id",
|
56
|
+
}
|
57
|
+
input = Braintree::UpdateCustomerSessionInput.new(attributes)
|
58
|
+
expected_string = "#<Braintree::UpdateCustomerSessionInput merchant_account_id:\"merchant-account-id\" session_id:\"session-id\">"
|
59
|
+
|
60
|
+
expect(input.inspect).to eq(expected_string)
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "#to_graphql_variables" do
|
66
|
+
it "converts the input to graphql variables" do
|
67
|
+
input = Braintree::UpdateCustomerSessionInput.new(input_data)
|
68
|
+
expected_variables = {
|
69
|
+
"merchantAccountId" => "merchant-account-id",
|
70
|
+
"sessionId" => "session-id",
|
71
|
+
"customer" => {"email" => "test@example.com"},
|
72
|
+
}
|
73
|
+
|
74
|
+
expect(input.to_graphql_variables).to eq(expected_variables)
|
75
|
+
end
|
76
|
+
|
77
|
+
it "handles nil values" do
|
78
|
+
attributes = {
|
79
|
+
merchant_account_id: "merchant-account-id",
|
80
|
+
session_id: "session-id",
|
81
|
+
}
|
82
|
+
input = Braintree::UpdateCustomerSessionInput.new(attributes)
|
83
|
+
|
84
|
+
expected_variables = {
|
85
|
+
"merchantAccountId" => "merchant-account-id",
|
86
|
+
"sessionId" => "session-id",
|
87
|
+
}
|
88
|
+
|
89
|
+
expect(input.to_graphql_variables).to eq(expected_variables)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::GraphQLClient do
|
4
|
+
|
5
|
+
describe ".get_validation_errors" do
|
6
|
+
it "returns nil if no errors" do
|
7
|
+
expect(Braintree::GraphQLClient.get_validation_errors({})).to be_nil
|
8
|
+
end
|
9
|
+
|
10
|
+
it "returns nil if errors is not an array" do
|
11
|
+
expect(Braintree::GraphQLClient.get_validation_errors({:errors => "string"})).to be_nil
|
12
|
+
end
|
13
|
+
|
14
|
+
it "returns validation errors" do
|
15
|
+
response = {
|
16
|
+
:errors => [
|
17
|
+
{:message => "Invalid input", :extensions => {:legacyCode => "81803"}},
|
18
|
+
{:message => "Another error", :extensions => {:legacyCode => "91903"}}
|
19
|
+
]
|
20
|
+
}
|
21
|
+
expected_errors = {
|
22
|
+
:errors => [
|
23
|
+
{:attribute => "", :code => "81803", :message => "Invalid input"},
|
24
|
+
{:attribute => "", :code => "91903", :message => "Another error"}
|
25
|
+
]
|
26
|
+
}
|
27
|
+
expect(Braintree::GraphQLClient.get_validation_errors(response)).to eq(expected_errors)
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
it "handles missing legacyCode" do
|
32
|
+
response = {:errors => [{:message => "Invalid input"}]}
|
33
|
+
expected_errors = {:errors => [{:attribute => "", :code => nil, :message => "Invalid input"}]}
|
34
|
+
expect(Braintree::GraphQLClient.get_validation_errors(response)).to eq(expected_errors)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -1,60 +1,62 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
2
|
|
3
3
|
describe Braintree::MetaCheckoutCard do
|
4
|
-
|
4
|
+
let(:attributes) do {
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
6
|
+
:bin => "abc1234",
|
7
|
+
:card_type => "Visa",
|
8
|
+
:cardholder_name => "Meta Checkout Card CardHolder",
|
9
|
+
:commercial => "NO",
|
10
|
+
:container_id => "a-container-id",
|
11
|
+
:country_of_issuance => "US",
|
12
|
+
:created_at => "2023-05-05T21:28:37Z",
|
13
|
+
:debit => "NO",
|
14
|
+
:durbin_regulated => "NO",
|
15
|
+
:expiration_month => "05",
|
16
|
+
:expiration_year => "2024",
|
17
|
+
:healthcare => "NO",
|
18
|
+
:last_4 => "1234",
|
19
|
+
:payroll => "NO",
|
20
|
+
:prepaid => "NO",
|
21
|
+
:prepaid_reloadable => "NO",
|
22
|
+
:token => "token1",
|
23
|
+
:unique_number_identifier => "abc1234",
|
24
|
+
:updated_at => "2023-05-05T21:28:37Z"
|
25
|
+
}
|
26
|
+
end
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
describe "unit tests" do
|
29
|
+
it "initializes with the correct attributes" do
|
30
|
+
card = Braintree::MetaCheckoutCard._new(:gateway, attributes)
|
30
31
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
32
|
+
card.bin.should == "abc1234"
|
33
|
+
card.card_type.should == "Visa"
|
34
|
+
card.cardholder_name.should == "Meta Checkout Card CardHolder"
|
35
|
+
card.commercial == "NO"
|
36
|
+
card.container_id.should == "a-container-id"
|
37
|
+
card.country_of_issuance == "US"
|
38
|
+
card.created_at == "2023-05-05T21:28:37Z"
|
39
|
+
card.debit == "NO"
|
40
|
+
card.expiration_month.should == "05"
|
41
|
+
card.expiration_year.should == "2024"
|
42
|
+
card.healthcare == "NO"
|
43
|
+
card.last_4.should == "1234"
|
44
|
+
card.payroll == "NO"
|
45
|
+
card.prepaid == "NO"
|
46
|
+
card.prepaid_reloadable == "NO"
|
47
|
+
card.token == "token1"
|
48
|
+
card.unique_number_identifier == "abc1234"
|
49
|
+
card.updated_at == "2023-05-05T21:28:37Z"
|
50
|
+
end
|
49
51
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
52
|
+
it "sets expiration date correctly" do
|
53
|
+
card = Braintree::MetaCheckoutCard._new(:gateway, attributes)
|
54
|
+
card.expiration_date.should == "05/2024"
|
55
|
+
end
|
54
56
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
end
|
57
|
+
it "masks the card number correctly" do
|
58
|
+
card = Braintree::MetaCheckoutCard._new(:gateway, attributes)
|
59
|
+
card.masked_number.should == "abc1234******1234"
|
59
60
|
end
|
60
|
-
end
|
61
|
+
end
|
62
|
+
end
|
@@ -17,6 +17,7 @@ describe Braintree::MetaCheckoutToken do
|
|
17
17
|
:last_4 => "1234",
|
18
18
|
:payroll => "NO",
|
19
19
|
:prepaid => "NO",
|
20
|
+
:prepaid_reloadable => "NO",
|
20
21
|
:token => "token1",
|
21
22
|
:unique_number_identifier => "abc1234",
|
22
23
|
:updated_at => "2023-05-05T21:28:37Z",
|
@@ -40,6 +41,7 @@ describe Braintree::MetaCheckoutToken do
|
|
40
41
|
card.debit == "NO"
|
41
42
|
card.payroll == "NO"
|
42
43
|
card.prepaid == "NO"
|
44
|
+
card.prepaid_reloadable == "NO"
|
43
45
|
card.healthcare == "NO"
|
44
46
|
card.token == "token1"
|
45
47
|
card.unique_number_identifier == "abc1234"
|
@@ -60,4 +62,4 @@ describe Braintree::MetaCheckoutToken do
|
|
60
62
|
card.masked_number.should == "abc1234******1234"
|
61
63
|
end
|
62
64
|
end
|
63
|
-
end
|
65
|
+
end
|
@@ -15,7 +15,8 @@ describe Braintree::PaymentMethodNonce do
|
|
15
15
|
:liability_shifted => false
|
16
16
|
},
|
17
17
|
:bin_data => {
|
18
|
-
:country_of_issuance => "USA"
|
18
|
+
:country_of_issuance => "USA",
|
19
|
+
:prepaid_reloadable => "Yes"
|
19
20
|
},
|
20
21
|
)
|
21
22
|
}
|
@@ -29,6 +30,8 @@ describe Braintree::PaymentMethodNonce do
|
|
29
30
|
expect(payment_method_nonce.three_d_secure_info.liability_shift_possible).to be false
|
30
31
|
expect(payment_method_nonce.three_d_secure_info.liability_shifted).to be false
|
31
32
|
expect(payment_method_nonce.bin_data.country_of_issuance).to eq("USA")
|
33
|
+
expect(payment_method_nonce.bin_data.prepaid_reloadable).to eq("Yes")
|
34
|
+
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
@@ -0,0 +1,125 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::PayPalPaymentResource do
|
4
|
+
|
5
|
+
describe "#update" do
|
6
|
+
it "successfully updates a paypal payment request" do
|
7
|
+
paypal_payment_resource_request = {
|
8
|
+
:amount => 55.00,
|
9
|
+
:amount_breakdown => {
|
10
|
+
:discount => 15_00,
|
11
|
+
:handling => 0,
|
12
|
+
:insurance => 5_00,
|
13
|
+
:item_total => 45_00,
|
14
|
+
:shipping => 10_00,
|
15
|
+
:shipping_discount => 0,
|
16
|
+
:tax_total => 10_00
|
17
|
+
},
|
18
|
+
:currency_iso_code => "USD",
|
19
|
+
:description => "This is a test",
|
20
|
+
:custom_field => "0437",
|
21
|
+
:line_items => [{
|
22
|
+
:description => "Shoes",
|
23
|
+
:image_url => "https://example.com/products/23434/pic.png",
|
24
|
+
:kind => "debit",
|
25
|
+
:name => "Name #1",
|
26
|
+
:product_code => "23434",
|
27
|
+
:quantity => 1_00,
|
28
|
+
:total_amount => 45_00,
|
29
|
+
:unit_amount => 45_00,
|
30
|
+
:unit_tax_amount => 10_00,
|
31
|
+
:url => "https://example.com/products/23434",
|
32
|
+
}],
|
33
|
+
:order_id => "order-123456789",
|
34
|
+
:payee_email => "bt_buyer_us@paypal.com",
|
35
|
+
:payment_method_nonce => "1234",
|
36
|
+
:shipping => {
|
37
|
+
:country_name => "United States",
|
38
|
+
:country_code_alpha2 => "US",
|
39
|
+
:country_code_alpha3 => "USA",
|
40
|
+
:country_code_numeric => "484",
|
41
|
+
:extended_address => "Apt. #1",
|
42
|
+
:first_name => "John",
|
43
|
+
:international_phone => {
|
44
|
+
:country_code => "1",
|
45
|
+
:national_number => "4081111111",
|
46
|
+
},
|
47
|
+
:last_name => "Doe",
|
48
|
+
:locality => "Chicago",
|
49
|
+
:postal_code => "60618",
|
50
|
+
:region => "IL",
|
51
|
+
:street_address => "123 Division Street",
|
52
|
+
},
|
53
|
+
:shipping_options => [{
|
54
|
+
:amount => "10.00",
|
55
|
+
:id => "option1",
|
56
|
+
:label => "fast",
|
57
|
+
:selected => true,
|
58
|
+
:type => "SHIPPING"
|
59
|
+
}]
|
60
|
+
}
|
61
|
+
|
62
|
+
unknown_response = {:payment_method_nonce => {}}
|
63
|
+
http_instance = double(:put => unknown_response)
|
64
|
+
allow(Braintree::Http).to receive(:new).and_return(http_instance)
|
65
|
+
result = Braintree::PayPalPaymentResource.update(paypal_payment_resource_request)
|
66
|
+
expect(result).to be_success
|
67
|
+
end
|
68
|
+
it "should match the update signature" do
|
69
|
+
expect(Braintree::PayPalPaymentResourceGateway._update_signature).to match([
|
70
|
+
:amount,
|
71
|
+
{:amount_breakdown => [
|
72
|
+
:discount,
|
73
|
+
:handling,
|
74
|
+
:insurance,
|
75
|
+
:item_total,
|
76
|
+
:shipping,
|
77
|
+
:shipping_discount,
|
78
|
+
:tax_total
|
79
|
+
]},
|
80
|
+
:currency_iso_code,
|
81
|
+
:custom_field,
|
82
|
+
:description,
|
83
|
+
{:line_items => [
|
84
|
+
:description,
|
85
|
+
:image_url,
|
86
|
+
:kind,
|
87
|
+
:name,
|
88
|
+
:product_code,
|
89
|
+
:quantity,
|
90
|
+
:total_amount,
|
91
|
+
:unit_amount,
|
92
|
+
:unit_tax_amount,
|
93
|
+
:url,
|
94
|
+
]},
|
95
|
+
:order_id,
|
96
|
+
:payee_email,
|
97
|
+
:payment_method_nonce,
|
98
|
+
{:shipping => [
|
99
|
+
:country_name,
|
100
|
+
:country_code_alpha2,
|
101
|
+
:country_code_alpha3,
|
102
|
+
:country_code_numeric,
|
103
|
+
:extended_address,
|
104
|
+
:first_name,
|
105
|
+
{:international_phone => [
|
106
|
+
:country_code,
|
107
|
+
:national_number]},
|
108
|
+
:last_name,
|
109
|
+
:locality,
|
110
|
+
:postal_code,
|
111
|
+
:region,
|
112
|
+
:street_address,
|
113
|
+
]},
|
114
|
+
{:shipping_options => [
|
115
|
+
:amount,
|
116
|
+
:id,
|
117
|
+
:label,
|
118
|
+
:selected,
|
119
|
+
:type
|
120
|
+
]},
|
121
|
+
],
|
122
|
+
)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::ApplePayDetails do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::ApplePayDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
end
|
@@ -24,6 +24,7 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
24
24
|
:customer_location => "US",
|
25
25
|
:healthcare => "No",
|
26
26
|
:prepaid => "Yes",
|
27
|
+
:prepaid_reloadable => "Yes",
|
27
28
|
:durbin_regulated => "No",
|
28
29
|
:debit => "Yes",
|
29
30
|
:commercial => "Unknown",
|
@@ -34,7 +35,7 @@ describe Braintree::Transaction::CreditCardDetails do
|
|
34
35
|
:image_url => "example.com/visa.png",
|
35
36
|
:unique_number_identifier => "abc123",
|
36
37
|
)
|
37
|
-
expect(details.inspect).to eq(%(#<token: "token", bin: "123456", last_4: "6789", card_type: "Visa",
|
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">))
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::GooglePayDetails do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::GooglePayDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::MetaCheckoutCardDetails do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::MetaCheckoutCardDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::MetaCheckoutTokenDetails do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::MetaCheckoutTokenDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::VisaCheckoutCardDetails do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::VisaCheckoutCardDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
end
|
@@ -119,6 +119,7 @@ describe Braintree::Transaction do
|
|
119
119
|
:expiration_year => "2009",
|
120
120
|
:customer_location => "US",
|
121
121
|
:prepaid => "Yes",
|
122
|
+
:prepaid_reloadable => "Yes",
|
122
123
|
:healthcare => "Yes",
|
123
124
|
:durbin_regulated => "Yes",
|
124
125
|
:debit => "Yes",
|
@@ -137,6 +138,7 @@ describe Braintree::Transaction do
|
|
137
138
|
expect(transaction.credit_card_details.expiration_year).to eq("2009")
|
138
139
|
expect(transaction.credit_card_details.customer_location).to eq("US")
|
139
140
|
expect(transaction.credit_card_details.prepaid).to eq(Braintree::CreditCard::Prepaid::Yes)
|
141
|
+
expect(transaction.credit_card_details.prepaid_reloadable).to eq(Braintree::CreditCard::PrepaidReloadable::Yes)
|
140
142
|
expect(transaction.credit_card_details.healthcare).to eq(Braintree::CreditCard::Healthcare::Yes)
|
141
143
|
expect(transaction.credit_card_details.durbin_regulated).to eq(Braintree::CreditCard::DurbinRegulated::Yes)
|
142
144
|
expect(transaction.credit_card_details.debit).to eq(Braintree::CreditCard::Debit::Yes)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::VisaCheckoutCard do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::VisaCheckoutCard._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe Braintree::CreditCardDetails do
|
4
|
+
it "initializes prepaid reloadable correctly" do
|
5
|
+
card = Braintree::CreditCardDetails._new(:gateway, {:prepaid_reloadable => "No"})
|
6
|
+
expect(card.prepaid_reloadable).to eq("No")
|
7
|
+
end
|
8
|
+
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.26.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-
|
11
|
+
date: 2025-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/braintree/customer.rb
|
78
78
|
- lib/braintree/customer_gateway.rb
|
79
79
|
- lib/braintree/customer_search.rb
|
80
|
+
- lib/braintree/customer_session_gateway.rb
|
80
81
|
- lib/braintree/descriptor.rb
|
81
82
|
- lib/braintree/digest.rb
|
82
83
|
- lib/braintree/disbursement.rb
|
@@ -108,6 +109,16 @@ files:
|
|
108
109
|
- lib/braintree/gateway.rb
|
109
110
|
- lib/braintree/google_pay_card.rb
|
110
111
|
- lib/braintree/granted_payment_instrument_update.rb
|
112
|
+
- lib/braintree/graphql/enums/recommendations.rb
|
113
|
+
- lib/braintree/graphql/enums/recommended_payment_option.rb
|
114
|
+
- lib/braintree/graphql/inputs/create_customer_session_input.rb
|
115
|
+
- lib/braintree/graphql/inputs/customer_recommendations_input.rb
|
116
|
+
- lib/braintree/graphql/inputs/customer_session_input.rb
|
117
|
+
- lib/braintree/graphql/inputs/phone_input.rb
|
118
|
+
- lib/braintree/graphql/inputs/update_customer_session_input.rb
|
119
|
+
- lib/braintree/graphql/types/customer_recommendations_payload.rb
|
120
|
+
- lib/braintree/graphql/types/payment_options.rb
|
121
|
+
- lib/braintree/graphql/unions/customer_recommendations.rb
|
111
122
|
- lib/braintree/graphql_client.rb
|
112
123
|
- lib/braintree/http.rb
|
113
124
|
- lib/braintree/local_payment_completed.rb
|
@@ -141,6 +152,8 @@ files:
|
|
141
152
|
- lib/braintree/payment_method_parser.rb
|
142
153
|
- lib/braintree/paypal_account.rb
|
143
154
|
- lib/braintree/paypal_account_gateway.rb
|
155
|
+
- lib/braintree/paypal_payment_resource.rb
|
156
|
+
- lib/braintree/paypal_payment_resource_gateway.rb
|
144
157
|
- lib/braintree/plan.rb
|
145
158
|
- lib/braintree/plan_gateway.rb
|
146
159
|
- lib/braintree/processor_response_types.rb
|
@@ -239,6 +252,7 @@ files:
|
|
239
252
|
- spec/integration/braintree/credit_card_verification_search_spec.rb
|
240
253
|
- spec/integration/braintree/credit_card_verification_spec.rb
|
241
254
|
- spec/integration/braintree/customer_search_spec.rb
|
255
|
+
- spec/integration/braintree/customer_session_spec.rb
|
242
256
|
- spec/integration/braintree/customer_spec.rb
|
243
257
|
- spec/integration/braintree/disbursement_spec.rb
|
244
258
|
- spec/integration/braintree/discount_spec.rb
|
@@ -257,6 +271,7 @@ files:
|
|
257
271
|
- spec/integration/braintree/payment_method_spec.rb
|
258
272
|
- spec/integration/braintree/payment_method_us_bank_account_spec.rb
|
259
273
|
- spec/integration/braintree/paypal_account_spec.rb
|
274
|
+
- spec/integration/braintree/paypal_payment_resource_spec.rb
|
260
275
|
- spec/integration/braintree/plan_spec.rb
|
261
276
|
- spec/integration/braintree/samsung_pay_card_spec.rb
|
262
277
|
- spec/integration/braintree/sepa_direct_debit_account_spec.rb
|
@@ -290,6 +305,7 @@ files:
|
|
290
305
|
- spec/unit/braintree/credit_card_verification_gateway_spec.rb
|
291
306
|
- spec/unit/braintree/credit_card_verification_search_spec.rb
|
292
307
|
- spec/unit/braintree/credit_card_verification_spec.rb
|
308
|
+
- spec/unit/braintree/customer_session_gateway_spec.rb
|
293
309
|
- spec/unit/braintree/customer_spec.rb
|
294
310
|
- spec/unit/braintree/digest_spec.rb
|
295
311
|
- spec/unit/braintree/disbursement_spec.rb
|
@@ -304,6 +320,13 @@ files:
|
|
304
320
|
- spec/unit/braintree/exchange_rate_quote_response_spec.rb
|
305
321
|
- spec/unit/braintree/exchange_rate_quote_spec.rb
|
306
322
|
- spec/unit/braintree/exchange_rate_spec.rb
|
323
|
+
- spec/unit/braintree/google_pay_card_spec.rb
|
324
|
+
- spec/unit/braintree/graphql/create_customer_session_input_spec.rb
|
325
|
+
- spec/unit/braintree/graphql/customer_recommendations_input_spec.rb
|
326
|
+
- spec/unit/braintree/graphql/customer_session_input_spec.rb
|
327
|
+
- spec/unit/braintree/graphql/phone_input_spec.rb
|
328
|
+
- spec/unit/braintree/graphql/update_customer_session_input_spec.rb
|
329
|
+
- spec/unit/braintree/graphql_client_spec.rb
|
307
330
|
- spec/unit/braintree/http_spec.rb
|
308
331
|
- spec/unit/braintree/local_payment_completed_spec.rb
|
309
332
|
- spec/unit/braintree/local_payment_expired_spec.rb
|
@@ -321,6 +344,7 @@ files:
|
|
321
344
|
- spec/unit/braintree/payment_method_nonce_spec.rb
|
322
345
|
- spec/unit/braintree/payment_method_spec.rb
|
323
346
|
- spec/unit/braintree/paypal_account_spec.rb
|
347
|
+
- spec/unit/braintree/paypal_payment_resource_spec.rb
|
324
348
|
- spec/unit/braintree/resource_collection_spec.rb
|
325
349
|
- spec/unit/braintree/risk_data/liability_shift.rb
|
326
350
|
- spec/unit/braintree/risk_data_spec.rb
|
@@ -332,14 +356,19 @@ files:
|
|
332
356
|
- spec/unit/braintree/subscription_spec.rb
|
333
357
|
- spec/unit/braintree/successful_result_spec.rb
|
334
358
|
- spec/unit/braintree/three_d_secure_info_spec.rb
|
359
|
+
- spec/unit/braintree/transaction/apple_pay_details_spec.rb
|
335
360
|
- spec/unit/braintree/transaction/credit_card_details_spec.rb
|
336
361
|
- spec/unit/braintree/transaction/customer_details_spec.rb
|
337
362
|
- spec/unit/braintree/transaction/deposit_details_spec.rb
|
363
|
+
- spec/unit/braintree/transaction/google_pay_details_spec.rb
|
338
364
|
- spec/unit/braintree/transaction/installment_spec.rb
|
339
365
|
- spec/unit/braintree/transaction/local_payment_details_spec.rb
|
366
|
+
- spec/unit/braintree/transaction/meta_checkout_card_details_spec.rb
|
367
|
+
- spec/unit/braintree/transaction/meta_checkout_token_details_spec.rb
|
340
368
|
- spec/unit/braintree/transaction/payment_receipt_spec.rb
|
341
369
|
- spec/unit/braintree/transaction/paypal_details_spec.rb
|
342
370
|
- spec/unit/braintree/transaction/sepa_direct_debit_account_details_spec.rb
|
371
|
+
- spec/unit/braintree/transaction/visa_checkout_card_details_spec.rb
|
343
372
|
- spec/unit/braintree/transaction_gateway_spec.rb
|
344
373
|
- spec/unit/braintree/transaction_search_spec.rb
|
345
374
|
- spec/unit/braintree/transaction_spec.rb
|
@@ -351,12 +380,14 @@ files:
|
|
351
380
|
- spec/unit/braintree/validation_error_collection_spec.rb
|
352
381
|
- spec/unit/braintree/validation_error_spec.rb
|
353
382
|
- spec/unit/braintree/venmo_profile_data_spec.rb
|
383
|
+
- spec/unit/braintree/visa_checkout_card_spec.rb
|
354
384
|
- spec/unit/braintree/webhook_notification_spec.rb
|
355
385
|
- spec/unit/braintree/xml/libxml_spec.rb
|
356
386
|
- spec/unit/braintree/xml/parser_spec.rb
|
357
387
|
- spec/unit/braintree/xml/rexml_spec.rb
|
358
388
|
- spec/unit/braintree/xml_spec.rb
|
359
389
|
- spec/unit/braintree_spec.rb
|
390
|
+
- spec/unit/credit_card_details_spec.rb
|
360
391
|
- spec/unit/spec_helper.rb
|
361
392
|
homepage: https://www.braintreepayments.com/
|
362
393
|
licenses:
|