braintree 4.14.0 → 4.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/braintree/credit_card.rb +13 -0
- data/lib/braintree/credit_card_gateway.rb +15 -3
- data/lib/braintree/payment_method_gateway.rb +15 -3
- data/lib/braintree/test/nonce.rb +1 -0
- data/lib/braintree/test/venmo_sdk.rb +2 -0
- data/lib/braintree/transaction/credit_card_details.rb +3 -0
- data/lib/braintree/transaction/local_payment_details.rb +2 -0
- data/lib/braintree/transaction.rb +5 -4
- data/lib/braintree/transaction_gateway.rb +15 -3
- data/lib/braintree/transaction_search.rb +6 -5
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +1 -0
- data/lib/braintree/webhook_testing_gateway.rb +17 -0
- data/spec/integration/braintree/add_on_spec.rb +9 -9
- data/spec/integration/braintree/address_spec.rb +69 -69
- data/spec/integration/braintree/advanced_search_spec.rb +45 -45
- data/spec/integration/braintree/apple_pay_spec.rb +8 -8
- data/spec/integration/braintree/client_api/client_token_spec.rb +15 -15
- data/spec/integration/braintree/credit_card_spec.rb +223 -223
- data/spec/integration/braintree/credit_card_verification_search_spec.rb +16 -16
- data/spec/integration/braintree/credit_card_verification_spec.rb +52 -52
- data/spec/integration/braintree/customer_search_spec.rb +20 -20
- data/spec/integration/braintree/customer_spec.rb +313 -313
- data/spec/integration/braintree/disbursement_spec.rb +2 -2
- data/spec/integration/braintree/discount_spec.rb +9 -9
- data/spec/integration/braintree/dispute_spec.rb +87 -87
- data/spec/integration/braintree/document_upload_spec.rb +17 -17
- data/spec/integration/braintree/error_codes_spec.rb +2 -2
- data/spec/integration/braintree/http_spec.rb +28 -28
- data/spec/integration/braintree/merchant_account_spec.rb +127 -127
- data/spec/integration/braintree/merchant_spec.rb +103 -103
- data/spec/integration/braintree/oauth_spec.rb +61 -61
- data/spec/integration/braintree/payment_method_nonce_spec.rb +73 -73
- data/spec/integration/braintree/payment_method_spec.rb +389 -389
- data/spec/integration/braintree/payment_method_us_bank_account_spec.rb +78 -78
- data/spec/integration/braintree/paypal_account_spec.rb +38 -38
- data/spec/integration/braintree/plan_spec.rb +15 -15
- data/spec/integration/braintree/samsung_pay_card_spec.rb +65 -65
- data/spec/integration/braintree/sepa_direct_debit_account_spec.rb +51 -51
- data/spec/integration/braintree/settlement_batch_summary_spec.rb +11 -11
- data/spec/integration/braintree/subscription_spec.rb +364 -364
- data/spec/integration/braintree/test/transaction_amounts_spec.rb +2 -2
- data/spec/integration/braintree/test_transaction_spec.rb +19 -19
- data/spec/integration/braintree/transaction_line_item_spec.rb +6 -6
- data/spec/integration/braintree/transaction_search_spec.rb +198 -165
- data/spec/integration/braintree/transaction_spec.rb +1315 -1149
- data/spec/integration/braintree/transaction_us_bank_account_spec.rb +32 -32
- data/spec/integration/braintree/us_bank_account_spec.rb +30 -30
- data/spec/integration/braintree/us_bank_account_verification_search_spec.rb +18 -18
- data/spec/integration/braintree/us_bank_account_verification_spec.rb +33 -33
- data/spec/integration/braintree/visa_checkout_card_spec.rb +57 -57
- data/spec/spec_helper.rb +9 -8
- data/spec/unit/braintree/address_spec.rb +8 -8
- data/spec/unit/braintree/base_module_spec.rb +4 -4
- data/spec/unit/braintree/client_token_spec.rb +2 -2
- data/spec/unit/braintree/configuration_spec.rb +57 -57
- data/spec/unit/braintree/credentials_parser_spec.rb +6 -6
- data/spec/unit/braintree/credit_card_spec.rb +31 -29
- data/spec/unit/braintree/credit_card_verification_gateway_spec.rb +28 -28
- data/spec/unit/braintree/credit_card_verification_search_spec.rb +9 -9
- data/spec/unit/braintree/credit_card_verification_spec.rb +17 -17
- data/spec/unit/braintree/customer_spec.rb +41 -40
- data/spec/unit/braintree/digest_spec.rb +5 -5
- data/spec/unit/braintree/disbursement_spec.rb +11 -11
- data/spec/unit/braintree/dispute_search_spec.rb +2 -2
- data/spec/unit/braintree/dispute_spec.rb +56 -56
- data/spec/unit/braintree/document_upload_spec.rb +8 -8
- data/spec/unit/braintree/enriched_customer_data_spec.rb +2 -2
- data/spec/unit/braintree/error_result_spec.rb +5 -5
- data/spec/unit/braintree/errors_spec.rb +9 -9
- data/spec/unit/braintree/http_spec.rb +8 -8
- data/spec/unit/braintree/local_payment_completed_spec.rb +11 -11
- data/spec/unit/braintree/local_payment_expired_spec.rb +2 -2
- data/spec/unit/braintree/local_payment_funded_spec.rb +6 -6
- data/spec/unit/braintree/merchant_account_spec.rb +4 -4
- data/spec/unit/braintree/modification_spec.rb +1 -1
- data/spec/unit/braintree/payment_method_customer_data_updated_metadata_spec.rb +6 -6
- data/spec/unit/braintree/payment_method_nonce_details_payer_info_spec.rb +7 -7
- data/spec/unit/braintree/payment_method_nonce_details_spec.rb +14 -14
- data/spec/unit/braintree/payment_method_spec.rb +19 -19
- data/spec/unit/braintree/paypal_account_spec.rb +4 -4
- data/spec/unit/braintree/resource_collection_spec.rb +7 -7
- data/spec/unit/braintree/sepa_debit_account_nonce_details_spec.rb +1 -1
- data/spec/unit/braintree/sha256_digest_spec.rb +1 -1
- data/spec/unit/braintree/signature_service_spec.rb +2 -2
- data/spec/unit/braintree/subscription_search_spec.rb +17 -17
- data/spec/unit/braintree/subscription_spec.rb +8 -8
- data/spec/unit/braintree/successful_result_spec.rb +5 -5
- data/spec/unit/braintree/three_d_secure_info_spec.rb +20 -20
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +5 -5
- data/spec/unit/braintree/transaction/customer_details_spec.rb +1 -1
- data/spec/unit/braintree/transaction/deposit_details_spec.rb +2 -2
- data/spec/unit/braintree/transaction/local_payment_details_spec.rb +30 -0
- data/spec/unit/braintree/transaction_gateway_spec.rb +9 -6
- data/spec/unit/braintree/transaction_search_spec.rb +2 -2
- data/spec/unit/braintree/transaction_spec.rb +101 -93
- data/spec/unit/braintree/unknown_payment_method_spec.rb +4 -4
- data/spec/unit/braintree/us_bank_account_spec.rb +2 -2
- data/spec/unit/braintree/us_bank_account_verification_search_spec.rb +7 -7
- data/spec/unit/braintree/us_bank_account_verification_spec.rb +7 -7
- data/spec/unit/braintree/util_spec.rb +27 -27
- data/spec/unit/braintree/validation_error_collection_spec.rb +34 -34
- data/spec/unit/braintree/validation_error_spec.rb +4 -4
- data/spec/unit/braintree/venmo_profile_data_spec.rb +5 -5
- data/spec/unit/braintree/webhook_notification_spec.rb +206 -191
- data/spec/unit/braintree/xml/libxml_spec.rb +5 -5
- data/spec/unit/braintree/xml/parser_spec.rb +8 -8
- data/spec/unit/braintree/xml/rexml_spec.rb +5 -5
- data/spec/unit/braintree/xml_spec.rb +17 -17
- data/spec/unit/braintree_spec.rb +2 -2
- metadata +3 -2
@@ -25,7 +25,7 @@ describe Braintree::PaymentMethod do
|
|
25
25
|
:expirationMonth => 12,
|
26
26
|
:expirationYear => 2020,
|
27
27
|
)
|
28
|
-
response.code.
|
28
|
+
expect(response.code).to eq("201")
|
29
29
|
|
30
30
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
31
31
|
result = Braintree::PaymentMethod.create(
|
@@ -33,12 +33,12 @@ describe Braintree::PaymentMethod do
|
|
33
33
|
:customer_id => customer.id,
|
34
34
|
)
|
35
35
|
|
36
|
-
result.
|
37
|
-
result.payment_method.
|
36
|
+
expect(result).to be_success
|
37
|
+
expect(result.payment_method).to be_a(Braintree::CreditCard)
|
38
38
|
token = result.payment_method.token
|
39
39
|
|
40
40
|
found_credit_card = Braintree::CreditCard.find(token)
|
41
|
-
found_credit_card.
|
41
|
+
expect(found_credit_card).not_to be_nil
|
42
42
|
end
|
43
43
|
|
44
44
|
it "creates a payment method from an unvalidated credit card nonce" do
|
@@ -60,7 +60,7 @@ describe Braintree::PaymentMethod do
|
|
60
60
|
:expirationYear => "2020",
|
61
61
|
:options => {:validate => false},
|
62
62
|
)
|
63
|
-
response.code.
|
63
|
+
expect(response.code).to eq("202")
|
64
64
|
|
65
65
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
66
66
|
result = Braintree::PaymentMethod.create(
|
@@ -68,12 +68,12 @@ describe Braintree::PaymentMethod do
|
|
68
68
|
:customer_id => customer.id,
|
69
69
|
)
|
70
70
|
|
71
|
-
result.
|
72
|
-
result.payment_method.
|
71
|
+
expect(result).to be_success
|
72
|
+
expect(result.payment_method).to be_a(Braintree::CreditCard)
|
73
73
|
token = result.payment_method.token
|
74
74
|
|
75
75
|
found_credit_card = Braintree::CreditCard.find(token)
|
76
|
-
found_credit_card.
|
76
|
+
expect(found_credit_card).not_to be_nil
|
77
77
|
end
|
78
78
|
|
79
79
|
it "creates a payment method from a fake apple pay nonce" do
|
@@ -85,29 +85,29 @@ describe Braintree::PaymentMethod do
|
|
85
85
|
:token => token,
|
86
86
|
)
|
87
87
|
|
88
|
-
result.
|
88
|
+
expect(result).to be_success
|
89
89
|
apple_pay_card = result.payment_method
|
90
|
-
apple_pay_card.
|
91
|
-
apple_pay_card.
|
92
|
-
apple_pay_card.bin.
|
93
|
-
apple_pay_card.token.
|
94
|
-
apple_pay_card.card_type.
|
95
|
-
apple_pay_card.payment_instrument_name.
|
96
|
-
apple_pay_card.source_description.
|
97
|
-
apple_pay_card.default.
|
98
|
-
apple_pay_card.image_url.
|
99
|
-
apple_pay_card.expiration_month.to_i.
|
100
|
-
apple_pay_card.expiration_year.to_i.
|
101
|
-
apple_pay_card.customer_id.
|
102
|
-
apple_pay_card.commercial.
|
103
|
-
apple_pay_card.country_of_issuance.
|
104
|
-
apple_pay_card.debit.
|
105
|
-
apple_pay_card.durbin_regulated.
|
106
|
-
apple_pay_card.healthcare.
|
107
|
-
apple_pay_card.issuing_bank.
|
108
|
-
apple_pay_card.payroll.
|
109
|
-
apple_pay_card.prepaid.
|
110
|
-
apple_pay_card.product_id.
|
90
|
+
expect(apple_pay_card).to be_a(Braintree::ApplePayCard)
|
91
|
+
expect(apple_pay_card).not_to be_nil
|
92
|
+
expect(apple_pay_card.bin).not_to be_nil
|
93
|
+
expect(apple_pay_card.token).to eq(token)
|
94
|
+
expect(apple_pay_card.card_type).to eq(Braintree::ApplePayCard::CardType::AmEx)
|
95
|
+
expect(apple_pay_card.payment_instrument_name).to eq("AmEx 41002")
|
96
|
+
expect(apple_pay_card.source_description).to eq("AmEx 41002")
|
97
|
+
expect(apple_pay_card.default).to eq(true)
|
98
|
+
expect(apple_pay_card.image_url).to match(/apple_pay/)
|
99
|
+
expect(apple_pay_card.expiration_month.to_i).to be > 0
|
100
|
+
expect(apple_pay_card.expiration_year.to_i).to be > 0
|
101
|
+
expect(apple_pay_card.customer_id).to eq(customer.id)
|
102
|
+
expect(apple_pay_card.commercial).not_to be_nil
|
103
|
+
expect(apple_pay_card.country_of_issuance).not_to be_nil
|
104
|
+
expect(apple_pay_card.debit).not_to be_nil
|
105
|
+
expect(apple_pay_card.durbin_regulated).not_to be_nil
|
106
|
+
expect(apple_pay_card.healthcare).not_to be_nil
|
107
|
+
expect(apple_pay_card.issuing_bank).not_to be_nil
|
108
|
+
expect(apple_pay_card.payroll).not_to be_nil
|
109
|
+
expect(apple_pay_card.prepaid).not_to be_nil
|
110
|
+
expect(apple_pay_card.product_id).not_to be_nil
|
111
111
|
end
|
112
112
|
|
113
113
|
it "creates a payment method from a fake apple pay mpan nonce" do
|
@@ -119,31 +119,31 @@ describe Braintree::PaymentMethod do
|
|
119
119
|
:token => token,
|
120
120
|
)
|
121
121
|
|
122
|
-
result.
|
122
|
+
expect(result).to be_success
|
123
123
|
apple_pay_card = result.payment_method
|
124
|
-
apple_pay_card.
|
125
|
-
apple_pay_card.
|
126
|
-
apple_pay_card.bin.
|
127
|
-
apple_pay_card.token.
|
128
|
-
apple_pay_card.card_type.
|
129
|
-
apple_pay_card.payment_instrument_name.
|
130
|
-
apple_pay_card.source_description.
|
131
|
-
apple_pay_card.default.
|
132
|
-
apple_pay_card.image_url.
|
133
|
-
apple_pay_card.expiration_month.to_i.
|
134
|
-
apple_pay_card.expiration_year.to_i.
|
135
|
-
apple_pay_card.customer_id.
|
136
|
-
apple_pay_card.commercial.
|
137
|
-
apple_pay_card.country_of_issuance.
|
138
|
-
apple_pay_card.debit.
|
139
|
-
apple_pay_card.durbin_regulated.
|
140
|
-
apple_pay_card.healthcare.
|
141
|
-
apple_pay_card.issuing_bank.
|
142
|
-
apple_pay_card.payroll.
|
143
|
-
apple_pay_card.prepaid.
|
144
|
-
apple_pay_card.product_id.
|
145
|
-
apple_pay_card.merchant_token_identifier.
|
146
|
-
apple_pay_card.source_card_last4.
|
124
|
+
expect(apple_pay_card).to be_a(Braintree::ApplePayCard)
|
125
|
+
expect(apple_pay_card).not_to be_nil
|
126
|
+
expect(apple_pay_card.bin).not_to be_nil
|
127
|
+
expect(apple_pay_card.token).to eq(token)
|
128
|
+
expect(apple_pay_card.card_type).to eq(Braintree::ApplePayCard::CardType::Visa)
|
129
|
+
expect(apple_pay_card.payment_instrument_name).to eq("Visa 8886")
|
130
|
+
expect(apple_pay_card.source_description).to eq("Visa 8886")
|
131
|
+
expect(apple_pay_card.default).to eq(true)
|
132
|
+
expect(apple_pay_card.image_url).to match(/apple_pay/)
|
133
|
+
expect(apple_pay_card.expiration_month.to_i).to be > 0
|
134
|
+
expect(apple_pay_card.expiration_year.to_i).to be > 0
|
135
|
+
expect(apple_pay_card.customer_id).to eq(customer.id)
|
136
|
+
expect(apple_pay_card.commercial).not_to be_nil
|
137
|
+
expect(apple_pay_card.country_of_issuance).not_to be_nil
|
138
|
+
expect(apple_pay_card.debit).not_to be_nil
|
139
|
+
expect(apple_pay_card.durbin_regulated).not_to be_nil
|
140
|
+
expect(apple_pay_card.healthcare).not_to be_nil
|
141
|
+
expect(apple_pay_card.issuing_bank).not_to be_nil
|
142
|
+
expect(apple_pay_card.payroll).not_to be_nil
|
143
|
+
expect(apple_pay_card.prepaid).not_to be_nil
|
144
|
+
expect(apple_pay_card.product_id).not_to be_nil
|
145
|
+
expect(apple_pay_card.merchant_token_identifier).not_to be_nil
|
146
|
+
expect(apple_pay_card.source_card_last4).not_to be_nil
|
147
147
|
end
|
148
148
|
|
149
149
|
it "creates a payment method from a fake google pay proxy card nonce" do
|
@@ -155,32 +155,32 @@ describe Braintree::PaymentMethod do
|
|
155
155
|
:token => token,
|
156
156
|
)
|
157
157
|
|
158
|
-
result.
|
158
|
+
expect(result).to be_success
|
159
159
|
google_pay_card = result.payment_method
|
160
|
-
google_pay_card.
|
161
|
-
google_pay_card.
|
162
|
-
google_pay_card.token.
|
163
|
-
google_pay_card.card_type.
|
164
|
-
google_pay_card.virtual_card_type.
|
165
|
-
google_pay_card.expiration_month.to_i.
|
166
|
-
google_pay_card.expiration_year.to_i.
|
167
|
-
google_pay_card.default.
|
168
|
-
google_pay_card.image_url.
|
169
|
-
google_pay_card.is_network_tokenized
|
170
|
-
google_pay_card.source_card_type.
|
171
|
-
google_pay_card.source_card_last_4.
|
172
|
-
google_pay_card.google_transaction_id.
|
173
|
-
google_pay_card.source_description.
|
174
|
-
google_pay_card.customer_id.
|
175
|
-
google_pay_card.commercial.
|
176
|
-
google_pay_card.country_of_issuance.
|
177
|
-
google_pay_card.debit.
|
178
|
-
google_pay_card.durbin_regulated.
|
179
|
-
google_pay_card.healthcare.
|
180
|
-
google_pay_card.issuing_bank.
|
181
|
-
google_pay_card.payroll.
|
182
|
-
google_pay_card.prepaid.
|
183
|
-
google_pay_card.product_id.
|
160
|
+
expect(google_pay_card).to be_a(Braintree::GooglePayCard)
|
161
|
+
expect(google_pay_card).not_to be_nil
|
162
|
+
expect(google_pay_card.token).to eq(token)
|
163
|
+
expect(google_pay_card.card_type).to eq(Braintree::CreditCard::CardType::Discover)
|
164
|
+
expect(google_pay_card.virtual_card_type).to eq(Braintree::CreditCard::CardType::Discover)
|
165
|
+
expect(google_pay_card.expiration_month.to_i).to be > 0
|
166
|
+
expect(google_pay_card.expiration_year.to_i).to be > 0
|
167
|
+
expect(google_pay_card.default).to eq(true)
|
168
|
+
expect(google_pay_card.image_url).to match(/android_pay/)
|
169
|
+
expect(google_pay_card.is_network_tokenized?).to eq(false)
|
170
|
+
expect(google_pay_card.source_card_type).to eq(Braintree::CreditCard::CardType::Discover)
|
171
|
+
expect(google_pay_card.source_card_last_4).to eq("1111")
|
172
|
+
expect(google_pay_card.google_transaction_id).to eq("google_transaction_id")
|
173
|
+
expect(google_pay_card.source_description).to eq("Discover 1111")
|
174
|
+
expect(google_pay_card.customer_id).to eq(customer.id)
|
175
|
+
expect(google_pay_card.commercial).not_to be_nil
|
176
|
+
expect(google_pay_card.country_of_issuance).not_to be_nil
|
177
|
+
expect(google_pay_card.debit).not_to be_nil
|
178
|
+
expect(google_pay_card.durbin_regulated).not_to be_nil
|
179
|
+
expect(google_pay_card.healthcare).not_to be_nil
|
180
|
+
expect(google_pay_card.issuing_bank).not_to be_nil
|
181
|
+
expect(google_pay_card.payroll).not_to be_nil
|
182
|
+
expect(google_pay_card.prepaid).not_to be_nil
|
183
|
+
expect(google_pay_card.product_id).not_to be_nil
|
184
184
|
end
|
185
185
|
|
186
186
|
it "creates a payment method from a google pay network token nonce" do
|
@@ -192,32 +192,32 @@ describe Braintree::PaymentMethod do
|
|
192
192
|
:token => token,
|
193
193
|
)
|
194
194
|
|
195
|
-
result.
|
195
|
+
expect(result).to be_success
|
196
196
|
google_pay_card = result.payment_method
|
197
|
-
google_pay_card.
|
198
|
-
google_pay_card.
|
199
|
-
google_pay_card.token.
|
200
|
-
google_pay_card.card_type.
|
201
|
-
google_pay_card.virtual_card_type.
|
202
|
-
google_pay_card.expiration_month.to_i.
|
203
|
-
google_pay_card.expiration_year.to_i.
|
204
|
-
google_pay_card.default.
|
205
|
-
google_pay_card.image_url.
|
206
|
-
google_pay_card.is_network_tokenized
|
207
|
-
google_pay_card.source_card_type.
|
208
|
-
google_pay_card.source_card_last_4.
|
209
|
-
google_pay_card.google_transaction_id.
|
210
|
-
google_pay_card.source_description.
|
211
|
-
google_pay_card.customer_id.
|
212
|
-
google_pay_card.commercial.
|
213
|
-
google_pay_card.country_of_issuance.
|
214
|
-
google_pay_card.debit.
|
215
|
-
google_pay_card.durbin_regulated.
|
216
|
-
google_pay_card.healthcare.
|
217
|
-
google_pay_card.issuing_bank.
|
218
|
-
google_pay_card.payroll.
|
219
|
-
google_pay_card.prepaid.
|
220
|
-
google_pay_card.product_id.
|
197
|
+
expect(google_pay_card).to be_a(Braintree::GooglePayCard)
|
198
|
+
expect(google_pay_card).not_to be_nil
|
199
|
+
expect(google_pay_card.token).to eq(token)
|
200
|
+
expect(google_pay_card.card_type).to eq(Braintree::CreditCard::CardType::MasterCard)
|
201
|
+
expect(google_pay_card.virtual_card_type).to eq(Braintree::CreditCard::CardType::MasterCard)
|
202
|
+
expect(google_pay_card.expiration_month.to_i).to be > 0
|
203
|
+
expect(google_pay_card.expiration_year.to_i).to be > 0
|
204
|
+
expect(google_pay_card.default).to eq(true)
|
205
|
+
expect(google_pay_card.image_url).to match(/android_pay/)
|
206
|
+
expect(google_pay_card.is_network_tokenized?).to eq(true)
|
207
|
+
expect(google_pay_card.source_card_type).to eq(Braintree::CreditCard::CardType::MasterCard)
|
208
|
+
expect(google_pay_card.source_card_last_4).to eq("4444")
|
209
|
+
expect(google_pay_card.google_transaction_id).to eq("google_transaction_id")
|
210
|
+
expect(google_pay_card.source_description).to eq("MasterCard 4444")
|
211
|
+
expect(google_pay_card.customer_id).to eq(customer.id)
|
212
|
+
expect(google_pay_card.commercial).not_to be_nil
|
213
|
+
expect(google_pay_card.country_of_issuance).not_to be_nil
|
214
|
+
expect(google_pay_card.debit).not_to be_nil
|
215
|
+
expect(google_pay_card.durbin_regulated).not_to be_nil
|
216
|
+
expect(google_pay_card.healthcare).not_to be_nil
|
217
|
+
expect(google_pay_card.issuing_bank).not_to be_nil
|
218
|
+
expect(google_pay_card.payroll).not_to be_nil
|
219
|
+
expect(google_pay_card.prepaid).not_to be_nil
|
220
|
+
expect(google_pay_card.product_id).not_to be_nil
|
221
221
|
end
|
222
222
|
|
223
223
|
it "creates a payment method from venmo account nonce" do
|
@@ -229,17 +229,17 @@ describe Braintree::PaymentMethod do
|
|
229
229
|
:token => token,
|
230
230
|
)
|
231
231
|
|
232
|
-
result.
|
232
|
+
expect(result).to be_success
|
233
233
|
venmo_account = result.payment_method
|
234
|
-
venmo_account.
|
235
|
-
|
236
|
-
venmo_account.default.
|
237
|
-
venmo_account.token.
|
238
|
-
venmo_account.username.
|
239
|
-
venmo_account.venmo_user_id.
|
240
|
-
venmo_account.image_url.
|
241
|
-
venmo_account.source_description.
|
242
|
-
venmo_account.customer_id.
|
234
|
+
expect(venmo_account).to be_a(Braintree::VenmoAccount)
|
235
|
+
|
236
|
+
expect(venmo_account.default).to eq(true)
|
237
|
+
expect(venmo_account.token).to eq(token)
|
238
|
+
expect(venmo_account.username).to eq("venmojoe")
|
239
|
+
expect(venmo_account.venmo_user_id).to eq("1234567891234567891")
|
240
|
+
expect(venmo_account.image_url).to include(".png")
|
241
|
+
expect(venmo_account.source_description).to eq("Venmo Account: venmojoe")
|
242
|
+
expect(venmo_account.customer_id).to eq(customer.id)
|
243
243
|
end
|
244
244
|
|
245
245
|
it "allows passing the make_default option alongside the nonce" do
|
@@ -250,9 +250,9 @@ describe Braintree::PaymentMethod do
|
|
250
250
|
:expiration_date => "05/2009",
|
251
251
|
:cvv => "100",
|
252
252
|
)
|
253
|
-
result.success
|
253
|
+
expect(result.success?).to eq(true)
|
254
254
|
original_payment_method = result.credit_card
|
255
|
-
original_payment_method.
|
255
|
+
expect(original_payment_method).to be_default
|
256
256
|
|
257
257
|
nonce = nonce_for_paypal_account(:consent_code => "PAYPAL_CONSENT_CODE")
|
258
258
|
result = Braintree::PaymentMethod.create(
|
@@ -261,9 +261,9 @@ describe Braintree::PaymentMethod do
|
|
261
261
|
:options => {:make_default => true},
|
262
262
|
)
|
263
263
|
|
264
|
-
result.
|
264
|
+
expect(result).to be_success
|
265
265
|
new_payment_method = result.payment_method
|
266
|
-
new_payment_method.
|
266
|
+
expect(new_payment_method).to be_default
|
267
267
|
end
|
268
268
|
|
269
269
|
it "overrides the token in the nonce" do
|
@@ -281,9 +281,9 @@ describe Braintree::PaymentMethod do
|
|
281
281
|
:token => second_token,
|
282
282
|
)
|
283
283
|
|
284
|
-
result.
|
284
|
+
expect(result).to be_success
|
285
285
|
payment_method = result.payment_method
|
286
|
-
payment_method.token.
|
286
|
+
expect(payment_method.token).to eq(second_token)
|
287
287
|
end
|
288
288
|
|
289
289
|
it "respects verify_card and verification_merchant_account_id when included outside of the nonce" do
|
@@ -304,11 +304,11 @@ describe Braintree::PaymentMethod do
|
|
304
304
|
},
|
305
305
|
)
|
306
306
|
|
307
|
-
result.
|
308
|
-
result.credit_card_verification.status.
|
309
|
-
result.credit_card_verification.processor_response_code.
|
310
|
-
result.credit_card_verification.processor_response_text.
|
311
|
-
result.credit_card_verification.merchant_account_id.
|
307
|
+
expect(result).not_to be_success
|
308
|
+
expect(result.credit_card_verification.status).to eq(Braintree::Transaction::Status::ProcessorDeclined)
|
309
|
+
expect(result.credit_card_verification.processor_response_code).to eq("2000")
|
310
|
+
expect(result.credit_card_verification.processor_response_text).to eq("Do Not Honor")
|
311
|
+
expect(result.credit_card_verification.merchant_account_id).to eq(SpecHelper::NonDefaultMerchantAccountId)
|
312
312
|
end
|
313
313
|
|
314
314
|
it "respects verification amount when included outside of the nonce" do
|
@@ -329,11 +329,11 @@ describe Braintree::PaymentMethod do
|
|
329
329
|
},
|
330
330
|
)
|
331
331
|
|
332
|
-
result.
|
333
|
-
result.credit_card_verification.status.
|
334
|
-
result.credit_card_verification.processor_response_code.
|
335
|
-
result.credit_card_verification.processor_response_text.
|
336
|
-
result.credit_card_verification.amount.
|
332
|
+
expect(result).not_to be_success
|
333
|
+
expect(result.credit_card_verification.status).to eq(Braintree::Transaction::Status::ProcessorDeclined)
|
334
|
+
expect(result.credit_card_verification.processor_response_code).to eq("2000")
|
335
|
+
expect(result.credit_card_verification.processor_response_text).to eq("Do Not Honor")
|
336
|
+
expect(result.credit_card_verification.amount).to eq(BigDecimal("100.00"))
|
337
337
|
end
|
338
338
|
|
339
339
|
it "validates presence of three_d_secure_version in 3ds pass thru params" do
|
@@ -387,18 +387,18 @@ describe Braintree::PaymentMethod do
|
|
387
387
|
:options => {:verify_card => true},
|
388
388
|
:customer_id => customer.id,
|
389
389
|
)
|
390
|
-
result.success
|
390
|
+
expect(result.success?).to eq(true)
|
391
391
|
|
392
392
|
three_d_secure_info = result.payment_method.verification.three_d_secure_info
|
393
|
-
three_d_secure_info.enrolled.
|
394
|
-
three_d_secure_info.
|
395
|
-
three_d_secure_info.
|
396
|
-
three_d_secure_info.status.
|
397
|
-
three_d_secure_info.cavv.
|
398
|
-
three_d_secure_info.xid.
|
399
|
-
three_d_secure_info.eci_flag.
|
400
|
-
three_d_secure_info.three_d_secure_version.
|
401
|
-
three_d_secure_info.ds_transaction_id.
|
393
|
+
expect(three_d_secure_info.enrolled).to eq("Y")
|
394
|
+
expect(three_d_secure_info).to be_liability_shifted
|
395
|
+
expect(three_d_secure_info).to be_liability_shift_possible
|
396
|
+
expect(three_d_secure_info.status).to eq("authenticate_successful")
|
397
|
+
expect(three_d_secure_info.cavv).to eq("cavv_value")
|
398
|
+
expect(three_d_secure_info.xid).to eq("xid_value")
|
399
|
+
expect(three_d_secure_info.eci_flag).to eq("05")
|
400
|
+
expect(three_d_secure_info.three_d_secure_version).to eq("1.0.2")
|
401
|
+
expect(three_d_secure_info.ds_transaction_id).to eq(nil)
|
402
402
|
end
|
403
403
|
|
404
404
|
it "respects fail_on_duplicate_payment_method when included outside of the nonce" do
|
@@ -408,7 +408,7 @@ describe Braintree::PaymentMethod do
|
|
408
408
|
:number => Braintree::Test::CreditCardNumbers::Visa,
|
409
409
|
:expiration_date => "05/2012",
|
410
410
|
)
|
411
|
-
result.
|
411
|
+
expect(result).to be_success
|
412
412
|
|
413
413
|
nonce = nonce_for_new_payment_method(
|
414
414
|
:credit_card => {
|
@@ -424,8 +424,8 @@ describe Braintree::PaymentMethod do
|
|
424
424
|
},
|
425
425
|
)
|
426
426
|
|
427
|
-
result.
|
428
|
-
result.errors.first.code.
|
427
|
+
expect(result).not_to be_success
|
428
|
+
expect(result.errors.first.code).to eq("81724")
|
429
429
|
end
|
430
430
|
|
431
431
|
it "allows passing the billing address outside of the nonce" do
|
@@ -447,7 +447,7 @@ describe Braintree::PaymentMethod do
|
|
447
447
|
:expirationYear => "2020",
|
448
448
|
:options => {:validate => false},
|
449
449
|
)
|
450
|
-
response.code.
|
450
|
+
expect(response.code).to eq("202")
|
451
451
|
|
452
452
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
453
453
|
result = Braintree::PaymentMethod.create(
|
@@ -458,13 +458,13 @@ describe Braintree::PaymentMethod do
|
|
458
458
|
},
|
459
459
|
)
|
460
460
|
|
461
|
-
result.
|
462
|
-
result.payment_method.
|
461
|
+
expect(result).to be_success
|
462
|
+
expect(result.payment_method).to be_a(Braintree::CreditCard)
|
463
463
|
token = result.payment_method.token
|
464
464
|
|
465
465
|
found_credit_card = Braintree::CreditCard.find(token)
|
466
|
-
found_credit_card.
|
467
|
-
found_credit_card.billing_address.street_address.
|
466
|
+
expect(found_credit_card).not_to be_nil
|
467
|
+
expect(found_credit_card.billing_address.street_address).to eq("123 Abc Way")
|
468
468
|
end
|
469
469
|
|
470
470
|
it "allows passing a billing address id outside of the nonce" do
|
@@ -486,7 +486,7 @@ describe Braintree::PaymentMethod do
|
|
486
486
|
:expirationYear => "2020",
|
487
487
|
:options => {:validate => false},
|
488
488
|
)
|
489
|
-
response.code.
|
489
|
+
expect(response.code).to eq("202")
|
490
490
|
|
491
491
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
492
492
|
|
@@ -497,14 +497,14 @@ describe Braintree::PaymentMethod do
|
|
497
497
|
:billing_address_id => address.id,
|
498
498
|
)
|
499
499
|
|
500
|
-
result.
|
501
|
-
result.payment_method.
|
500
|
+
expect(result).to be_success
|
501
|
+
expect(result.payment_method).to be_a(Braintree::CreditCard)
|
502
502
|
token = result.payment_method.token
|
503
503
|
|
504
504
|
found_credit_card = Braintree::CreditCard.find(token)
|
505
|
-
found_credit_card.
|
506
|
-
found_credit_card.billing_address.first_name.
|
507
|
-
found_credit_card.billing_address.last_name.
|
505
|
+
expect(found_credit_card).not_to be_nil
|
506
|
+
expect(found_credit_card.billing_address.first_name).to eq("Bobby")
|
507
|
+
expect(found_credit_card.billing_address.last_name).to eq("Tables")
|
508
508
|
end
|
509
509
|
|
510
510
|
it "overrides the billing address in the nonce" do
|
@@ -529,7 +529,7 @@ describe Braintree::PaymentMethod do
|
|
529
529
|
:street_address => "456 Xyz Way"
|
530
530
|
},
|
531
531
|
)
|
532
|
-
response.code.
|
532
|
+
expect(response.code).to eq("202")
|
533
533
|
|
534
534
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
535
535
|
result = Braintree::PaymentMethod.create(
|
@@ -540,13 +540,13 @@ describe Braintree::PaymentMethod do
|
|
540
540
|
},
|
541
541
|
)
|
542
542
|
|
543
|
-
result.
|
544
|
-
result.payment_method.
|
543
|
+
expect(result).to be_success
|
544
|
+
expect(result.payment_method).to be_a(Braintree::CreditCard)
|
545
545
|
token = result.payment_method.token
|
546
546
|
|
547
547
|
found_credit_card = Braintree::CreditCard.find(token)
|
548
|
-
found_credit_card.
|
549
|
-
found_credit_card.billing_address.street_address.
|
548
|
+
expect(found_credit_card).not_to be_nil
|
549
|
+
expect(found_credit_card.billing_address.street_address).to eq("123 Abc Way")
|
550
550
|
end
|
551
551
|
|
552
552
|
it "does not override the billing address for a vaulted credit card" do
|
@@ -570,7 +570,7 @@ describe Braintree::PaymentMethod do
|
|
570
570
|
:street_address => "456 Xyz Way"
|
571
571
|
},
|
572
572
|
)
|
573
|
-
response.code.
|
573
|
+
expect(response.code).to eq("201")
|
574
574
|
|
575
575
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
576
576
|
result = Braintree::PaymentMethod.create(
|
@@ -581,13 +581,13 @@ describe Braintree::PaymentMethod do
|
|
581
581
|
},
|
582
582
|
)
|
583
583
|
|
584
|
-
result.
|
585
|
-
result.payment_method.
|
584
|
+
expect(result).to be_success
|
585
|
+
expect(result.payment_method).to be_a(Braintree::CreditCard)
|
586
586
|
token = result.payment_method.token
|
587
587
|
|
588
588
|
found_credit_card = Braintree::CreditCard.find(token)
|
589
|
-
found_credit_card.
|
590
|
-
found_credit_card.billing_address.street_address.
|
589
|
+
expect(found_credit_card).not_to be_nil
|
590
|
+
expect(found_credit_card.billing_address.street_address).to eq("456 Xyz Way")
|
591
591
|
end
|
592
592
|
|
593
593
|
it "includes risk data when skip_advanced_fraud_checking is false" do
|
@@ -662,8 +662,8 @@ describe Braintree::PaymentMethod do
|
|
662
662
|
},
|
663
663
|
)
|
664
664
|
|
665
|
-
result.
|
666
|
-
result.payment_method.verification.credit_card[:account_type].
|
665
|
+
expect(result).to be_success
|
666
|
+
expect(result.payment_method.verification.credit_card[:account_type]).to eq("debit")
|
667
667
|
end
|
668
668
|
|
669
669
|
it "verifies card with account_type credit" do
|
@@ -685,8 +685,8 @@ describe Braintree::PaymentMethod do
|
|
685
685
|
},
|
686
686
|
)
|
687
687
|
|
688
|
-
result.
|
689
|
-
result.payment_method.verification.credit_card[:account_type].
|
688
|
+
expect(result).to be_success
|
689
|
+
expect(result.payment_method.verification.credit_card[:account_type]).to eq("credit")
|
690
690
|
end
|
691
691
|
|
692
692
|
it "errors with invalid account_type" do
|
@@ -708,8 +708,8 @@ describe Braintree::PaymentMethod do
|
|
708
708
|
},
|
709
709
|
)
|
710
710
|
|
711
|
-
result.
|
712
|
-
result.errors.for(:credit_card).for(:options).on(:verification_account_type)[0].code.
|
711
|
+
expect(result).not_to be_success
|
712
|
+
expect(result.errors.for(:credit_card).for(:options).on(:verification_account_type)[0].code).to eq(Braintree::ErrorCodes::CreditCard::VerificationAccountTypeIsInvalid)
|
713
713
|
end
|
714
714
|
|
715
715
|
it "errors when account_type not supported by merchant" do
|
@@ -730,8 +730,8 @@ describe Braintree::PaymentMethod do
|
|
730
730
|
},
|
731
731
|
)
|
732
732
|
|
733
|
-
result.
|
734
|
-
result.errors.for(:credit_card).for(:options).on(:verification_account_type)[0].code.
|
733
|
+
expect(result).not_to be_success
|
734
|
+
expect(result.errors.for(:credit_card).for(:options).on(:verification_account_type)[0].code).to eq(Braintree::ErrorCodes::CreditCard::VerificationAccountTypeNotSupported)
|
735
735
|
end
|
736
736
|
|
737
737
|
it "updates the credit card with account_type credit" do
|
@@ -754,8 +754,8 @@ describe Braintree::PaymentMethod do
|
|
754
754
|
:verification_account_type => "credit",
|
755
755
|
},
|
756
756
|
)
|
757
|
-
update_result.success
|
758
|
-
update_result.payment_method.verification.credit_card[:account_type].
|
757
|
+
expect(update_result.success?).to eq(true)
|
758
|
+
expect(update_result.payment_method.verification.credit_card[:account_type]).to eq("credit")
|
759
759
|
end
|
760
760
|
|
761
761
|
it "updates the credit card with account_type debit" do
|
@@ -778,8 +778,8 @@ describe Braintree::PaymentMethod do
|
|
778
778
|
:verification_account_type => "debit",
|
779
779
|
},
|
780
780
|
)
|
781
|
-
update_result.success
|
782
|
-
update_result.payment_method.verification.credit_card[:account_type].
|
781
|
+
expect(update_result.success?).to eq(true)
|
782
|
+
expect(update_result.payment_method.verification.credit_card[:account_type]).to eq("debit")
|
783
783
|
end
|
784
784
|
end
|
785
785
|
|
@@ -792,13 +792,13 @@ describe Braintree::PaymentMethod do
|
|
792
792
|
:customer_id => customer.id,
|
793
793
|
)
|
794
794
|
|
795
|
-
result.
|
796
|
-
result.payment_method.
|
797
|
-
result.payment_method.image_url.
|
795
|
+
expect(result).to be_success
|
796
|
+
expect(result.payment_method).to be_a(Braintree::PayPalAccount)
|
797
|
+
expect(result.payment_method.image_url).not_to be_nil
|
798
798
|
token = result.payment_method.token
|
799
799
|
|
800
800
|
found_paypal_account = Braintree::PayPalAccount.find(token)
|
801
|
-
found_paypal_account.
|
801
|
+
expect(found_paypal_account).not_to be_nil
|
802
802
|
end
|
803
803
|
|
804
804
|
it "creates a limited use payment method from a paypal account nonce for a paypal intent==order payment" do
|
@@ -831,15 +831,15 @@ describe Braintree::PaymentMethod do
|
|
831
831
|
},
|
832
832
|
)
|
833
833
|
|
834
|
-
result.
|
835
|
-
result.payment_method.
|
836
|
-
result.payment_method.image_url.
|
837
|
-
result.payment_method.payer_id.
|
834
|
+
expect(result).to be_success
|
835
|
+
expect(result.payment_method).to be_a(Braintree::PayPalAccount)
|
836
|
+
expect(result.payment_method.image_url).not_to be_nil
|
837
|
+
expect(result.payment_method.payer_id).not_to be_nil
|
838
838
|
token = result.payment_method.token
|
839
839
|
|
840
840
|
found_paypal_account = Braintree::PayPalAccount.find(token)
|
841
|
-
found_paypal_account.
|
842
|
-
found_paypal_account.payer_id.
|
841
|
+
expect(found_paypal_account).not_to be_nil
|
842
|
+
expect(found_paypal_account.payer_id).not_to be_nil
|
843
843
|
end
|
844
844
|
|
845
845
|
it "creates a billing agreement payment method from a refresh token" do
|
@@ -849,16 +849,16 @@ describe Braintree::PaymentMethod do
|
|
849
849
|
:paypal_refresh_token => "some_future_payment_token",
|
850
850
|
)
|
851
851
|
|
852
|
-
result.
|
853
|
-
result.payment_method.
|
854
|
-
result.payment_method.billing_agreement_id.
|
855
|
-
result.payment_method.payer_id.
|
852
|
+
expect(result).to be_success
|
853
|
+
expect(result.payment_method).to be_a(Braintree::PayPalAccount)
|
854
|
+
expect(result.payment_method.billing_agreement_id).to eq("B_FAKE_ID")
|
855
|
+
expect(result.payment_method.payer_id).not_to be_nil
|
856
856
|
token = result.payment_method.token
|
857
857
|
|
858
858
|
found_paypal_account = Braintree::PayPalAccount.find(token)
|
859
|
-
found_paypal_account.
|
860
|
-
found_paypal_account.billing_agreement_id.
|
861
|
-
found_paypal_account.payer_id.
|
859
|
+
expect(found_paypal_account).not_to be_nil
|
860
|
+
expect(found_paypal_account.billing_agreement_id).to eq("B_FAKE_ID")
|
861
|
+
expect(found_paypal_account.payer_id).not_to be_nil
|
862
862
|
end
|
863
863
|
|
864
864
|
it "does not create a payment method from an unvalidated onetime paypal account nonce" do
|
@@ -869,8 +869,8 @@ describe Braintree::PaymentMethod do
|
|
869
869
|
:customer_id => customer.id,
|
870
870
|
)
|
871
871
|
|
872
|
-
result.
|
873
|
-
result.errors.first.code.
|
872
|
+
expect(result).not_to be_success
|
873
|
+
expect(result.errors.first.code).to eq("82902")
|
874
874
|
end
|
875
875
|
|
876
876
|
it "ignores passed billing address params" do
|
@@ -884,13 +884,13 @@ describe Braintree::PaymentMethod do
|
|
884
884
|
},
|
885
885
|
)
|
886
886
|
|
887
|
-
result.
|
888
|
-
result.payment_method.
|
889
|
-
result.payment_method.image_url.
|
887
|
+
expect(result).to be_success
|
888
|
+
expect(result.payment_method).to be_a(Braintree::PayPalAccount)
|
889
|
+
expect(result.payment_method.image_url).not_to be_nil
|
890
890
|
token = result.payment_method.token
|
891
891
|
|
892
892
|
found_paypal_account = Braintree::PayPalAccount.find(token)
|
893
|
-
found_paypal_account.
|
893
|
+
expect(found_paypal_account).not_to be_nil
|
894
894
|
end
|
895
895
|
|
896
896
|
it "ignores passed billing address id" do
|
@@ -902,13 +902,13 @@ describe Braintree::PaymentMethod do
|
|
902
902
|
:billing_address_id => "address_id",
|
903
903
|
)
|
904
904
|
|
905
|
-
result.
|
906
|
-
result.payment_method.
|
907
|
-
result.payment_method.image_url.
|
905
|
+
expect(result).to be_success
|
906
|
+
expect(result.payment_method).to be_a(Braintree::PayPalAccount)
|
907
|
+
expect(result.payment_method.image_url).not_to be_nil
|
908
908
|
token = result.payment_method.token
|
909
909
|
|
910
910
|
found_paypal_account = Braintree::PayPalAccount.find(token)
|
911
|
-
found_paypal_account.
|
911
|
+
expect(found_paypal_account).not_to be_nil
|
912
912
|
end
|
913
913
|
|
914
914
|
it "returns appropriate validation errors" do
|
@@ -919,10 +919,10 @@ describe Braintree::PaymentMethod do
|
|
919
919
|
:customer_id => customer.id,
|
920
920
|
)
|
921
921
|
|
922
|
-
result.
|
922
|
+
expect(result).not_to be_success
|
923
923
|
errors = result.errors.map(&:code)
|
924
|
-
errors.
|
925
|
-
errors.
|
924
|
+
expect(errors).to include("82901")
|
925
|
+
expect(errors).to include("82902")
|
926
926
|
end
|
927
927
|
|
928
928
|
it "doesn't return an error if credit card options are present for a paypal nonce" do
|
@@ -943,7 +943,7 @@ describe Braintree::PaymentMethod do
|
|
943
943
|
},
|
944
944
|
)
|
945
945
|
|
946
|
-
result.
|
946
|
+
expect(result).to be_success
|
947
947
|
end
|
948
948
|
end
|
949
949
|
|
@@ -957,11 +957,11 @@ describe Braintree::PaymentMethod do
|
|
957
957
|
:token => token,
|
958
958
|
)
|
959
959
|
|
960
|
-
result.
|
960
|
+
expect(result).to be_success
|
961
961
|
payment_method = result.payment_method
|
962
|
-
payment_method.
|
963
|
-
payment_method.token.
|
964
|
-
payment_method.
|
962
|
+
expect(payment_method).not_to be_nil
|
963
|
+
expect(payment_method.token).to eq(token)
|
964
|
+
expect(payment_method).to be_a Braintree::UnknownPaymentMethod
|
965
965
|
end
|
966
966
|
end
|
967
967
|
|
@@ -984,7 +984,7 @@ describe Braintree::PaymentMethod do
|
|
984
984
|
},
|
985
985
|
)
|
986
986
|
|
987
|
-
result.
|
987
|
+
expect(result).to be_success
|
988
988
|
result.payment_method.verification.currency_iso_code == "USD"
|
989
989
|
end
|
990
990
|
|
@@ -1007,7 +1007,7 @@ describe Braintree::PaymentMethod do
|
|
1007
1007
|
},
|
1008
1008
|
)
|
1009
1009
|
|
1010
|
-
result.
|
1010
|
+
expect(result).to be_success
|
1011
1011
|
result.payment_method.verification.currency_iso_code == "USD"
|
1012
1012
|
result.payment_method.verification.merchant_account_id == SpecHelper::NonDefaultMerchantAccountId
|
1013
1013
|
end
|
@@ -1030,8 +1030,8 @@ describe Braintree::PaymentMethod do
|
|
1030
1030
|
:verification_currency_iso_code => "GBP"
|
1031
1031
|
},
|
1032
1032
|
)
|
1033
|
-
result.
|
1034
|
-
result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code.
|
1033
|
+
expect(result).not_to be_success
|
1034
|
+
expect(result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code).to eq(Braintree::ErrorCodes::CreditCard::CurrencyCodeNotSupportedByMerchantAccount)
|
1035
1035
|
end
|
1036
1036
|
|
1037
1037
|
it "errors with invalid presentment currency due to verification_currency_iso_code not matching with currency configured in verification_merchant_account_id" do
|
@@ -1053,8 +1053,8 @@ describe Braintree::PaymentMethod do
|
|
1053
1053
|
},
|
1054
1054
|
)
|
1055
1055
|
|
1056
|
-
result.
|
1057
|
-
result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code.
|
1056
|
+
expect(result).not_to be_success
|
1057
|
+
expect(result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code).to eq(Braintree::ErrorCodes::CreditCard::CurrencyCodeNotSupportedByMerchantAccount)
|
1058
1058
|
end
|
1059
1059
|
end
|
1060
1060
|
end
|
@@ -1078,7 +1078,7 @@ describe Braintree::PaymentMethod do
|
|
1078
1078
|
:expirationMonth => 12,
|
1079
1079
|
:expirationYear => 2020,
|
1080
1080
|
)
|
1081
|
-
response.code.
|
1081
|
+
expect(response.code).to eq("201")
|
1082
1082
|
|
1083
1083
|
nonce = JSON.parse(response.body)["creditCards"].first["nonce"]
|
1084
1084
|
payment_method = Braintree::PaymentMethod.create!(
|
@@ -1086,11 +1086,11 @@ describe Braintree::PaymentMethod do
|
|
1086
1086
|
:customer_id => customer.id,
|
1087
1087
|
)
|
1088
1088
|
|
1089
|
-
payment_method.
|
1089
|
+
expect(payment_method).to be_a(Braintree::CreditCard)
|
1090
1090
|
token = payment_method.token
|
1091
1091
|
|
1092
1092
|
found_credit_card = Braintree::CreditCard.find(token)
|
1093
|
-
found_credit_card.
|
1093
|
+
expect(found_credit_card).not_to be_nil
|
1094
1094
|
end
|
1095
1095
|
end
|
1096
1096
|
|
@@ -1103,13 +1103,13 @@ describe Braintree::PaymentMethod do
|
|
1103
1103
|
:number => Braintree::Test::CreditCardNumbers::Visa,
|
1104
1104
|
:expiration_date => "05/2012",
|
1105
1105
|
)
|
1106
|
-
result.success
|
1106
|
+
expect(result.success?).to eq(true)
|
1107
1107
|
|
1108
1108
|
credit_card = Braintree::PaymentMethod.find(result.credit_card.token)
|
1109
|
-
credit_card.bin.
|
1110
|
-
credit_card.last_4.
|
1111
|
-
credit_card.token.
|
1112
|
-
credit_card.expiration_date.
|
1109
|
+
expect(credit_card.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
|
1110
|
+
expect(credit_card.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
|
1111
|
+
expect(credit_card.token).to eq(result.credit_card.token)
|
1112
|
+
expect(credit_card.expiration_date).to eq("05/2012")
|
1113
1113
|
end
|
1114
1114
|
|
1115
1115
|
it "returns associated subscriptions with the credit card" do
|
@@ -1127,10 +1127,10 @@ describe Braintree::PaymentMethod do
|
|
1127
1127
|
).subscription
|
1128
1128
|
|
1129
1129
|
found_card = Braintree::PaymentMethod.find(credit_card.token)
|
1130
|
-
found_card.subscriptions.first.id.
|
1131
|
-
found_card.subscriptions.first.plan_id.
|
1132
|
-
found_card.subscriptions.first.payment_method_token.
|
1133
|
-
found_card.subscriptions.first.price.
|
1130
|
+
expect(found_card.subscriptions.first.id).to eq(subscription.id)
|
1131
|
+
expect(found_card.subscriptions.first.plan_id).to eq("integration_trialless_plan")
|
1132
|
+
expect(found_card.subscriptions.first.payment_method_token).to eq(credit_card.token)
|
1133
|
+
expect(found_card.subscriptions.first.price).to eq(BigDecimal("1.00"))
|
1134
1134
|
end
|
1135
1135
|
end
|
1136
1136
|
|
@@ -1146,13 +1146,13 @@ describe Braintree::PaymentMethod do
|
|
1146
1146
|
:payment_method_nonce => nonce,
|
1147
1147
|
:customer_id => customer.id,
|
1148
1148
|
)
|
1149
|
-
result.
|
1149
|
+
expect(result).to be_success
|
1150
1150
|
|
1151
1151
|
paypal_account = Braintree::PaymentMethod.find(payment_method_token)
|
1152
|
-
paypal_account.
|
1153
|
-
paypal_account.token.
|
1154
|
-
paypal_account.email.
|
1155
|
-
paypal_account.customer_id.
|
1152
|
+
expect(paypal_account).to be_a(Braintree::PayPalAccount)
|
1153
|
+
expect(paypal_account.token).to eq(payment_method_token)
|
1154
|
+
expect(paypal_account.email).to eq("jane.doe@example.com")
|
1155
|
+
expect(paypal_account.customer_id).to eq(customer.id)
|
1156
1156
|
end
|
1157
1157
|
end
|
1158
1158
|
|
@@ -1165,19 +1165,19 @@ describe Braintree::PaymentMethod do
|
|
1165
1165
|
:customer_id => customer.id,
|
1166
1166
|
:token => payment_method_token,
|
1167
1167
|
)
|
1168
|
-
result.
|
1168
|
+
expect(result).to be_success
|
1169
1169
|
|
1170
1170
|
apple_pay_card = Braintree::PaymentMethod.find(payment_method_token)
|
1171
|
-
apple_pay_card.
|
1172
|
-
apple_pay_card.
|
1173
|
-
apple_pay_card.token.
|
1174
|
-
apple_pay_card.card_type.
|
1175
|
-
apple_pay_card.default.
|
1176
|
-
apple_pay_card.image_url.
|
1177
|
-
apple_pay_card.expiration_month.to_i.
|
1178
|
-
apple_pay_card.expiration_year.to_i.
|
1179
|
-
apple_pay_card.source_description.
|
1180
|
-
apple_pay_card.customer_id.
|
1171
|
+
expect(apple_pay_card).to be_a(Braintree::ApplePayCard)
|
1172
|
+
expect(apple_pay_card).not_to be_nil
|
1173
|
+
expect(apple_pay_card.token).to eq(payment_method_token)
|
1174
|
+
expect(apple_pay_card.card_type).to eq(Braintree::ApplePayCard::CardType::AmEx)
|
1175
|
+
expect(apple_pay_card.default).to eq(true)
|
1176
|
+
expect(apple_pay_card.image_url).to match(/apple_pay/)
|
1177
|
+
expect(apple_pay_card.expiration_month.to_i).to be > 0
|
1178
|
+
expect(apple_pay_card.expiration_year.to_i).to be > 0
|
1179
|
+
expect(apple_pay_card.source_description).to eq("AmEx 41002")
|
1180
|
+
expect(apple_pay_card.customer_id).to eq(customer.id)
|
1181
1181
|
end
|
1182
1182
|
|
1183
1183
|
it "finds the payment method with the given mpan token" do
|
@@ -1188,19 +1188,19 @@ describe Braintree::PaymentMethod do
|
|
1188
1188
|
:customer_id => customer.id,
|
1189
1189
|
:token => payment_method_token,
|
1190
1190
|
)
|
1191
|
-
result.
|
1191
|
+
expect(result).to be_success
|
1192
1192
|
|
1193
1193
|
apple_pay_card = Braintree::PaymentMethod.find(payment_method_token)
|
1194
|
-
apple_pay_card.
|
1195
|
-
apple_pay_card.
|
1196
|
-
apple_pay_card.token.
|
1197
|
-
apple_pay_card.card_type.
|
1198
|
-
apple_pay_card.default.
|
1199
|
-
apple_pay_card.image_url.
|
1200
|
-
apple_pay_card.expiration_month.to_i.
|
1201
|
-
apple_pay_card.expiration_year.to_i.
|
1202
|
-
apple_pay_card.source_description.
|
1203
|
-
apple_pay_card.customer_id.
|
1194
|
+
expect(apple_pay_card).to be_a(Braintree::ApplePayCard)
|
1195
|
+
expect(apple_pay_card).not_to be_nil
|
1196
|
+
expect(apple_pay_card.token).to eq(payment_method_token)
|
1197
|
+
expect(apple_pay_card.card_type).to eq(Braintree::ApplePayCard::CardType::Visa)
|
1198
|
+
expect(apple_pay_card.default).to eq(true)
|
1199
|
+
expect(apple_pay_card.image_url).to match(/apple_pay/)
|
1200
|
+
expect(apple_pay_card.expiration_month.to_i).to be > 0
|
1201
|
+
expect(apple_pay_card.expiration_year.to_i).to be > 0
|
1202
|
+
expect(apple_pay_card.source_description).to eq("Visa 8886")
|
1203
|
+
expect(apple_pay_card.customer_id).to eq(customer.id)
|
1204
1204
|
apple_pay_card.merchant_token_identifier == "DNITHE302308980427388297"
|
1205
1205
|
apple_pay_card.source_card_last4 == "2006"
|
1206
1206
|
end
|
@@ -1215,18 +1215,18 @@ describe Braintree::PaymentMethod do
|
|
1215
1215
|
:customer_id => customer.id,
|
1216
1216
|
:token => payment_method_token,
|
1217
1217
|
)
|
1218
|
-
result.
|
1218
|
+
expect(result).to be_success
|
1219
1219
|
|
1220
1220
|
venmo_account = Braintree::PaymentMethod.find(payment_method_token)
|
1221
|
-
venmo_account.
|
1222
|
-
venmo_account.
|
1223
|
-
venmo_account.token.
|
1224
|
-
venmo_account.default.
|
1225
|
-
venmo_account.image_url.
|
1226
|
-
venmo_account.username.
|
1227
|
-
venmo_account.venmo_user_id.
|
1228
|
-
venmo_account.source_description.
|
1229
|
-
venmo_account.customer_id.
|
1221
|
+
expect(venmo_account).to be_a(Braintree::VenmoAccount)
|
1222
|
+
expect(venmo_account).not_to be_nil
|
1223
|
+
expect(venmo_account.token).to eq(payment_method_token)
|
1224
|
+
expect(venmo_account.default).to eq(true)
|
1225
|
+
expect(venmo_account.image_url).to match(/venmo/)
|
1226
|
+
expect(venmo_account.username).to eq("venmojoe")
|
1227
|
+
expect(venmo_account.venmo_user_id).to eq("1234567891234567891")
|
1228
|
+
expect(venmo_account.source_description).to eq("Venmo Account: venmojoe")
|
1229
|
+
expect(venmo_account.customer_id).to eq(customer.id)
|
1230
1230
|
end
|
1231
1231
|
end
|
1232
1232
|
|
@@ -1239,24 +1239,24 @@ describe Braintree::PaymentMethod do
|
|
1239
1239
|
:customer_id => customer.id,
|
1240
1240
|
:token => payment_method_token,
|
1241
1241
|
)
|
1242
|
-
result.
|
1242
|
+
expect(result).to be_success
|
1243
1243
|
|
1244
1244
|
google_pay_card = Braintree::PaymentMethod.find(payment_method_token)
|
1245
|
-
google_pay_card.
|
1246
|
-
google_pay_card.
|
1247
|
-
google_pay_card.token.
|
1248
|
-
google_pay_card.card_type.
|
1249
|
-
google_pay_card.virtual_card_type.
|
1250
|
-
google_pay_card.expiration_month.to_i.
|
1251
|
-
google_pay_card.expiration_year.to_i.
|
1252
|
-
google_pay_card.default.
|
1253
|
-
google_pay_card.image_url.
|
1254
|
-
google_pay_card.is_network_tokenized
|
1255
|
-
google_pay_card.source_card_type.
|
1256
|
-
google_pay_card.source_card_last_4.
|
1257
|
-
google_pay_card.google_transaction_id.
|
1258
|
-
google_pay_card.source_description.
|
1259
|
-
google_pay_card.customer_id.
|
1245
|
+
expect(google_pay_card).to be_a(Braintree::GooglePayCard)
|
1246
|
+
expect(google_pay_card).not_to be_nil
|
1247
|
+
expect(google_pay_card.token).to eq(payment_method_token)
|
1248
|
+
expect(google_pay_card.card_type).to eq(Braintree::CreditCard::CardType::Discover)
|
1249
|
+
expect(google_pay_card.virtual_card_type).to eq(Braintree::CreditCard::CardType::Discover)
|
1250
|
+
expect(google_pay_card.expiration_month.to_i).to be > 0
|
1251
|
+
expect(google_pay_card.expiration_year.to_i).to be > 0
|
1252
|
+
expect(google_pay_card.default).to eq(true)
|
1253
|
+
expect(google_pay_card.image_url).to match(/android_pay/)
|
1254
|
+
expect(google_pay_card.is_network_tokenized?).to eq(false)
|
1255
|
+
expect(google_pay_card.source_card_type).to eq(Braintree::CreditCard::CardType::Discover)
|
1256
|
+
expect(google_pay_card.source_card_last_4).to eq("1111")
|
1257
|
+
expect(google_pay_card.google_transaction_id).to eq("google_transaction_id")
|
1258
|
+
expect(google_pay_card.source_description).to eq("Discover 1111")
|
1259
|
+
expect(google_pay_card.customer_id).to eq(customer.id)
|
1260
1260
|
end
|
1261
1261
|
|
1262
1262
|
it "finds the network token payment method with the given token" do
|
@@ -1267,24 +1267,24 @@ describe Braintree::PaymentMethod do
|
|
1267
1267
|
:customer_id => customer.id,
|
1268
1268
|
:token => payment_method_token,
|
1269
1269
|
)
|
1270
|
-
result.
|
1270
|
+
expect(result).to be_success
|
1271
1271
|
|
1272
1272
|
google_pay_card = Braintree::PaymentMethod.find(payment_method_token)
|
1273
|
-
google_pay_card.
|
1274
|
-
google_pay_card.
|
1275
|
-
google_pay_card.token.
|
1276
|
-
google_pay_card.card_type.
|
1277
|
-
google_pay_card.virtual_card_type.
|
1278
|
-
google_pay_card.expiration_month.to_i.
|
1279
|
-
google_pay_card.expiration_year.to_i.
|
1280
|
-
google_pay_card.default.
|
1281
|
-
google_pay_card.image_url.
|
1282
|
-
google_pay_card.is_network_tokenized
|
1283
|
-
google_pay_card.source_card_type.
|
1284
|
-
google_pay_card.source_card_last_4.
|
1285
|
-
google_pay_card.google_transaction_id.
|
1286
|
-
google_pay_card.source_description.
|
1287
|
-
google_pay_card.customer_id.
|
1273
|
+
expect(google_pay_card).to be_a(Braintree::GooglePayCard)
|
1274
|
+
expect(google_pay_card).not_to be_nil
|
1275
|
+
expect(google_pay_card.token).to eq(payment_method_token)
|
1276
|
+
expect(google_pay_card.card_type).to eq(Braintree::CreditCard::CardType::MasterCard)
|
1277
|
+
expect(google_pay_card.virtual_card_type).to eq(Braintree::CreditCard::CardType::MasterCard)
|
1278
|
+
expect(google_pay_card.expiration_month.to_i).to be > 0
|
1279
|
+
expect(google_pay_card.expiration_year.to_i).to be > 0
|
1280
|
+
expect(google_pay_card.default).to eq(true)
|
1281
|
+
expect(google_pay_card.image_url).to match(/android_pay/)
|
1282
|
+
expect(google_pay_card.is_network_tokenized?).to eq(true)
|
1283
|
+
expect(google_pay_card.source_card_type).to eq(Braintree::CreditCard::CardType::MasterCard)
|
1284
|
+
expect(google_pay_card.source_card_last_4).to eq("4444")
|
1285
|
+
expect(google_pay_card.google_transaction_id).to eq("google_transaction_id")
|
1286
|
+
expect(google_pay_card.source_description).to eq("MasterCard 4444")
|
1287
|
+
expect(google_pay_card.customer_id).to eq(customer.id)
|
1288
1288
|
end
|
1289
1289
|
end
|
1290
1290
|
|
@@ -1297,14 +1297,14 @@ describe Braintree::PaymentMethod do
|
|
1297
1297
|
:customer_id => customer.id,
|
1298
1298
|
:token => payment_method_token,
|
1299
1299
|
)
|
1300
|
-
result.
|
1300
|
+
expect(result).to be_success
|
1301
1301
|
|
1302
1302
|
payment_method = Braintree::PaymentMethod.find(payment_method_token)
|
1303
|
-
payment_method.
|
1304
|
-
payment_method.token.
|
1305
|
-
payment_method.image_url.
|
1306
|
-
payment_method.
|
1307
|
-
payment_method.customer_id.
|
1303
|
+
expect(payment_method).not_to be_nil
|
1304
|
+
expect(payment_method.token).to eq(payment_method_token)
|
1305
|
+
expect(payment_method.image_url).not_to be_nil
|
1306
|
+
expect(payment_method).to be_a Braintree::UnknownPaymentMethod
|
1307
|
+
expect(payment_method.customer_id).to eq(customer.id)
|
1308
1308
|
end
|
1309
1309
|
end
|
1310
1310
|
|
@@ -1327,10 +1327,10 @@ describe Braintree::PaymentMethod do
|
|
1327
1327
|
token = create_result.payment_method.token
|
1328
1328
|
|
1329
1329
|
google_card = Braintree::PaymentMethod.find(token)
|
1330
|
-
google_card.
|
1330
|
+
expect(google_card).to be_a(Braintree::GooglePayCard)
|
1331
1331
|
|
1332
1332
|
delete_result = Braintree::PaymentMethod.delete(token)
|
1333
|
-
delete_result.success
|
1333
|
+
expect(delete_result.success?).to eq(true)
|
1334
1334
|
|
1335
1335
|
expect do
|
1336
1336
|
Braintree::PaymentMethod.find(token)
|
@@ -1347,10 +1347,10 @@ describe Braintree::PaymentMethod do
|
|
1347
1347
|
token = create_result.payment_method.token
|
1348
1348
|
|
1349
1349
|
apple_pay_card = Braintree::PaymentMethod.find(token)
|
1350
|
-
apple_pay_card.
|
1350
|
+
expect(apple_pay_card).to be_a(Braintree::ApplePayCard)
|
1351
1351
|
|
1352
1352
|
delete_result = Braintree::PaymentMethod.delete(token)
|
1353
|
-
delete_result.success
|
1353
|
+
expect(delete_result.success?).to eq(true)
|
1354
1354
|
|
1355
1355
|
expect do
|
1356
1356
|
Braintree::PaymentMethod.find(token)
|
@@ -1371,10 +1371,10 @@ describe Braintree::PaymentMethod do
|
|
1371
1371
|
)
|
1372
1372
|
|
1373
1373
|
paypal_account = Braintree::PaymentMethod.find(paypal_account_token)
|
1374
|
-
paypal_account.
|
1374
|
+
expect(paypal_account).to be_a(Braintree::PayPalAccount)
|
1375
1375
|
|
1376
1376
|
result = Braintree::PaymentMethod.delete(paypal_account_token, {:revoke_all_grants => false})
|
1377
|
-
result.success
|
1377
|
+
expect(result.success?).to eq(true)
|
1378
1378
|
|
1379
1379
|
expect do
|
1380
1380
|
Braintree::PaymentMethod.find(paypal_account_token)
|
@@ -1400,7 +1400,7 @@ describe Braintree::PaymentMethod do
|
|
1400
1400
|
)
|
1401
1401
|
|
1402
1402
|
result = Braintree::PaymentMethod.delete(token)
|
1403
|
-
result.success
|
1403
|
+
expect(result.success?).to eq(true)
|
1404
1404
|
|
1405
1405
|
expect do
|
1406
1406
|
Braintree::PaymentMethod.find(token)
|
@@ -1475,13 +1475,13 @@ describe Braintree::PaymentMethod do
|
|
1475
1475
|
},
|
1476
1476
|
:options => {:verify_card => true},
|
1477
1477
|
)
|
1478
|
-
update_result.success
|
1479
|
-
update_result.payment_method.
|
1478
|
+
expect(update_result.success?).to eq(true)
|
1479
|
+
expect(update_result.payment_method).to eq(credit_card)
|
1480
1480
|
updated_credit_card = update_result.payment_method
|
1481
|
-
updated_credit_card.cardholder_name.
|
1482
|
-
updated_credit_card.bin.
|
1483
|
-
updated_credit_card.last_4.
|
1484
|
-
updated_credit_card.expiration_date.
|
1481
|
+
expect(updated_credit_card.cardholder_name).to eq("New Holder")
|
1482
|
+
expect(updated_credit_card.bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
|
1483
|
+
expect(updated_credit_card.last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
|
1484
|
+
expect(updated_credit_card.expiration_date).to eq("06/2013")
|
1485
1485
|
end
|
1486
1486
|
|
1487
1487
|
it "updates the credit card" do
|
@@ -1499,13 +1499,13 @@ describe Braintree::PaymentMethod do
|
|
1499
1499
|
:number => Braintree::Test::CreditCardNumbers::MasterCard,
|
1500
1500
|
:expiration_date => "06/2013",
|
1501
1501
|
)
|
1502
|
-
update_result.success
|
1503
|
-
update_result.payment_method.
|
1502
|
+
expect(update_result.success?).to eq(true)
|
1503
|
+
expect(update_result.payment_method).to eq(credit_card)
|
1504
1504
|
updated_credit_card = update_result.payment_method
|
1505
|
-
updated_credit_card.cardholder_name.
|
1506
|
-
updated_credit_card.bin.
|
1507
|
-
updated_credit_card.last_4.
|
1508
|
-
updated_credit_card.expiration_date.
|
1505
|
+
expect(updated_credit_card.cardholder_name).to eq("New Holder")
|
1506
|
+
expect(updated_credit_card.bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
|
1507
|
+
expect(updated_credit_card.last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
|
1508
|
+
expect(updated_credit_card.expiration_date).to eq("06/2013")
|
1509
1509
|
end
|
1510
1510
|
|
1511
1511
|
it "includes risk data when skip_advanced_fraud_checking is false" do
|
@@ -1577,7 +1577,7 @@ describe Braintree::PaymentMethod do
|
|
1577
1577
|
:expiration_date => "06/2013",
|
1578
1578
|
:options => {:verify_card => true, :verification_currency_iso_code => "USD"},
|
1579
1579
|
)
|
1580
|
-
update_result.success
|
1580
|
+
expect(update_result.success?).to eq(true)
|
1581
1581
|
update_result.payment_method.verification.currency_iso_code == "USD"
|
1582
1582
|
end
|
1583
1583
|
|
@@ -1597,7 +1597,7 @@ describe Braintree::PaymentMethod do
|
|
1597
1597
|
:expiration_date => "06/2013",
|
1598
1598
|
:options => {:verify_card => true, :verification_merchant_account_id => SpecHelper::NonDefaultMerchantAccountId, :verification_currency_iso_code => "USD"},
|
1599
1599
|
)
|
1600
|
-
update_result.success
|
1600
|
+
expect(update_result.success?).to eq(true)
|
1601
1601
|
update_result.payment_method.verification.currency_iso_code == "USD"
|
1602
1602
|
update_result.payment_method.verification.merchant_account_id == SpecHelper::NonDefaultMerchantAccountId
|
1603
1603
|
end
|
@@ -1619,7 +1619,7 @@ describe Braintree::PaymentMethod do
|
|
1619
1619
|
:options => {:verify_card => true, :verification_currency_iso_code => "GBP"},
|
1620
1620
|
)
|
1621
1621
|
expect(update_result).to_not be_success
|
1622
|
-
update_result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code.
|
1622
|
+
expect(update_result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code).to eq(Braintree::ErrorCodes::CreditCard::CurrencyCodeNotSupportedByMerchantAccount)
|
1623
1623
|
end
|
1624
1624
|
|
1625
1625
|
it "throws validation error when passing invalid verification_currency_iso_code of the given verification merchant account id" do
|
@@ -1639,7 +1639,7 @@ describe Braintree::PaymentMethod do
|
|
1639
1639
|
:options => {:verify_card => true, :verification_merchant_account_id => SpecHelper::NonDefaultMerchantAccountId, :verification_currency_iso_code => "GBP"},
|
1640
1640
|
)
|
1641
1641
|
expect(update_result).to_not be_success
|
1642
|
-
update_result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code.
|
1642
|
+
expect(update_result.errors.for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code).to eq(Braintree::ErrorCodes::CreditCard::CurrencyCodeNotSupportedByMerchantAccount)
|
1643
1643
|
end
|
1644
1644
|
end
|
1645
1645
|
|
@@ -1660,11 +1660,11 @@ describe Braintree::PaymentMethod do
|
|
1660
1660
|
:region => "IL"
|
1661
1661
|
},
|
1662
1662
|
)
|
1663
|
-
update_result.success
|
1663
|
+
expect(update_result.success?).to eq(true)
|
1664
1664
|
updated_credit_card = update_result.payment_method
|
1665
|
-
updated_credit_card.billing_address.region.
|
1666
|
-
updated_credit_card.billing_address.street_address.
|
1667
|
-
updated_credit_card.billing_address.id.
|
1665
|
+
expect(updated_credit_card.billing_address.region).to eq("IL")
|
1666
|
+
expect(updated_credit_card.billing_address.street_address).to eq(nil)
|
1667
|
+
expect(updated_credit_card.billing_address.id).not_to eq(credit_card.billing_address.id)
|
1668
1668
|
end
|
1669
1669
|
|
1670
1670
|
it "updates the billing address if option is specified" do
|
@@ -1683,11 +1683,11 @@ describe Braintree::PaymentMethod do
|
|
1683
1683
|
:options => {:update_existing => true}
|
1684
1684
|
},
|
1685
1685
|
)
|
1686
|
-
update_result.success
|
1686
|
+
expect(update_result.success?).to eq(true)
|
1687
1687
|
updated_credit_card = update_result.payment_method
|
1688
|
-
updated_credit_card.billing_address.region.
|
1689
|
-
updated_credit_card.billing_address.street_address.
|
1690
|
-
updated_credit_card.billing_address.id.
|
1688
|
+
expect(updated_credit_card.billing_address.region).to eq("IL")
|
1689
|
+
expect(updated_credit_card.billing_address.street_address).to eq("123 Nigeria Ave")
|
1690
|
+
expect(updated_credit_card.billing_address.id).to eq(credit_card.billing_address.id)
|
1691
1691
|
end
|
1692
1692
|
|
1693
1693
|
it "updates the country via codes" do
|
@@ -1709,12 +1709,12 @@ describe Braintree::PaymentMethod do
|
|
1709
1709
|
:options => {:update_existing => true}
|
1710
1710
|
},
|
1711
1711
|
)
|
1712
|
-
update_result.success
|
1712
|
+
expect(update_result.success?).to eq(true)
|
1713
1713
|
updated_credit_card = update_result.payment_method
|
1714
|
-
updated_credit_card.billing_address.country_name.
|
1715
|
-
updated_credit_card.billing_address.country_code_alpha2.
|
1716
|
-
updated_credit_card.billing_address.country_code_alpha3.
|
1717
|
-
updated_credit_card.billing_address.country_code_numeric.
|
1714
|
+
expect(updated_credit_card.billing_address.country_name).to eq("American Samoa")
|
1715
|
+
expect(updated_credit_card.billing_address.country_code_alpha2).to eq("AS")
|
1716
|
+
expect(updated_credit_card.billing_address.country_code_alpha3).to eq("ASM")
|
1717
|
+
expect(updated_credit_card.billing_address.country_code_numeric).to eq("016")
|
1718
1718
|
end
|
1719
1719
|
end
|
1720
1720
|
|
@@ -1730,11 +1730,11 @@ describe Braintree::PaymentMethod do
|
|
1730
1730
|
:expiration_month => "07",
|
1731
1731
|
:expiration_year => "2011",
|
1732
1732
|
)
|
1733
|
-
update_result.success
|
1734
|
-
update_result.payment_method.
|
1735
|
-
update_result.payment_method.expiration_month.
|
1736
|
-
update_result.payment_method.expiration_year.
|
1737
|
-
update_result.payment_method.expiration_date.
|
1733
|
+
expect(update_result.success?).to eq(true)
|
1734
|
+
expect(update_result.payment_method).to eq(credit_card)
|
1735
|
+
expect(update_result.payment_method.expiration_month).to eq("07")
|
1736
|
+
expect(update_result.payment_method.expiration_year).to eq("2011")
|
1737
|
+
expect(update_result.payment_method.expiration_date).to eq("07/2011")
|
1738
1738
|
end
|
1739
1739
|
|
1740
1740
|
it "verifies the update if options[verify_card]=true" do
|
@@ -1753,9 +1753,9 @@ describe Braintree::PaymentMethod do
|
|
1753
1753
|
:expiration_date => "06/2013",
|
1754
1754
|
:options => {:verify_card => true},
|
1755
1755
|
)
|
1756
|
-
update_result.success
|
1757
|
-
update_result.credit_card_verification.status.
|
1758
|
-
update_result.credit_card_verification.gateway_rejection_reason.
|
1756
|
+
expect(update_result.success?).to eq(false)
|
1757
|
+
expect(update_result.credit_card_verification.status).to eq(Braintree::Transaction::Status::ProcessorDeclined)
|
1758
|
+
expect(update_result.credit_card_verification.gateway_rejection_reason).to be_nil
|
1759
1759
|
end
|
1760
1760
|
|
1761
1761
|
it "accepts a custom verification amount" do
|
@@ -1771,10 +1771,10 @@ describe Braintree::PaymentMethod do
|
|
1771
1771
|
:payment_method_nonce => Braintree::Test::Nonce::ProcessorDeclinedMasterCard,
|
1772
1772
|
:options => {:verify_card => true, :verification_amount => "2.34"},
|
1773
1773
|
)
|
1774
|
-
update_result.success
|
1775
|
-
update_result.credit_card_verification.status.
|
1776
|
-
update_result.credit_card_verification.gateway_rejection_reason.
|
1777
|
-
update_result.credit_card_verification.amount.
|
1774
|
+
expect(update_result.success?).to eq(false)
|
1775
|
+
expect(update_result.credit_card_verification.status).to eq(Braintree::Transaction::Status::ProcessorDeclined)
|
1776
|
+
expect(update_result.credit_card_verification.gateway_rejection_reason).to be_nil
|
1777
|
+
expect(update_result.credit_card_verification.amount).to eq(BigDecimal("2.34"))
|
1778
1778
|
end
|
1779
1779
|
|
1780
1780
|
it "can update the billing address" do
|
@@ -1811,17 +1811,17 @@ describe Braintree::PaymentMethod do
|
|
1811
1811
|
:country_name => "United States of America"
|
1812
1812
|
},
|
1813
1813
|
)
|
1814
|
-
result.success
|
1814
|
+
expect(result.success?).to eq(true)
|
1815
1815
|
address = result.payment_method.billing_address
|
1816
|
-
address.first_name.
|
1817
|
-
address.last_name.
|
1818
|
-
address.company.
|
1819
|
-
address.street_address.
|
1820
|
-
address.extended_address.
|
1821
|
-
address.locality.
|
1822
|
-
address.region.
|
1823
|
-
address.postal_code.
|
1824
|
-
address.country_name.
|
1816
|
+
expect(address.first_name).to eq("New First Name")
|
1817
|
+
expect(address.last_name).to eq("New Last Name")
|
1818
|
+
expect(address.company).to eq("New Company")
|
1819
|
+
expect(address.street_address).to eq("123 New St")
|
1820
|
+
expect(address.extended_address).to eq("Apt New")
|
1821
|
+
expect(address.locality).to eq("New City")
|
1822
|
+
expect(address.region).to eq("New State")
|
1823
|
+
expect(address.postal_code).to eq("56789")
|
1824
|
+
expect(address.country_name).to eq("United States of America")
|
1825
1825
|
end
|
1826
1826
|
|
1827
1827
|
it "returns an error response if invalid" do
|
@@ -1837,8 +1837,8 @@ describe Braintree::PaymentMethod do
|
|
1837
1837
|
:number => "invalid",
|
1838
1838
|
:expiration_date => "05/2014",
|
1839
1839
|
)
|
1840
|
-
update_result.success
|
1841
|
-
update_result.errors.for(:credit_card).on(:number)[0].message.
|
1840
|
+
expect(update_result.success?).to eq(false)
|
1841
|
+
expect(update_result.errors.for(:credit_card).on(:number)[0].message).to eq("Credit card number must be 12-19 digits.")
|
1842
1842
|
end
|
1843
1843
|
|
1844
1844
|
it "can update the default" do
|
@@ -1854,13 +1854,13 @@ describe Braintree::PaymentMethod do
|
|
1854
1854
|
:expiration_date => "05/2009",
|
1855
1855
|
).credit_card
|
1856
1856
|
|
1857
|
-
card1.
|
1858
|
-
card2.
|
1857
|
+
expect(card1).to be_default
|
1858
|
+
expect(card2).not_to be_default
|
1859
1859
|
|
1860
1860
|
Braintree::PaymentMethod.update(card2.token, :options => {:make_default => true})
|
1861
1861
|
|
1862
|
-
Braintree::CreditCard.find(card1.token).
|
1863
|
-
Braintree::CreditCard.find(card2.token).
|
1862
|
+
expect(Braintree::CreditCard.find(card1.token)).not_to be_default
|
1863
|
+
expect(Braintree::CreditCard.find(card2.token)).to be_default
|
1864
1864
|
end
|
1865
1865
|
end
|
1866
1866
|
|
@@ -1884,7 +1884,7 @@ describe Braintree::PaymentMethod do
|
|
1884
1884
|
)
|
1885
1885
|
|
1886
1886
|
updated_paypal_account = Braintree::PayPalAccount.find(updated_token)
|
1887
|
-
updated_paypal_account.email.
|
1887
|
+
expect(updated_paypal_account.email).to eq(original_result.payment_method.email)
|
1888
1888
|
|
1889
1889
|
expect do
|
1890
1890
|
Braintree::PayPalAccount.find(original_token)
|
@@ -1899,7 +1899,7 @@ describe Braintree::PaymentMethod do
|
|
1899
1899
|
:expiration_date => "05/2009",
|
1900
1900
|
:options => {:make_default => true},
|
1901
1901
|
)
|
1902
|
-
result.
|
1902
|
+
expect(result).to be_success
|
1903
1903
|
|
1904
1904
|
nonce = nonce_for_paypal_account(:consent_code => "consent-code")
|
1905
1905
|
original_token = Braintree::PaymentMethod.create(
|
@@ -1913,7 +1913,7 @@ describe Braintree::PaymentMethod do
|
|
1913
1913
|
)
|
1914
1914
|
|
1915
1915
|
updated_paypal_account = Braintree::PayPalAccount.find(original_token)
|
1916
|
-
updated_paypal_account.
|
1916
|
+
expect(updated_paypal_account).to be_default
|
1917
1917
|
end
|
1918
1918
|
|
1919
1919
|
it "returns an error if a token for account is used to attempt an update" do
|
@@ -1944,8 +1944,8 @@ describe Braintree::PaymentMethod do
|
|
1944
1944
|
:token => second_token,
|
1945
1945
|
)
|
1946
1946
|
|
1947
|
-
updated_result.
|
1948
|
-
updated_result.errors.first.code.
|
1947
|
+
expect(updated_result).not_to be_success
|
1948
|
+
expect(updated_result.errors.first.code).to eq("92906")
|
1949
1949
|
end
|
1950
1950
|
end
|
1951
1951
|
end
|
@@ -1966,11 +1966,11 @@ describe Braintree::PaymentMethod do
|
|
1966
1966
|
:number => Braintree::Test::CreditCardNumbers::MasterCard,
|
1967
1967
|
:expiration_date => "06/2013",
|
1968
1968
|
)
|
1969
|
-
payment_method.
|
1970
|
-
payment_method.cardholder_name.
|
1971
|
-
payment_method.bin.
|
1972
|
-
payment_method.last_4.
|
1973
|
-
payment_method.expiration_date.
|
1969
|
+
expect(payment_method).to eq(credit_card)
|
1970
|
+
expect(payment_method.cardholder_name).to eq("New Holder")
|
1971
|
+
expect(payment_method.bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
|
1972
|
+
expect(payment_method.last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
|
1973
|
+
expect(payment_method.expiration_date).to eq("06/2013")
|
1974
1974
|
end
|
1975
1975
|
end
|
1976
1976
|
|
@@ -2018,24 +2018,24 @@ describe Braintree::PaymentMethod do
|
|
2018
2018
|
describe "self.grant" do
|
2019
2019
|
it "returns an error result when the grant doesn't succeed" do
|
2020
2020
|
grant_result = @granting_gateway.payment_method.grant("payment_method_from_grant", true)
|
2021
|
-
grant_result.
|
2021
|
+
expect(grant_result).not_to be_success
|
2022
2022
|
end
|
2023
2023
|
|
2024
2024
|
it "returns a nonce that is transactable by a partner merchant exactly once" do
|
2025
2025
|
grant_result = @granting_gateway.payment_method.grant(@credit_card.token, :allow_vaulting => false)
|
2026
|
-
grant_result.
|
2026
|
+
expect(grant_result).to be_success
|
2027
2027
|
|
2028
2028
|
result = Braintree::Transaction.sale(
|
2029
2029
|
:payment_method_nonce => grant_result.payment_method_nonce.nonce,
|
2030
2030
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2031
2031
|
)
|
2032
|
-
result.
|
2032
|
+
expect(result).to be_success
|
2033
2033
|
|
2034
2034
|
result2 = Braintree::Transaction.sale(
|
2035
2035
|
:payment_method_nonce => grant_result.payment_method_nonce.nonce,
|
2036
2036
|
:amount => Braintree::Test::TransactionAmounts::Authorize,
|
2037
2037
|
)
|
2038
|
-
result2.
|
2038
|
+
expect(result2).not_to be_success
|
2039
2039
|
end
|
2040
2040
|
|
2041
2041
|
it "returns a nonce that is not vaultable" do
|
@@ -2047,7 +2047,7 @@ describe Braintree::PaymentMethod do
|
|
2047
2047
|
:customer_id => customer_result.customer.id,
|
2048
2048
|
:payment_method_nonce => grant_result.payment_method_nonce.nonce,
|
2049
2049
|
)
|
2050
|
-
result.
|
2050
|
+
expect(result).not_to be_success
|
2051
2051
|
end
|
2052
2052
|
|
2053
2053
|
it "returns a nonce that is vaultable" do
|
@@ -2059,7 +2059,7 @@ describe Braintree::PaymentMethod do
|
|
2059
2059
|
:customer_id => customer_result.customer.id,
|
2060
2060
|
:payment_method_nonce => grant_result.payment_method_nonce.nonce,
|
2061
2061
|
)
|
2062
|
-
result.
|
2062
|
+
expect(result).to be_success
|
2063
2063
|
end
|
2064
2064
|
|
2065
2065
|
it "raises an error if the token isn't found" do
|
@@ -2071,7 +2071,7 @@ describe Braintree::PaymentMethod do
|
|
2071
2071
|
it "returns a valid nonce with no options set" do
|
2072
2072
|
expect do
|
2073
2073
|
grant_result = @granting_gateway.payment_method.grant(@credit_card.token)
|
2074
|
-
grant_result.
|
2074
|
+
expect(grant_result).to be_success
|
2075
2075
|
end
|
2076
2076
|
end
|
2077
2077
|
end
|
@@ -2086,7 +2086,7 @@ describe Braintree::PaymentMethod do
|
|
2086
2086
|
it "renders a granted nonce useless" do
|
2087
2087
|
grant_result = @granting_gateway.payment_method.grant(@credit_card.token)
|
2088
2088
|
revoke_result = @granting_gateway.payment_method.revoke(@credit_card.token)
|
2089
|
-
revoke_result.
|
2089
|
+
expect(revoke_result).to be_success
|
2090
2090
|
|
2091
2091
|
customer_result = Braintree::Customer.create()
|
2092
2092
|
|
@@ -2094,13 +2094,13 @@ describe Braintree::PaymentMethod do
|
|
2094
2094
|
:customer_id => customer_result.customer.id,
|
2095
2095
|
:payment_method_nonce => grant_result.payment_method_nonce.nonce,
|
2096
2096
|
)
|
2097
|
-
result.
|
2097
|
+
expect(result).not_to be_success
|
2098
2098
|
end
|
2099
2099
|
|
2100
2100
|
it "renders a granted nonce obtained uisng options hash, useless" do
|
2101
2101
|
grant_result = @granting_gateway.payment_method.grant(@credit_card.token, :allow_vaulting => true)
|
2102
2102
|
revoke_result = @granting_gateway.payment_method.revoke(@credit_card.token)
|
2103
|
-
revoke_result.
|
2103
|
+
expect(revoke_result).to be_success
|
2104
2104
|
|
2105
2105
|
customer_result = Braintree::Customer.create()
|
2106
2106
|
|
@@ -2108,7 +2108,7 @@ describe Braintree::PaymentMethod do
|
|
2108
2108
|
:customer_id => customer_result.customer.id,
|
2109
2109
|
:payment_method_nonce => grant_result.payment_method_nonce.nonce,
|
2110
2110
|
)
|
2111
|
-
result.
|
2111
|
+
expect(result).not_to be_success
|
2112
2112
|
end
|
2113
2113
|
end
|
2114
2114
|
end
|