braintree 2.102.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/braintree.gemspec +6 -3
- data/lib/braintree.rb +3 -17
- data/lib/braintree/address.rb +0 -22
- data/lib/braintree/address_gateway.rb +2 -2
- data/lib/braintree/base_module.rb +6 -0
- data/lib/braintree/bin_data.rb +9 -2
- data/lib/braintree/configuration.rb +1 -1
- data/lib/braintree/credit_card.rb +5 -76
- data/lib/braintree/credit_card_gateway.rb +3 -32
- data/lib/braintree/credit_card_verification.rb +14 -0
- data/lib/braintree/customer.rb +3 -72
- data/lib/braintree/customer_gateway.rb +0 -23
- data/lib/braintree/dispute.rb +1 -7
- data/lib/braintree/dispute/{history_event.rb → status_history.rb} +3 -1
- data/lib/braintree/dispute/transaction.rb +2 -0
- data/lib/braintree/dispute_gateway.rb +2 -7
- data/lib/braintree/error_codes.rb +152 -170
- data/lib/braintree/exceptions.rb +5 -3
- data/lib/braintree/gateway.rb +0 -14
- data/lib/braintree/{android_pay_card.rb → google_pay_card.rb} +1 -1
- data/lib/braintree/local_payment_completed.rb +1 -1
- data/lib/braintree/merchant_account_gateway.rb +2 -0
- data/lib/braintree/payment_instrument_type.rb +1 -4
- data/lib/braintree/payment_method_gateway.rb +4 -8
- data/lib/braintree/payment_method_parser.rb +1 -7
- data/lib/braintree/risk_data.rb +4 -1
- data/lib/braintree/subscription.rb +5 -5
- data/lib/braintree/successful_result.rb +0 -1
- data/lib/braintree/test/credit_card.rb +1 -0
- data/lib/braintree/test/nonce.rb +5 -20
- data/lib/braintree/transaction.rb +9 -73
- data/lib/braintree/transaction/address_details.rb +11 -0
- data/lib/braintree/transaction/disbursement_details.rb +1 -0
- data/lib/braintree/transaction/{android_pay_details.rb → google_pay_details.rb} +1 -1
- data/lib/braintree/transaction/paypal_details.rb +3 -0
- data/lib/braintree/transaction/subscription_details.rb +2 -0
- data/lib/braintree/transaction_gateway.rb +14 -21
- data/lib/braintree/transaction_search.rb +0 -1
- data/lib/braintree/util.rb +17 -2
- data/lib/braintree/version.rb +2 -2
- data/lib/braintree/webhook_notification.rb +0 -10
- data/lib/braintree/webhook_testing_gateway.rb +0 -43
- data/lib/braintree/xml/libxml.rb +1 -0
- data/lib/braintree/xml/parser.rb +11 -34
- data/spec/integration/braintree/address_spec.rb +2 -89
- data/spec/integration/braintree/client_api/spec_helper.rb +92 -66
- data/spec/integration/braintree/credit_card_spec.rb +20 -467
- data/spec/integration/braintree/credit_card_verification_spec.rb +1 -0
- data/spec/integration/braintree/customer_spec.rb +22 -362
- data/spec/integration/braintree/dispute_search_spec.rb +3 -3
- data/spec/integration/braintree/dispute_spec.rb +1 -2
- data/spec/integration/braintree/merchant_spec.rb +2 -2
- data/spec/integration/braintree/payment_method_spec.rb +77 -120
- data/spec/integration/braintree/paypal_account_spec.rb +1 -1
- data/spec/integration/braintree/subscription_spec.rb +11 -16
- data/spec/integration/braintree/transaction_search_spec.rb +3 -3
- data/spec/integration/braintree/transaction_spec.rb +274 -524
- data/spec/integration/spec_helper.rb +1 -4
- data/spec/spec_helper.rb +1 -11
- data/spec/unit/braintree/address_spec.rb +0 -8
- data/spec/unit/braintree/credit_card_spec.rb +28 -21
- data/spec/unit/braintree/credit_card_verification_spec.rb +7 -0
- data/spec/unit/braintree/customer_spec.rb +4 -12
- data/spec/unit/braintree/dispute_spec.rb +4 -12
- data/spec/unit/braintree/http_spec.rb +3 -3
- data/spec/unit/braintree/local_payment_completed_spec.rb +14 -0
- data/spec/unit/braintree/transaction/paypal_details_spec.rb +59 -0
- data/spec/unit/braintree/transaction_spec.rb +17 -37
- data/spec/unit/braintree/util_spec.rb +37 -3
- data/spec/unit/braintree/webhook_notification_spec.rb +1 -1
- data/spec/unit/braintree/xml/parser_spec.rb +21 -16
- metadata +28 -32
- data/lib/braintree/amex_express_checkout_card.rb +0 -38
- data/lib/braintree/coinbase_account.rb +0 -34
- data/lib/braintree/europe_bank_account.rb +0 -36
- data/lib/braintree/europe_bank_account_gateway.rb +0 -17
- data/lib/braintree/ideal_payment.rb +0 -61
- data/lib/braintree/ideal_payment_gateway.rb +0 -19
- data/lib/braintree/masterpass_card.rb +0 -81
- data/lib/braintree/transaction/amex_express_checkout_details.rb +0 -21
- data/lib/braintree/transaction/coinbase_details.rb +0 -16
- data/lib/braintree/transaction/ideal_payment_details.rb +0 -19
- data/lib/braintree/transaction/masterpass_card_details.rb +0 -47
- data/lib/braintree/transparent_redirect.rb +0 -40
- data/lib/braintree/transparent_redirect_gateway.rb +0 -105
- data/lib/braintree/xml/rexml.rb +0 -71
- data/spec/hacks/tcp_socket.rb +0 -18
- data/spec/integration/braintree/coinbase_spec.rb +0 -34
- data/spec/integration/braintree/masterpass_card_spec.rb +0 -97
- data/spec/integration/braintree/transparent_redirect_spec.rb +0 -268
- data/spec/unit/braintree/transparent_redirect_spec.rb +0 -223
- data/spec/unit/braintree/xml/rexml_spec.rb +0 -51
data/lib/braintree/exceptions.rb
CHANGED
@@ -8,9 +8,7 @@ module Braintree # :nodoc:
|
|
8
8
|
|
9
9
|
class ConfigurationError < BraintreeError; end
|
10
10
|
|
11
|
-
class
|
12
|
-
|
13
|
-
class ForgedQueryString < BraintreeError; end
|
11
|
+
class GatewayTimeoutError < BraintreeError; end
|
14
12
|
|
15
13
|
class InvalidSignature < BraintreeError; end
|
16
14
|
|
@@ -18,8 +16,12 @@ module Braintree # :nodoc:
|
|
18
16
|
|
19
17
|
class NotFoundError < BraintreeError; end
|
20
18
|
|
19
|
+
class RequestTimeoutError < BraintreeError; end
|
20
|
+
|
21
21
|
class ServerError < BraintreeError; end
|
22
22
|
|
23
|
+
class ServiceUnavailableError < BraintreeError; end
|
24
|
+
|
23
25
|
class SSLCertificateError < BraintreeError; end
|
24
26
|
|
25
27
|
class TooManyRequestsError < BraintreeError; end
|
data/lib/braintree/gateway.rb
CHANGED
@@ -74,12 +74,6 @@ module Braintree
|
|
74
74
|
UsBankAccountGateway.new(self)
|
75
75
|
end
|
76
76
|
|
77
|
-
# NEXT_MAJOR_VERSION Remove this class as legacy Ideal has been removed/disabled in the Braintree Gateway
|
78
|
-
# DEPRECATED If you're looking to accept iDEAL as a payment method contact accounts@braintreepayments.com for a solution.
|
79
|
-
def ideal_payment
|
80
|
-
IdealPaymentGateway.new(self)
|
81
|
-
end
|
82
|
-
|
83
77
|
def merchant
|
84
78
|
MerchantGateway.new(self)
|
85
79
|
end
|
@@ -88,10 +82,6 @@ module Braintree
|
|
88
82
|
MerchantAccountGateway.new(self)
|
89
83
|
end
|
90
84
|
|
91
|
-
def europe_bank_account
|
92
|
-
EuropeBankAccountGateway.new(self)
|
93
|
-
end
|
94
|
-
|
95
85
|
def settlement_batch_summary
|
96
86
|
SettlementBatchSummaryGateway.new(self)
|
97
87
|
end
|
@@ -100,10 +90,6 @@ module Braintree
|
|
100
90
|
SubscriptionGateway.new(self)
|
101
91
|
end
|
102
92
|
|
103
|
-
def transparent_redirect
|
104
|
-
TransparentRedirectGateway.new(self)
|
105
|
-
end
|
106
|
-
|
107
93
|
def transaction
|
108
94
|
TransactionGateway.new(self)
|
109
95
|
end
|
@@ -9,7 +9,7 @@ module Braintree
|
|
9
9
|
|
10
10
|
def initialize(attributes) # :nodoc:
|
11
11
|
set_instance_variables_from_hash(attributes)
|
12
|
-
@transaction = Transaction._new(Configuration.gateway, transaction)
|
12
|
+
@transaction = Transaction._new(Configuration.gateway, transaction) unless transaction.nil?
|
13
13
|
end
|
14
14
|
|
15
15
|
class << self
|
@@ -83,6 +83,7 @@ module Braintree
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
+
# this is part of Marketplace and shouldn't be removed unless we're removing all Marketplace code
|
86
87
|
def self._detect_signature(attributes)
|
87
88
|
if attributes.has_key?(:applicant_details)
|
88
89
|
warn "[DEPRECATED] Passing :applicant_details to create is deprecated. Please use :individual, :business, and :funding."
|
@@ -92,6 +93,7 @@ module Braintree
|
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
96
|
+
# this is part of Marketplace and shouldn't be removed unless we're removing all Marketplace code
|
95
97
|
def self._deprecated_create_signature # :nodoc:
|
96
98
|
[
|
97
99
|
{:applicant_details => [
|
@@ -1,15 +1,12 @@
|
|
1
1
|
module Braintree
|
2
2
|
module PaymentInstrumentType
|
3
3
|
PayPalAccount = 'paypal_account'
|
4
|
-
EuropeBankAccount = 'europe_bank_account'
|
5
4
|
CreditCard = 'credit_card'
|
6
|
-
CoinbaseAccount = 'coinbase_account'
|
7
5
|
ApplePayCard = 'apple_pay_card'
|
8
|
-
|
6
|
+
GooglePayCard = 'android_pay_card'
|
9
7
|
VenmoAccount = 'venmo_account'
|
10
8
|
UsBankAccount = 'us_bank_account'
|
11
9
|
VisaCheckoutCard = 'visa_checkout_card'
|
12
|
-
MasterpassCard = 'masterpass_card'
|
13
10
|
SamsungPayCard = 'samsung_pay_card'
|
14
11
|
LocalPayment = 'local_payment'
|
15
12
|
PayPalHere = 'paypal_here'
|
@@ -43,16 +43,12 @@ module Braintree
|
|
43
43
|
CreditCard._new(@gateway, response[:credit_card])
|
44
44
|
elsif response.has_key?(:paypal_account)
|
45
45
|
PayPalAccount._new(@gateway, response[:paypal_account])
|
46
|
-
elsif response[:coinbase_account]
|
47
|
-
SuccessfulResult.new(:payment_method => CoinbaseAccount._new(@gateway, response[:coinbase_account]))
|
48
46
|
elsif response.has_key?(:us_bank_account)
|
49
47
|
UsBankAccount._new(@gateway, response[:us_bank_account])
|
50
|
-
elsif response.has_key?(:europe_bank_account)
|
51
|
-
EuropeBankAccount._new(@gateway, response[:europe_bank_account])
|
52
48
|
elsif response.has_key?(:apple_pay_card)
|
53
49
|
ApplePayCard._new(@gateway, response[:apple_pay_card])
|
54
50
|
elsif response.has_key?(:android_pay_card)
|
55
|
-
|
51
|
+
GooglePayCard._new(@gateway, response[:android_pay_card])
|
56
52
|
elsif response.has_key?(:venmo_account)
|
57
53
|
VenmoAccount._new(@gateway, response[:venmo_account])
|
58
54
|
else
|
@@ -166,9 +162,9 @@ module Braintree
|
|
166
162
|
],
|
167
163
|
]
|
168
164
|
signature = [
|
169
|
-
:billing_address_id, :cardholder_name, :cvv, :
|
170
|
-
:
|
171
|
-
:
|
165
|
+
:billing_address_id, :cardholder_name, :cvv, :expiration_date, :expiration_month,
|
166
|
+
:expiration_year, :number, :token, :venmo_sdk_payment_method_code, :device_data,
|
167
|
+
:payment_method_nonce,
|
172
168
|
{:options => options},
|
173
169
|
{:billing_address => billing_address_params}
|
174
170
|
]
|
@@ -6,22 +6,16 @@ module Braintree
|
|
6
6
|
CreditCard._new(gateway, attributes[:credit_card])
|
7
7
|
elsif attributes[:paypal_account]
|
8
8
|
PayPalAccount._new(gateway, attributes[:paypal_account])
|
9
|
-
elsif attributes[:coinbase_account]
|
10
|
-
CoinbaseAccount._new(gateway, attributes[:coinbase_account])
|
11
9
|
elsif attributes[:us_bank_account]
|
12
10
|
UsBankAccount._new(gateway, attributes[:us_bank_account])
|
13
11
|
elsif attributes[:apple_pay_card]
|
14
12
|
ApplePayCard._new(gateway, attributes[:apple_pay_card])
|
15
13
|
elsif attributes[:android_pay_card]
|
16
|
-
|
17
|
-
elsif attributes[:amex_express_checkout_card]
|
18
|
-
AmexExpressCheckoutCard._new(gateway, attributes[:amex_express_checkout_card])
|
14
|
+
GooglePayCard._new(gateway, attributes[:android_pay_card])
|
19
15
|
elsif attributes[:venmo_account]
|
20
16
|
VenmoAccount._new(gateway, attributes[:venmo_account])
|
21
17
|
elsif attributes[:visa_checkout_card]
|
22
18
|
VisaCheckoutCard._new(gateway, attributes[:visa_checkout_card])
|
23
|
-
elsif attributes[:masterpass_card]
|
24
|
-
MasterpassCard._new(gateway, attributes[:masterpass_card])
|
25
19
|
elsif attributes[:samsung_pay_card]
|
26
20
|
SamsungPayCard._new(gateway, attributes[:samsung_pay_card])
|
27
21
|
else
|
data/lib/braintree/risk_data.rb
CHANGED
@@ -2,10 +2,13 @@ module Braintree
|
|
2
2
|
class RiskData # :nodoc:
|
3
3
|
include BaseModule
|
4
4
|
|
5
|
+
attr_reader :customer_device_id
|
6
|
+
attr_reader :customer_location_zip
|
7
|
+
attr_reader :customer_tenure
|
5
8
|
attr_reader :decision
|
6
9
|
attr_reader :device_data_captured
|
7
|
-
attr_reader :id
|
8
10
|
attr_reader :fraud_service_provider
|
11
|
+
attr_reader :id
|
9
12
|
|
10
13
|
def initialize(attributes)
|
11
14
|
set_instance_variables_from_hash attributes unless attributes.nil?
|
@@ -101,11 +101,11 @@ module Braintree
|
|
101
101
|
add_ons.map! { |attrs| AddOn._new(attrs) }
|
102
102
|
discounts.map! { |attrs| Discount._new(attrs) }
|
103
103
|
@status_history = attributes[:status_history] ? attributes[:status_history].map { |s| StatusDetails.new(s) } : []
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
@
|
104
|
+
@first_billing_date = Date.parse(first_billing_date) unless first_billing_date.nil?
|
105
|
+
@next_billing_date = Date.parse(next_billing_date) unless next_billing_date.nil?
|
106
|
+
@billing_period_start_date = Date.parse(billing_period_start_date) unless billing_period_start_date.nil?
|
107
|
+
@billing_period_end_date = Date.parse(billing_period_end_date) unless billing_period_end_date.nil?
|
108
|
+
@paid_through_date = Date.parse(paid_through_date) unless paid_through_date.nil?
|
109
109
|
end
|
110
110
|
|
111
111
|
def never_expires?
|
data/lib/braintree/test/nonce.rb
CHANGED
@@ -12,12 +12,10 @@ module Braintree
|
|
12
12
|
ApplePayAmEx = "fake-apple-pay-amex-nonce"
|
13
13
|
AbstractTransactable = "fake-abstract-transactable-nonce"
|
14
14
|
Europe = "fake-europe-bank-account-nonce"
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
AndroidPayAmEx = "fake-android-pay-amex-nonce"
|
20
|
-
AmexExpressCheckout = "fake-amex-express-checkout-nonce"
|
15
|
+
GooglePayDiscover = "fake-android-pay-discover-nonce"
|
16
|
+
GooglePayVisa = "fake-android-pay-visa-nonce"
|
17
|
+
GooglePayMasterCard = "fake-android-pay-mastercard-nonce"
|
18
|
+
GooglePayAmEx = "fake-android-pay-amex-nonce"
|
21
19
|
VenmoAccount = "fake-venmo-account-nonce"
|
22
20
|
VenmoAccountTokenIssuanceError = "fake-token-issuance-error-venmo-account-nonce"
|
23
21
|
ThreeDSecureVisaFullAuthentication = "fake-three-d-secure-visa-full-authentication-nonce"
|
@@ -60,12 +58,8 @@ module Braintree
|
|
60
58
|
ProcessorFailureJCB = "fake-processor-failure-jcb-nonce"
|
61
59
|
LuhnInvalid = "fake-luhn-invalid-nonce"
|
62
60
|
PayPalFuturePaymentRefreshToken = "fake-paypal-future-refresh-token-nonce"
|
63
|
-
SEPA = "fake-sepa-bank-account-nonce"
|
64
61
|
GatewayRejectedFraud = "fake-gateway-rejected-fraud-nonce"
|
65
|
-
|
66
|
-
MasterpassDiscover = "fake-masterpass-discover-nonce"
|
67
|
-
MasterpassMasterCard = "fake-masterpass-mastercard-nonce"
|
68
|
-
MasterpassVisa = "fake-masterpass-visa-nonce"
|
62
|
+
GatewayRejectedRiskThresholds = "fake-gateway-rejected-risk-thresholds-nonce"
|
69
63
|
VisaCheckoutAmEx = "fake-visa-checkout-amex-nonce"
|
70
64
|
VisaCheckoutDiscover = "fake-visa-checkout-discover-nonce"
|
71
65
|
VisaCheckoutMasterCard = "fake-visa-checkout-mastercard-nonce"
|
@@ -74,15 +68,6 @@ module Braintree
|
|
74
68
|
SamsungPayDiscover = "tokensam_fake_discover"
|
75
69
|
SamsungPayMasterCard = "tokensam_fake_mastercard"
|
76
70
|
SamsungPayVisa = "tokensam_fake_visa"
|
77
|
-
|
78
|
-
def self.const_missing(const_name)
|
79
|
-
if const_name == :AndroidPay
|
80
|
-
warn "[DEPRECATED] Braintree::Test::Nonce::AndroidPay is deprecated. Use a card-specific nonce, e.g. Braintree::Test::Nonce::AndroidPayMasterCard"
|
81
|
-
"fake-android-pay-nonce"
|
82
|
-
else
|
83
|
-
super
|
84
|
-
end
|
85
|
-
end
|
86
71
|
end
|
87
72
|
end
|
88
73
|
end
|
@@ -25,6 +25,7 @@ module Braintree
|
|
25
25
|
CVV = "cvv"
|
26
26
|
Duplicate = "duplicate"
|
27
27
|
Fraud = "fraud"
|
28
|
+
RiskThreshold = "risk_threshold"
|
28
29
|
ThreeDSecure = "three_d_secure"
|
29
30
|
TokenIssuance = "token_issuance"
|
30
31
|
Unrecognized = "unrecognized"
|
@@ -89,11 +90,10 @@ module Braintree
|
|
89
90
|
end
|
90
91
|
end
|
91
92
|
|
93
|
+
attr_reader :acquirer_reference_number
|
92
94
|
attr_reader :add_ons
|
93
95
|
attr_reader :additional_processor_response # The raw response from the processor.
|
94
|
-
attr_reader :amex_express_checkout_details
|
95
96
|
attr_reader :amount
|
96
|
-
attr_reader :android_pay_details
|
97
97
|
attr_reader :apple_pay_details
|
98
98
|
attr_reader :authorization_adjustments
|
99
99
|
attr_reader :authorization_expires_at
|
@@ -103,7 +103,6 @@ module Braintree
|
|
103
103
|
attr_reader :avs_street_address_response_code
|
104
104
|
attr_reader :billing_details
|
105
105
|
attr_reader :channel
|
106
|
-
attr_reader :coinbase_details
|
107
106
|
attr_reader :created_at
|
108
107
|
attr_reader :credit_card_details
|
109
108
|
attr_reader :currency_iso_code
|
@@ -119,13 +118,10 @@ module Braintree
|
|
119
118
|
attr_reader :facilitated_details
|
120
119
|
attr_reader :facilitator_details
|
121
120
|
attr_reader :gateway_rejection_reason
|
121
|
+
attr_reader :google_pay_details
|
122
122
|
attr_reader :graphql_id
|
123
123
|
attr_reader :id
|
124
|
-
# NEXT_MAJOR_VERSION Remove this class as legacy Ideal has been removed/disabled in the Braintree Gateway
|
125
|
-
# DEPRECATED If you're looking to accept iDEAL as a payment method contact accounts@braintreepayments.com for a solution.
|
126
|
-
attr_reader :ideal_payment_details
|
127
124
|
attr_reader :local_payment_details
|
128
|
-
attr_reader :masterpass_card_details
|
129
125
|
attr_reader :merchant_account_id
|
130
126
|
attr_reader :network_response_code # Response code from the card network
|
131
127
|
attr_reader :network_response_text # Response text from the card network
|
@@ -142,10 +138,12 @@ module Braintree
|
|
142
138
|
attr_reader :processor_response_type # Response type from the processor.
|
143
139
|
attr_reader :processor_settlement_response_code # Settlement response code from the processor.
|
144
140
|
attr_reader :processor_settlement_response_text # Settlement response text from the processor.
|
141
|
+
attr_reader :product_sku
|
145
142
|
attr_reader :purchase_order_number
|
146
143
|
attr_reader :recurring
|
147
144
|
attr_reader :refund_ids
|
148
145
|
attr_reader :refunded_transaction_id
|
146
|
+
attr_reader :retrieval_reference_number
|
149
147
|
attr_reader :risk_data
|
150
148
|
attr_reader :samsung_pay_card_details
|
151
149
|
attr_reader :service_fee_amount
|
@@ -166,7 +164,6 @@ module Braintree
|
|
166
164
|
attr_reader :venmo_account_details
|
167
165
|
attr_reader :visa_checkout_card_details
|
168
166
|
attr_reader :voice_referral_number
|
169
|
-
attr_reader :retrieval_reference_number
|
170
167
|
|
171
168
|
def self.create(*args)
|
172
169
|
Configuration.gateway.transaction.create(*args)
|
@@ -192,18 +189,6 @@ module Braintree
|
|
192
189
|
Configuration.gateway.transaction.clone_transaction!(*args)
|
193
190
|
end
|
194
191
|
|
195
|
-
# Deprecated. Use Braintree::TransparentRedirect.confirm
|
196
|
-
def self.create_from_transparent_redirect(*args)
|
197
|
-
warn "[DEPRECATED] Transaction.create_from_transparent_redirect is deprecated. Please use TransparentRedirect.confirm"
|
198
|
-
Configuration.gateway.transaction.create_from_transparent_redirect(*args)
|
199
|
-
end
|
200
|
-
|
201
|
-
# Deprecated. Use Braintree::TransparentRedirect.url
|
202
|
-
def self.create_transaction_url
|
203
|
-
warn "[DEPRECATED] Transaction.create_transaction_url is deprecated. Please use TransparentRedirect.url"
|
204
|
-
Configuration.gateway.transaction.create_transaction_url
|
205
|
-
end
|
206
|
-
|
207
192
|
def self.credit(*args)
|
208
193
|
Configuration.gateway.transaction.credit(*args)
|
209
194
|
end
|
@@ -306,10 +291,8 @@ module Braintree
|
|
306
291
|
@paypal_details = PayPalDetails.new(@paypal)
|
307
292
|
@paypal_here_details = PayPalHereDetails.new(@paypal_here)
|
308
293
|
@apple_pay_details = ApplePayDetails.new(@apple_pay)
|
309
|
-
@
|
310
|
-
@amex_express_checkout_details = AmexExpressCheckoutDetails.new(@amex_express_checkout_card)
|
294
|
+
@google_pay_details = GooglePayDetails.new(@google_pay_card)
|
311
295
|
@venmo_account_details = VenmoAccountDetails.new(@venmo_account)
|
312
|
-
@coinbase_details = CoinbaseDetails.new(@coinbase_account)
|
313
296
|
disputes.map! { |attrs| Dispute._new(attrs) } if disputes
|
314
297
|
@custom_fields = attributes[:custom_fields].is_a?(Hash) ? attributes[:custom_fields] : {}
|
315
298
|
add_ons.map! { |attrs| AddOn._new(attrs) } if add_ons
|
@@ -320,9 +303,7 @@ module Braintree
|
|
320
303
|
@facilitator_details = FacilitatorDetails.new(attributes[:facilitator_details]) if attributes[:facilitator_details]
|
321
304
|
@three_d_secure_info = ThreeDSecureInfo.new(attributes[:three_d_secure_info]) if attributes[:three_d_secure_info]
|
322
305
|
@us_bank_account_details = UsBankAccountDetails.new(attributes[:us_bank_account]) if attributes[:us_bank_account]
|
323
|
-
@ideal_payment_details = IdealPaymentDetails.new(attributes[:ideal_payment]) if attributes[:ideal_payment]
|
324
306
|
@visa_checkout_card_details = VisaCheckoutCardDetails.new(attributes[:visa_checkout_card])
|
325
|
-
@masterpass_card_details = MasterpassCardDetails.new(attributes[:masterpass_card])
|
326
307
|
@samsung_pay_card_details = SamsungPayCardDetails.new(attributes[:samsung_pay_card])
|
327
308
|
authorization_adjustments.map! { |attrs| AuthorizationAdjustment._new(attrs) } if authorization_adjustments
|
328
309
|
end
|
@@ -344,18 +325,6 @@ module Braintree
|
|
344
325
|
@gateway.transaction_line_item.find_all(id)
|
345
326
|
end
|
346
327
|
|
347
|
-
# Deprecated. Use Braintree::Transaction.refund
|
348
|
-
def refund(amount = nil)
|
349
|
-
warn "[DEPRECATED] refund as an instance method is deprecated. Please use Transaction.refund"
|
350
|
-
result = @gateway.transaction.refund(id, amount)
|
351
|
-
|
352
|
-
if result.success?
|
353
|
-
SuccessfulResult.new(:new_transaction => result.transaction)
|
354
|
-
else
|
355
|
-
result
|
356
|
-
end
|
357
|
-
end
|
358
|
-
|
359
328
|
# Returns true if the transaction has been refunded. False otherwise.
|
360
329
|
def refunded?
|
361
330
|
!@refund_id.nil?
|
@@ -366,27 +335,6 @@ module Braintree
|
|
366
335
|
@disbursement_details.valid?
|
367
336
|
end
|
368
337
|
|
369
|
-
def refund_id
|
370
|
-
warn "[DEPRECATED] Transaction.refund_id is deprecated. Please use Transaction.refund_ids"
|
371
|
-
@refund_id
|
372
|
-
end
|
373
|
-
|
374
|
-
# Deprecated. Use Braintree::Transaction.submit_for_settlement
|
375
|
-
def submit_for_settlement(amount = nil)
|
376
|
-
warn "[DEPRECATED] submit_for_settlement as an instance method is deprecated. Please use Transaction.submit_for_settlement"
|
377
|
-
result = @gateway.transaction.submit_for_settlement(id, amount)
|
378
|
-
if result.success?
|
379
|
-
copy_instance_variables_from_object result.transaction
|
380
|
-
end
|
381
|
-
result
|
382
|
-
end
|
383
|
-
|
384
|
-
# Deprecated. Use Braintree::Transaction.submit_for_settlement!
|
385
|
-
def submit_for_settlement!(amount = nil)
|
386
|
-
warn "[DEPRECATED] submit_for_settlement! as an instance method is deprecated. Please use Transaction.submit_for_settlement!"
|
387
|
-
return_object_or_raise(:transaction) { submit_for_settlement(amount) }
|
388
|
-
end
|
389
|
-
|
390
338
|
# If this transaction was stored in the vault, or created from vault records,
|
391
339
|
# vault_billing_address will return the associated Braintree::Address. Because the
|
392
340
|
# vault billing address can be updated after the transaction was created, the attributes
|
@@ -423,20 +371,8 @@ module Braintree
|
|
423
371
|
@gateway.address.find(customer_details.id, shipping_details.id)
|
424
372
|
end
|
425
373
|
|
426
|
-
|
427
|
-
|
428
|
-
warn "[DEPRECATED] void as an instance method is deprecated. Please use Transaction.void"
|
429
|
-
result = @gateway.transaction.void(id)
|
430
|
-
if result.success?
|
431
|
-
copy_instance_variables_from_object result.transaction
|
432
|
-
end
|
433
|
-
result
|
434
|
-
end
|
435
|
-
|
436
|
-
# Deprecated. Use Braintree::Transaction.void!
|
437
|
-
def void!
|
438
|
-
warn "[DEPRECATED] void! as an instance method is deprecated. Please use Transaction.void!"
|
439
|
-
return_object_or_raise(:transaction) { void }
|
374
|
+
def processed_with_network_token?
|
375
|
+
@processed_with_network_token
|
440
376
|
end
|
441
377
|
|
442
378
|
class << self
|
@@ -447,7 +383,7 @@ module Braintree
|
|
447
383
|
end
|
448
384
|
|
449
385
|
def self._attributes # :nodoc:
|
450
|
-
[:amount, :created_at, :credit_card_details, :customer_details, :id, :status, :subscription_details, :type, :updated_at]
|
386
|
+
[:amount, :created_at, :credit_card_details, :customer_details, :id, :status, :subscription_details, :type, :updated_at, :processed_with_network_token?]
|
451
387
|
end
|
452
388
|
end
|
453
389
|
end
|
@@ -3,6 +3,15 @@ module Braintree
|
|
3
3
|
class AddressDetails # :nodoc:
|
4
4
|
include BaseModule
|
5
5
|
|
6
|
+
module ShippingMethod
|
7
|
+
SameDay = "same_day"
|
8
|
+
NextDay = "next_day"
|
9
|
+
Priority = "priority"
|
10
|
+
Ground = "ground"
|
11
|
+
Electronic = "electronic"
|
12
|
+
ShipToStore = "ship_to_store"
|
13
|
+
end
|
14
|
+
|
6
15
|
attr_reader :company
|
7
16
|
attr_reader :country_code_alpha2
|
8
17
|
attr_reader :country_code_alpha3
|
@@ -13,8 +22,10 @@ module Braintree
|
|
13
22
|
attr_reader :id
|
14
23
|
attr_reader :last_name
|
15
24
|
attr_reader :locality
|
25
|
+
attr_reader :phone_number
|
16
26
|
attr_reader :postal_code
|
17
27
|
attr_reader :region
|
28
|
+
attr_reader :shipping_method
|
18
29
|
attr_reader :street_address
|
19
30
|
|
20
31
|
def initialize(attributes)
|