braintree 4.20.0 → 4.22.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/address.rb +1 -0
- data/lib/braintree/address_gateway.rb +3 -2
- data/lib/braintree/configuration.rb +1 -1
- data/lib/braintree/credit_card_verification.rb +16 -12
- data/lib/braintree/customer.rb +3 -2
- data/lib/braintree/customer_gateway.rb +6 -2
- data/lib/braintree/error_codes.rb +4 -0
- data/lib/braintree/local_payment_completed.rb +4 -1
- data/lib/braintree/paypal_account.rb +2 -0
- data/lib/braintree/transaction/address_details.rb +1 -0
- data/lib/braintree/transaction/customer_details.rb +2 -1
- data/lib/braintree/transaction/package_details.rb +4 -1
- data/lib/braintree/transaction.rb +2 -0
- data/lib/braintree/transaction_gateway.rb +55 -47
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +2 -0
- data/lib/braintree/webhook_testing_gateway.rb +22 -1
- data/spec/integration/braintree/address_spec.rb +6 -0
- data/spec/integration/braintree/apple_pay_spec.rb +1 -1
- data/spec/integration/braintree/credit_card_verification_spec.rb +19 -0
- data/spec/integration/braintree/customer_spec.rb +6 -0
- data/spec/integration/braintree/merchant_account_spec.rb +2 -2
- data/spec/integration/braintree/merchant_spec.rb +17 -138
- data/spec/integration/braintree/package_tracking_spec.rb +34 -15
- data/spec/integration/braintree/payment_method_spec.rb +7 -1
- data/spec/integration/braintree/paypal_account_spec.rb +2 -0
- data/spec/integration/braintree/transaction_spec.rb +140 -1
- data/spec/unit/braintree/configuration_spec.rb +1 -1
- data/spec/unit/braintree/credit_card_spec.rb +2 -0
- data/spec/unit/braintree/credit_card_verification_spec.rb +13 -2
- data/spec/unit/braintree/customer_spec.rb +8 -0
- data/spec/unit/braintree/error_result_spec.rb +1 -1
- data/spec/unit/braintree/local_payment_completed_spec.rb +17 -5
- data/spec/unit/braintree/package_tracking_spec.rb +5 -2
- data/spec/unit/braintree/paypal_account_spec.rb +9 -0
- data/spec/unit/braintree/transaction/customer_details_spec.rb +2 -1
- data/spec/unit/braintree/transaction_gateway_spec.rb +54 -48
- data/spec/unit/braintree/webhook_notification_spec.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3eefd7e093c28bf6167e2147719c79ddfde8823a01d2a5941d3b88b7ddb7b001
|
4
|
+
data.tar.gz: b61191ffd282fad509d02061f26f4fd61bdead52eaa33a11c165cc32cde8e9c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80b27a7c007729e9236d3f8b3ececb6eb89c207e2954bfad63d225d28e2984054b36c3f3193f8ee65596471b2682ddf72c10dfac25651288709142238c73e3da
|
7
|
+
data.tar.gz: b7bece4ac524d149d38bb311bb125a56b6b80d2198218bdabbbf993a5a7208bc1d35e9d863ea6b63ca002409a35fde7e47793f6471daea6b3aa5d0202d12fc8e
|
data/lib/braintree/address.rb
CHANGED
@@ -76,8 +76,9 @@ module Braintree
|
|
76
76
|
|
77
77
|
def self._shared_signature
|
78
78
|
[:company, :country_code_alpha2, :country_code_alpha3, :country_code_numeric,
|
79
|
-
|
80
|
-
|
79
|
+
:country_name, :extended_address, :first_name,
|
80
|
+
{:international_phone => [:country_code, :national_number]},
|
81
|
+
:last_name, :locality, :phone_number, :postal_code, :region, :street_address]
|
81
82
|
end
|
82
83
|
|
83
84
|
def self._update_signature
|
@@ -26,6 +26,8 @@ module Braintree
|
|
26
26
|
end
|
27
27
|
|
28
28
|
attr_reader :amount
|
29
|
+
attr_reader :ani_first_name_response_code
|
30
|
+
attr_reader :ani_last_name_response_code
|
29
31
|
attr_reader :avs_error_response_code
|
30
32
|
attr_reader :avs_postal_code_response_code
|
31
33
|
attr_reader :avs_street_address_response_code
|
@@ -45,8 +47,8 @@ module Braintree
|
|
45
47
|
attr_reader :processor_response_text
|
46
48
|
attr_reader :processor_response_type
|
47
49
|
attr_reader :risk_data
|
48
|
-
attr_reader :three_d_secure_info
|
49
50
|
attr_reader :status
|
51
|
+
attr_reader :three_d_secure_info
|
50
52
|
|
51
53
|
def initialize(attributes)
|
52
54
|
set_instance_variables_from_hash(attributes)
|
@@ -59,23 +61,25 @@ module Braintree
|
|
59
61
|
|
60
62
|
def inspect
|
61
63
|
attr_order = [
|
62
|
-
:status,
|
63
|
-
:processor_response_code,
|
64
|
-
:processor_response_text,
|
65
64
|
:amount,
|
66
|
-
:
|
67
|
-
:
|
65
|
+
:ani_first_name_response_code,
|
66
|
+
:ani_last_name_response_code,
|
68
67
|
:avs_error_response_code,
|
69
68
|
:avs_postal_code_response_code,
|
70
69
|
:avs_street_address_response_code,
|
71
|
-
:
|
72
|
-
:
|
73
|
-
:
|
70
|
+
:billing,
|
71
|
+
:created_at,
|
72
|
+
:credit_card,
|
73
|
+
:currency_iso_code,
|
74
|
+
:cvv_response_code,
|
74
75
|
:gateway_rejection_reason,
|
75
76
|
:id,
|
76
|
-
:
|
77
|
-
:
|
78
|
-
:
|
77
|
+
:merchant_account_id,
|
78
|
+
:network_response_code,
|
79
|
+
:network_response_text,
|
80
|
+
:processor_response_code,
|
81
|
+
:processor_response_text,
|
82
|
+
:status
|
79
83
|
]
|
80
84
|
formatted_attrs = attr_order.map do |attr|
|
81
85
|
if attr == :amount
|
data/lib/braintree/customer.rb
CHANGED
@@ -15,6 +15,7 @@ module Braintree
|
|
15
15
|
attr_reader :google_pay_cards
|
16
16
|
attr_reader :graphql_id
|
17
17
|
attr_reader :id
|
18
|
+
attr_reader :international_phone
|
18
19
|
attr_reader :last_name
|
19
20
|
attr_reader :paypal_accounts
|
20
21
|
attr_reader :phone
|
@@ -148,8 +149,8 @@ module Braintree
|
|
148
149
|
|
149
150
|
def self._attributes
|
150
151
|
[
|
151
|
-
:addresses, :company, :credit_cards, :email, :fax, :first_name, :id, :
|
152
|
-
:created_at, :updated_at, :tax_identifiers
|
152
|
+
:addresses, :company, :credit_cards, :email, :fax, :first_name, :id, :international_phone,
|
153
|
+
:last_name, :phone, :website, :created_at, :updated_at, :tax_identifiers
|
153
154
|
]
|
154
155
|
end
|
155
156
|
|
@@ -75,7 +75,9 @@ module Braintree
|
|
75
75
|
],
|
76
76
|
]
|
77
77
|
[
|
78
|
-
:company, :email, :fax, :first_name, :id,
|
78
|
+
:company, :email, :fax, :first_name, :id,
|
79
|
+
{:international_phone => [:country_code, :national_number]},
|
80
|
+
:last_name, :phone, :website,
|
79
81
|
:device_data, :payment_method_nonce,
|
80
82
|
{:risk_data => [:customer_browser, :customer_ip]},
|
81
83
|
{:credit_card => credit_card_signature},
|
@@ -139,7 +141,9 @@ module Braintree
|
|
139
141
|
],
|
140
142
|
]
|
141
143
|
[
|
142
|
-
:company, :email, :fax, :first_name, :id,
|
144
|
+
:company, :email, :fax, :first_name, :id,
|
145
|
+
{:international_phone => [:country_code, :national_number]},
|
146
|
+
:last_name, :phone, :website,
|
143
147
|
:device_data, :payment_method_nonce, :default_payment_method_token,
|
144
148
|
{:credit_card => credit_card_signature},
|
145
149
|
{:tax_identifiers => [:country_code, :identifier]},
|
@@ -2,8 +2,11 @@ module Braintree
|
|
2
2
|
class LocalPaymentCompleted
|
3
3
|
include BaseModule
|
4
4
|
|
5
|
-
attr_reader :
|
5
|
+
attr_reader :bic
|
6
|
+
attr_reader :iban_last_chars
|
6
7
|
attr_reader :payer_id
|
8
|
+
attr_reader :payer_name
|
9
|
+
attr_reader :payment_id
|
7
10
|
attr_reader :payment_method_nonce
|
8
11
|
attr_reader :transaction
|
9
12
|
|
@@ -5,7 +5,9 @@ module Braintree
|
|
5
5
|
attr_reader :billing_agreement_id
|
6
6
|
attr_reader :created_at
|
7
7
|
attr_reader :customer_id
|
8
|
+
attr_reader :edit_paypal_vault_id
|
8
9
|
attr_reader :email
|
10
|
+
attr_reader :funding_source_description
|
9
11
|
attr_reader :image_url
|
10
12
|
attr_reader :payer_id
|
11
13
|
attr_reader :revoked_at
|
@@ -8,6 +8,7 @@ module Braintree
|
|
8
8
|
attr_reader :fax
|
9
9
|
attr_reader :first_name
|
10
10
|
attr_reader :id
|
11
|
+
attr_reader :international_phone
|
11
12
|
attr_reader :last_name
|
12
13
|
attr_reader :phone
|
13
14
|
attr_reader :website
|
@@ -17,7 +18,7 @@ module Braintree
|
|
17
18
|
end
|
18
19
|
|
19
20
|
def inspect
|
20
|
-
attr_order = [:id, :first_name, :last_name, :email, :company, :website, :phone, :fax]
|
21
|
+
attr_order = [:id, :first_name, :last_name, :email, :company, :website, :phone, :international_phone, :fax]
|
21
22
|
formatted_attrs = attr_order.map do |attr|
|
22
23
|
"#{attr}: #{send(attr).inspect}"
|
23
24
|
end
|
@@ -5,11 +5,14 @@ module Braintree
|
|
5
5
|
|
6
6
|
attr_reader :carrier
|
7
7
|
attr_reader :id
|
8
|
+
# NEXT_MAJOR_VERSION Remove this method
|
9
|
+
# use paypal_tracker_id going forward
|
8
10
|
attr_reader :paypal_tracking_id
|
11
|
+
attr_reader :paypal_tracker_id
|
9
12
|
attr_reader :tracking_number
|
10
13
|
|
11
14
|
def initialize(attributes)
|
12
|
-
|
15
|
+
set_instance_variables_from_hash attributes unless attributes.nil?
|
13
16
|
end
|
14
17
|
end
|
15
18
|
end
|
@@ -121,6 +121,7 @@ module Braintree
|
|
121
121
|
attr_reader :escrow_status
|
122
122
|
attr_reader :facilitated_details
|
123
123
|
attr_reader :facilitator_details
|
124
|
+
attr_reader :foreign_retailer
|
124
125
|
attr_reader :gateway_rejection_reason
|
125
126
|
attr_reader :google_pay_details
|
126
127
|
attr_reader :graphql_id
|
@@ -170,6 +171,7 @@ module Braintree
|
|
170
171
|
attr_reader :settlement_batch_id
|
171
172
|
attr_reader :shipping_amount
|
172
173
|
attr_reader :shipping_details
|
174
|
+
attr_reader :shipping_tax_amount
|
173
175
|
attr_reader :ships_from_postal_code
|
174
176
|
attr_reader :status # See Transaction::Status
|
175
177
|
attr_reader :status_history
|
@@ -178,7 +178,7 @@ module Braintree
|
|
178
178
|
|
179
179
|
def submit_for_partial_settlement(authorized_transaction_id, amount = nil, options = {})
|
180
180
|
raise ArgumentError, "authorized_transaction_id is invalid" unless authorized_transaction_id =~ /\A[0-9a-z]+\z/
|
181
|
-
Util.verify_keys(TransactionGateway.
|
181
|
+
Util.verify_keys(TransactionGateway._submit_for_partial_settlement_signature, options)
|
182
182
|
transaction_params = {:amount => amount}.merge(options)
|
183
183
|
response = @config.http.post("#{@config.base_merchant_path}/transactions/#{authorized_transaction_id}/submit_for_partial_settlement", :transaction => transaction_params)
|
184
184
|
_handle_transaction_response(response)
|
@@ -214,36 +214,45 @@ module Braintree
|
|
214
214
|
# three_d_secure_token has been deprecated in favor of three_d_secure_authentication_id
|
215
215
|
def self._create_signature
|
216
216
|
[
|
217
|
-
:amount, :billing_address_id, :channel, :
|
217
|
+
:amount, :billing_address_id, :channel, :currency_iso_code, :customer_id, :device_data,
|
218
|
+
:discount_amount, :exchange_rate_quote_id, :foreign_retailer,
|
218
219
|
:merchant_account_id, :order_id, :payment_method_nonce, :payment_method_token,
|
219
220
|
:product_sku, :purchase_order_number, :service_fee_amount, :shared_billing_address_id,
|
220
221
|
:shared_customer_id, :shared_payment_method_nonce, :shared_payment_method_token,
|
221
|
-
:shared_shipping_address_id, :shipping_address_id, :shipping_amount,
|
222
|
+
:shared_shipping_address_id, :shipping_address_id, :shipping_amount, :shipping_tax_amount,
|
222
223
|
:ships_from_postal_code, :tax_amount, :tax_exempt, :three_d_secure_authentication_id,:three_d_secure_token, #Deprecated
|
223
224
|
:transaction_source, :type, :venmo_sdk_payment_method_code, # Deprecated
|
224
|
-
:sca_exemption,
|
225
|
-
{:
|
226
|
-
{:risk_data => [:customer_browser, :customer_device_id, :customer_ip, :customer_location_zip, :customer_tenure]},
|
227
|
-
{:credit_card => [:token, :cardholder_name, :cvv, :expiration_date, :expiration_month, :expiration_year, :number, {:payment_reader_card_details => [:encrypted_card_data, :key_serial_number]}, {:network_tokenization_attributes => [:cryptogram, :ecommerce_indicator, :token_requestor_id]}]},
|
228
|
-
{:customer => [:id, :company, :email, :fax, :first_name, :last_name, :phone, :website]},
|
225
|
+
:sca_exemption,
|
226
|
+
{:apple_pay_card => [:number, :cardholder_name, :cryptogram, :expiration_month, :expiration_year, :eci_indicator]},
|
229
227
|
{
|
230
228
|
:billing => AddressGateway._shared_signature
|
231
229
|
},
|
232
|
-
{
|
233
|
-
|
234
|
-
},
|
235
|
-
{
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
:
|
245
|
-
|
246
|
-
|
230
|
+
{:credit_card => [:token, :cardholder_name, :cvv, :expiration_date, :expiration_month, :expiration_year, :number, {:payment_reader_card_details => [:encrypted_card_data, :key_serial_number]}, {:network_tokenization_attributes => [:cryptogram, :ecommerce_indicator, :token_requestor_id]}]},
|
231
|
+
{:customer => [:id, :company, :email, :fax, :first_name, :last_name, :phone, :website]},
|
232
|
+
{:custom_fields => :_any_key_},
|
233
|
+
{:descriptor => [:name, :phone, :url]},
|
234
|
+
{:external_vault => [
|
235
|
+
:status,
|
236
|
+
:previous_network_transaction_id,
|
237
|
+
]},
|
238
|
+
{:google_pay_card => [:number, :cryptogram, :google_transaction_id, :expiration_month, :expiration_year, :source_card_type, :source_card_last_four, :eci_indicator]},
|
239
|
+
{:industry => [
|
240
|
+
:industry_type,
|
241
|
+
{:data => [
|
242
|
+
:country_code, :date_of_birth, :folio_number, :check_in_date, :check_out_date, :travel_package, :lodging_check_in_date, :lodging_check_out_date, :departure_date, :lodging_name, :room_rate, :room_tax,
|
243
|
+
:passenger_first_name, :passenger_last_name, :passenger_middle_initial, :passenger_title, :issued_date, :travel_agency_name, :travel_agency_code, :ticket_number,
|
244
|
+
:issuing_carrier_code, :customer_code, :fare_amount, :fee_amount, :tax_amount, :restricted_ticket, :no_show, :advanced_deposit, :fire_safe, :property_phone, :ticket_issuer_address, :arrival_date,
|
245
|
+
{:legs => [
|
246
|
+
:conjunction_ticket, :exchange_ticket, :coupon_number, :service_class, :carrier_code, :fare_basis_code, :flight_number, :departure_date, :departure_airport_code, :departure_time,
|
247
|
+
:arrival_airport_code, :arrival_time, :stopover_permitted, :fare_amount, :fee_amount, :tax_amount, :endorsement_or_restrictions,
|
248
|
+
]},
|
249
|
+
{:additional_charges => [
|
250
|
+
:kind, :amount,
|
251
|
+
]},
|
252
|
+
]},
|
253
|
+
]},
|
254
|
+
{:installments => [:count]},
|
255
|
+
{:line_items => [:commodity_code, :description, :discount_amount, :image_url, :kind, :name, :product_code, :quantity, :tax_amount, :total_amount, :unit_amount, :unit_of_measure, :unit_tax_amount, :upc_code, :upc_type, :url]},
|
247
256
|
{:options => [
|
248
257
|
:hold_in_escrow,
|
249
258
|
:store_in_vault,
|
@@ -265,31 +274,23 @@ module Braintree
|
|
265
274
|
{:credit_card => [:account_type, :process_debit_as_credit]},
|
266
275
|
]
|
267
276
|
},
|
268
|
-
{:external_vault => [
|
269
|
-
:status,
|
270
|
-
:previous_network_transaction_id,
|
271
|
-
]},
|
272
|
-
{:custom_fields => :_any_key_},
|
273
|
-
{:descriptor => [:name, :phone, :url]},
|
274
277
|
{:paypal_account => [:email, :token, :paypal_data, :payee_id, :payee_email, :payer_id, :payment_id]},
|
275
|
-
{:
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
{:google_pay_card => [:number, :cryptogram, :google_transaction_id, :expiration_month, :expiration_year, :source_card_type, :source_card_last_four, :eci_indicator]},
|
292
|
-
{:installments => [:count]},
|
278
|
+
{:risk_data => [:customer_browser, :customer_device_id, :customer_ip, :customer_location_zip, :customer_tenure]},
|
279
|
+
{
|
280
|
+
:shipping => AddressGateway._shared_signature + [:shipping_method],
|
281
|
+
},
|
282
|
+
{
|
283
|
+
:three_d_secure_pass_thru => [
|
284
|
+
:eci_flag,
|
285
|
+
:cavv,
|
286
|
+
:xid,
|
287
|
+
:three_d_secure_version,
|
288
|
+
:authentication_response,
|
289
|
+
:directory_response,
|
290
|
+
:cavv_algorithm,
|
291
|
+
:ds_transaction_id,
|
292
|
+
]
|
293
|
+
},
|
293
294
|
]
|
294
295
|
end
|
295
296
|
|
@@ -317,11 +318,18 @@ module Braintree
|
|
317
318
|
:tax_exempt,
|
318
319
|
:discount_amount,
|
319
320
|
:shipping_amount,
|
321
|
+
:shipping_tax_amount,
|
320
322
|
:ships_from_postal_code,
|
321
323
|
:line_items => [:commodity_code, :description, :discount_amount, :image_url, :kind, :name, :product_code, :quantity, :tax_amount, :total_amount, :unit_amount, :unit_of_measure, :unit_tax_amount, :upc_code, :upc_type, :url],
|
322
324
|
]
|
323
325
|
end
|
324
326
|
|
327
|
+
def self._submit_for_partial_settlement_signature
|
328
|
+
_submit_for_settlement_signature + [
|
329
|
+
:final_capture
|
330
|
+
]
|
331
|
+
end
|
332
|
+
|
325
333
|
def self._adjust_authorization_signature
|
326
334
|
[
|
327
335
|
:amount
|
data/lib/braintree/version.rb
CHANGED
@@ -46,6 +46,8 @@ module Braintree
|
|
46
46
|
|
47
47
|
RecipientUpdatedGrantedPaymentMethod = "recipient_updated_granted_payment_method"
|
48
48
|
|
49
|
+
RefundFailed = "refund_failed"
|
50
|
+
|
49
51
|
SubscriptionBillingSkipped = "subscription_billing_skipped"
|
50
52
|
SubscriptionCanceled = "subscription_canceled"
|
51
53
|
SubscriptionChargedSuccessfully = "subscription_charged_successfully"
|
@@ -104,6 +104,8 @@ module Braintree
|
|
104
104
|
_local_payment_reversed_sample_xml
|
105
105
|
when Braintree::WebhookNotification::Kind::PaymentMethodCustomerDataUpdated
|
106
106
|
_payment_method_customer_data_updated_sample_xml(id)
|
107
|
+
when Braintree::WebhookNotification::Kind::RefundFailed
|
108
|
+
_refund_failed_sample_xml(id)
|
107
109
|
else
|
108
110
|
_subscription_sample_xml(id)
|
109
111
|
end
|
@@ -1094,8 +1096,11 @@ module Braintree
|
|
1094
1096
|
def _local_payment_completed_sample_xml(id)
|
1095
1097
|
<<-XML
|
1096
1098
|
<local-payment>
|
1097
|
-
<
|
1099
|
+
<bic>BIC</bic>
|
1100
|
+
<iban_last_chars>1234</iban_last_chars>
|
1098
1101
|
<payer-id>ABCPAYER</payer-id>
|
1102
|
+
<payer-name>PAYERNAME</payer-name>
|
1103
|
+
<payment-id>PAY-XYZ123</payment-id>
|
1099
1104
|
<payment-method-nonce>ee257d98-de40-47e8-96b3-a6954ea7a9a4</payment-method-nonce>
|
1100
1105
|
<transaction>
|
1101
1106
|
<id>#{id}</id>
|
@@ -1181,5 +1186,21 @@ module Braintree
|
|
1181
1186
|
</venmo-account>
|
1182
1187
|
XML
|
1183
1188
|
end
|
1189
|
+
|
1190
|
+
def _refund_failed_sample_xml(id)
|
1191
|
+
<<-XML
|
1192
|
+
<transaction>
|
1193
|
+
<id>#{id}</id>
|
1194
|
+
<amount>100</amount>
|
1195
|
+
<credit-card>
|
1196
|
+
<number>1234560000001234</number>
|
1197
|
+
<cvv>123</cvv>
|
1198
|
+
<card-type>MasterCard</card-type>
|
1199
|
+
</credit-card>
|
1200
|
+
<status>processor_declined</status>
|
1201
|
+
<refunded-transaction-id>1</refunded-transaction-id>
|
1202
|
+
</transaction>
|
1203
|
+
XML
|
1204
|
+
end
|
1184
1205
|
end
|
1185
1206
|
end
|
@@ -15,6 +15,7 @@ describe Braintree::Address do
|
|
15
15
|
:locality => "Chicago",
|
16
16
|
:region => "Illinois",
|
17
17
|
:phone_number => "5551231234",
|
18
|
+
:international_phone => {:country_code => "1", :national_number => "3121234567"},
|
18
19
|
:postal_code => "60622",
|
19
20
|
:country_name => "United States of America",
|
20
21
|
)
|
@@ -28,6 +29,8 @@ describe Braintree::Address do
|
|
28
29
|
expect(result.address.locality).to eq("Chicago")
|
29
30
|
expect(result.address.region).to eq("Illinois")
|
30
31
|
expect(result.address.phone_number).to eq("5551231234")
|
32
|
+
expect(result.address.international_phone[:country_code]).to eq("1")
|
33
|
+
expect(result.address.international_phone[:national_number]).to eq("3121234567")
|
31
34
|
expect(result.address.postal_code).to eq("60622")
|
32
35
|
expect(result.address.country_name).to eq("United States of America")
|
33
36
|
expect(result.address.country_code_alpha2).to eq("US")
|
@@ -241,6 +244,7 @@ describe Braintree::Address do
|
|
241
244
|
:region => "Illinois",
|
242
245
|
:postal_code => "60621",
|
243
246
|
:country_name => "United States of America",
|
247
|
+
:international_phone => {:country_code => "1", :national_number => "3121234567"},
|
244
248
|
)
|
245
249
|
expect(result.success?).to eq(true)
|
246
250
|
expect(result.address.street_address).to eq("123 E New St")
|
@@ -252,6 +256,8 @@ describe Braintree::Address do
|
|
252
256
|
expect(result.address.country_code_alpha2).to eq("US")
|
253
257
|
expect(result.address.country_code_alpha3).to eq("USA")
|
254
258
|
expect(result.address.country_code_numeric).to eq("840")
|
259
|
+
expect(result.address.international_phone[:country_code]).to eq("1")
|
260
|
+
expect(result.address.international_phone[:national_number]).to eq("3121234567")
|
255
261
|
end
|
256
262
|
|
257
263
|
it "accepts country_codes" do
|
@@ -48,6 +48,25 @@ describe Braintree::CreditCardVerification, "search" do
|
|
48
48
|
expect(result.credit_card_verification.processor_response_type).to eq(Braintree::ProcessorResponseTypes::Approved)
|
49
49
|
end
|
50
50
|
|
51
|
+
it "creates a new verification for Visa ANI" do
|
52
|
+
verification_params = {
|
53
|
+
:credit_card => {
|
54
|
+
:expiration_date => "05/2012",
|
55
|
+
:number => Braintree::Test::CreditCardNumbers::Visa,
|
56
|
+
},
|
57
|
+
}
|
58
|
+
|
59
|
+
result = Braintree::CreditCardVerification.create(verification_params)
|
60
|
+
|
61
|
+
expect(result).to be_success
|
62
|
+
expect(result.credit_card_verification.status).to eq(Braintree::CreditCardVerification::Status::Verified)
|
63
|
+
expect(result.credit_card_verification.processor_response_code).to eq("1000")
|
64
|
+
expect(result.credit_card_verification.processor_response_text).to eq("Approved")
|
65
|
+
expect(result.credit_card_verification.ani_first_name_response_code).to eq("I")
|
66
|
+
expect(result.credit_card_verification.ani_last_name_response_code).to eq("I")
|
67
|
+
expect(result.credit_card_verification.processor_response_type).to eq(Braintree::ProcessorResponseTypes::Approved)
|
68
|
+
end
|
69
|
+
|
51
70
|
it "creates a new verification from external vault param" do
|
52
71
|
verification_params = {
|
53
72
|
:credit_card => {
|
@@ -38,6 +38,7 @@ describe Braintree::Customer do
|
|
38
38
|
:company => "Microsoft",
|
39
39
|
:email => "bill@microsoft.com",
|
40
40
|
:phone => "312.555.1234",
|
41
|
+
:international_phone => {:country_code => "1", :national_number => "3121234567"},
|
41
42
|
:fax => "614.555.5678",
|
42
43
|
:website => "www.microsoft.com",
|
43
44
|
:tax_identifiers => [{:country_code => "US", :identifier => "987654321"}],
|
@@ -49,6 +50,8 @@ describe Braintree::Customer do
|
|
49
50
|
expect(result.customer.company).to eq("Microsoft")
|
50
51
|
expect(result.customer.email).to eq("bill@microsoft.com")
|
51
52
|
expect(result.customer.phone).to eq("312.555.1234")
|
53
|
+
expect(result.customer.international_phone[:country_code]).to eq("1")
|
54
|
+
expect(result.customer.international_phone[:national_number]).to eq("3121234567")
|
52
55
|
expect(result.customer.fax).to eq("614.555.5678")
|
53
56
|
expect(result.customer.website).to eq("www.microsoft.com")
|
54
57
|
expect(result.customer.created_at.between?(Time.now - 10, Time.now)).to eq(true)
|
@@ -1193,6 +1196,7 @@ describe Braintree::Customer do
|
|
1193
1196
|
customer.id,
|
1194
1197
|
:first_name => "Mr. Joe",
|
1195
1198
|
:last_name => "Super Cool",
|
1199
|
+
:international_phone => {:country_code => "1", :national_number => "3121234567"},
|
1196
1200
|
:custom_fields => {
|
1197
1201
|
:store_me => "a value"
|
1198
1202
|
},
|
@@ -1201,6 +1205,8 @@ describe Braintree::Customer do
|
|
1201
1205
|
expect(result.customer.id).to eq(customer.id)
|
1202
1206
|
expect(result.customer.first_name).to eq("Mr. Joe")
|
1203
1207
|
expect(result.customer.last_name).to eq("Super Cool")
|
1208
|
+
expect(result.customer.international_phone[:country_code]).to eq("1")
|
1209
|
+
expect(result.customer.international_phone[:national_number]).to eq("3121234567")
|
1204
1210
|
expect(result.customer.custom_fields[:store_me]).to eq("a value")
|
1205
1211
|
end
|
1206
1212
|
|
@@ -97,7 +97,7 @@ describe Braintree::MerchantAccount do
|
|
97
97
|
|
98
98
|
result = gateway.merchant.create(
|
99
99
|
:email => "name@email.com",
|
100
|
-
:country_code_alpha3 => "
|
100
|
+
:country_code_alpha3 => "GBR",
|
101
101
|
:payment_methods => ["credit_card", "paypal"],
|
102
102
|
)
|
103
103
|
|
@@ -109,7 +109,7 @@ describe Braintree::MerchantAccount do
|
|
109
109
|
result = gateway.merchant_account.all
|
110
110
|
expect(result).to be_success
|
111
111
|
expect(result.merchant_accounts.count).to eq(1)
|
112
|
-
expect(result.merchant_accounts.first.currency_iso_code).to eq("
|
112
|
+
expect(result.merchant_accounts.first.currency_iso_code).to eq("GBP")
|
113
113
|
expect(result.merchant_accounts.first.status).to eq("active")
|
114
114
|
expect(result.merchant_accounts.first.default).to eq(true)
|
115
115
|
end
|