braintree 2.104.1 → 3.0.1

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/braintree.gemspec +6 -3
  4. data/lib/braintree.rb +3 -17
  5. data/lib/braintree/address.rb +0 -22
  6. data/lib/braintree/base_module.rb +6 -0
  7. data/lib/braintree/configuration.rb +1 -1
  8. data/lib/braintree/credit_card.rb +0 -75
  9. data/lib/braintree/credit_card_gateway.rb +3 -32
  10. data/lib/braintree/credit_card_verification.rb +13 -0
  11. data/lib/braintree/customer.rb +3 -74
  12. data/lib/braintree/customer_gateway.rb +0 -23
  13. data/lib/braintree/dispute.rb +1 -7
  14. data/lib/braintree/dispute/{history_event.rb → status_history.rb} +3 -1
  15. data/lib/braintree/dispute_gateway.rb +2 -7
  16. data/lib/braintree/error_codes.rb +139 -170
  17. data/lib/braintree/exceptions.rb +5 -3
  18. data/lib/braintree/gateway.rb +0 -14
  19. data/lib/braintree/{android_pay_card.rb → google_pay_card.rb} +1 -2
  20. data/lib/braintree/merchant_account_gateway.rb +2 -0
  21. data/lib/braintree/payment_instrument_type.rb +1 -5
  22. data/lib/braintree/payment_method_gateway.rb +4 -9
  23. data/lib/braintree/payment_method_parser.rb +1 -8
  24. data/lib/braintree/subscription.rb +5 -5
  25. data/lib/braintree/successful_result.rb +0 -1
  26. data/lib/braintree/test/nonce.rb +4 -23
  27. data/lib/braintree/transaction.rb +2 -79
  28. data/lib/braintree/transaction/disbursement_details.rb +1 -0
  29. data/lib/braintree/transaction/{android_pay_details.rb → google_pay_details.rb} +1 -1
  30. data/lib/braintree/transaction/subscription_details.rb +2 -0
  31. data/lib/braintree/transaction_gateway.rb +12 -21
  32. data/lib/braintree/transaction_search.rb +0 -1
  33. data/lib/braintree/util.rb +17 -2
  34. data/lib/braintree/version.rb +2 -2
  35. data/lib/braintree/webhook_notification.rb +0 -10
  36. data/lib/braintree/webhook_testing_gateway.rb +0 -43
  37. data/lib/braintree/xml/libxml.rb +1 -0
  38. data/lib/braintree/xml/parser.rb +11 -34
  39. data/spec/integration/braintree/address_spec.rb +2 -89
  40. data/spec/integration/braintree/client_api/spec_helper.rb +0 -26
  41. data/spec/integration/braintree/credit_card_spec.rb +6 -471
  42. data/spec/integration/braintree/customer_spec.rb +22 -362
  43. data/spec/integration/braintree/dispute_search_spec.rb +2 -2
  44. data/spec/integration/braintree/dispute_spec.rb +1 -2
  45. data/spec/integration/braintree/payment_method_spec.rb +77 -120
  46. data/spec/integration/braintree/subscription_spec.rb +11 -16
  47. data/spec/integration/braintree/transaction_search_spec.rb +3 -3
  48. data/spec/integration/braintree/transaction_spec.rb +83 -511
  49. data/spec/integration/spec_helper.rb +1 -4
  50. data/spec/spec_helper.rb +1 -11
  51. data/spec/unit/braintree/address_spec.rb +0 -8
  52. data/spec/unit/braintree/credit_card_spec.rb +1 -20
  53. data/spec/unit/braintree/customer_spec.rb +0 -12
  54. data/spec/unit/braintree/dispute_spec.rb +1 -12
  55. data/spec/unit/braintree/http_spec.rb +3 -3
  56. data/spec/unit/braintree/transaction_spec.rb +1 -35
  57. data/spec/unit/braintree/util_spec.rb +37 -3
  58. data/spec/unit/braintree/webhook_notification_spec.rb +1 -1
  59. data/spec/unit/braintree/xml/parser_spec.rb +21 -16
  60. metadata +26 -30
  61. data/lib/braintree/amex_express_checkout_card.rb +0 -40
  62. data/lib/braintree/coinbase_account.rb +0 -34
  63. data/lib/braintree/europe_bank_account.rb +0 -36
  64. data/lib/braintree/europe_bank_account_gateway.rb +0 -17
  65. data/lib/braintree/ideal_payment.rb +0 -61
  66. data/lib/braintree/ideal_payment_gateway.rb +0 -19
  67. data/lib/braintree/masterpass_card.rb +0 -83
  68. data/lib/braintree/transaction/amex_express_checkout_details.rb +0 -21
  69. data/lib/braintree/transaction/coinbase_details.rb +0 -16
  70. data/lib/braintree/transaction/ideal_payment_details.rb +0 -19
  71. data/lib/braintree/transaction/masterpass_card_details.rb +0 -49
  72. data/lib/braintree/transparent_redirect.rb +0 -40
  73. data/lib/braintree/transparent_redirect_gateway.rb +0 -105
  74. data/lib/braintree/xml/rexml.rb +0 -71
  75. data/spec/hacks/tcp_socket.rb +0 -18
  76. data/spec/integration/braintree/coinbase_spec.rb +0 -34
  77. data/spec/integration/braintree/masterpass_card_spec.rb +0 -97
  78. data/spec/integration/braintree/transparent_redirect_spec.rb +0 -268
  79. data/spec/unit/braintree/transparent_redirect_spec.rb +0 -223
  80. data/spec/unit/braintree/xml/rexml_spec.rb +0 -51
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89971a45c1e0be0e048b7af1c4709c262186eae09880c4d0ce40a112782baa7d
4
- data.tar.gz: 6f0d43792c5cac012febc1318ca045ff384dfdc536500ff0359c083abdec2829
3
+ metadata.gz: 65d2cc6a7357e4cb814afc85ad926832dc746e874a08583b7905cd8b3aa8b004
4
+ data.tar.gz: 6c43487912cceb31dbeb1b0b9d73050f6b6179e2a99c062a632b04f8c7c9c866
5
5
  SHA512:
6
- metadata.gz: 3b43b76eaf3f3f157d81c4d832162442ade1e981fc01a6a51984aec587eb51ea8e2c0b2376317d30b8fa73d83cb31250ab37bddf8d0111809790354c3970ff4f
7
- data.tar.gz: d604e220f3d1ba2d98e17db2f4a11f7e25548cc62c808732f2b72f71064a874d98e1c4f1996a3ecccfb6ef4bd9b303ad132e2cd9f96f7703a67e5f35c42d446b
6
+ metadata.gz: bb38ff65933619995157992aba73994dac75a28f190e098c16cd3864215305710ffa8db7ada6ff3b88f5f78a6f65a1db0d9158672f1e277fa44dfe052e5be9da
7
+ data.tar.gz: 70c01aac5d220f2b2d82b2dc7180071d4f8db67e8bd3622e512ccbd849fc19eecde5db6c6232f244b3495c2b2bdb0e3aff92121141d801e4722c1c004b1201f8
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2017 Braintree, a division of PayPal, Inc.
1
+ Copyright (c) 2009-2020 Braintree, a division of PayPal, Inc.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person
4
4
  obtaining a copy of this software and associated documentation
@@ -3,19 +3,22 @@ require 'braintree/version'
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "braintree"
6
- s.summary = "Braintree Gateway Ruby Client Library"
7
- s.description = "Ruby library for integrating with the Braintree Gateway"
6
+ s.summary = "Braintree Ruby Server SDK"
7
+ s.description = "Resources and tools for developers to integrate Braintree's global payments platform."
8
8
  s.version = Braintree::Version::String
9
9
  s.license = "MIT"
10
10
  s.author = "Braintree"
11
11
  s.email = "code@getbraintree.com"
12
12
  s.homepage = "https://www.braintreepayments.com/"
13
13
  s.files = Dir.glob ["README.rdoc", "LICENSE", "lib/**/*.{rb,crt}", "spec/**/*", "*.gemspec"]
14
- s.add_dependency "builder", ">= 2.0.0"
14
+ s.add_dependency "builder", ">= 3.2.4"
15
+ s.add_dependency "libxml-ruby", ">= 3.2.0"
16
+ s.required_ruby_version = ">=2.5.0"
15
17
  s.metadata = {
16
18
  "bug_tracker_uri" => "https://github.com/braintree/braintree_ruby/issues",
17
19
  "changelog_uri" => "https://github.com/braintree/braintree_ruby/blob/master/CHANGELOG.md",
18
20
  "source_code_uri" => "https://github.com/braintree/braintree_ruby",
21
+ "documentation_uri" => "https://developers.braintreepayments.com/"
19
22
  }
20
23
  end
21
24
 
@@ -31,8 +31,6 @@ require "braintree/address"
31
31
  require "braintree/address/country_names"
32
32
  require "braintree/address_gateway"
33
33
  require "braintree/advanced_search"
34
- require "braintree/android_pay_card"
35
- require "braintree/amex_express_checkout_card"
36
34
  require "braintree/apple_pay"
37
35
  require "braintree/apple_pay_card"
38
36
  require "braintree/apple_pay_gateway"
@@ -41,7 +39,6 @@ require "braintree/authorization_adjustment"
41
39
  require "braintree/bin_data"
42
40
  require "braintree/client_token"
43
41
  require "braintree/client_token_gateway"
44
- require "braintree/coinbase_account"
45
42
  require "braintree/configuration"
46
43
  require "braintree/connected_merchant_status_transitioned"
47
44
  require "braintree/connected_merchant_paypal_status_changed"
@@ -62,7 +59,7 @@ require "braintree/discount_gateway"
62
59
  require "braintree/dispute"
63
60
  require "braintree/dispute_gateway"
64
61
  require "braintree/dispute/evidence"
65
- require "braintree/dispute/history_event"
62
+ require "braintree/dispute/status_history"
66
63
  require "braintree/dispute/transaction"
67
64
  require "braintree/dispute/transaction_details"
68
65
  require "braintree/document_upload"
@@ -72,9 +69,7 @@ require "braintree/error_result"
72
69
  require "braintree/errors"
73
70
  require "braintree/gateway"
74
71
  require "braintree/graphql_client"
75
- require "braintree/ideal_payment"
76
- require "braintree/ideal_payment_gateway"
77
- require "braintree/transaction/ideal_payment_details"
72
+ require "braintree/google_pay_card"
78
73
  require "braintree/local_payment_completed"
79
74
  require "braintree/transaction/local_payment_details"
80
75
  require "braintree/merchant"
@@ -108,8 +103,6 @@ require "braintree/resource_collection"
108
103
  require "braintree/revoked_payment_method_metadata"
109
104
  require "braintree/paginated_collection"
110
105
  require "braintree/paginated_result"
111
- require "braintree/europe_bank_account"
112
- require "braintree/europe_bank_account_gateway"
113
106
  require "braintree/us_bank_account"
114
107
  require "braintree/us_bank_account_verification"
115
108
  require "braintree/us_bank_account_verification_gateway"
@@ -134,12 +127,10 @@ require "braintree/transaction_line_item"
134
127
  require "braintree/test_transaction"
135
128
  require "braintree/transaction/address_details"
136
129
  require "braintree/transaction/apple_pay_details"
137
- require "braintree/transaction/android_pay_details"
138
- require "braintree/transaction/amex_express_checkout_details"
139
- require "braintree/transaction/coinbase_details"
140
130
  require "braintree/transaction/credit_card_details"
141
131
  require "braintree/transaction/customer_details"
142
132
  require "braintree/transaction/disbursement_details"
133
+ require "braintree/transaction/google_pay_details"
143
134
  require "braintree/transaction/paypal_details"
144
135
  require "braintree/transaction/paypal_here_details"
145
136
  require "braintree/transaction/subscription_details"
@@ -149,19 +140,15 @@ require "braintree/transaction_search"
149
140
  require "braintree/transaction/status_details"
150
141
  require "braintree/transaction/venmo_account_details"
151
142
  require "braintree/transaction/visa_checkout_card_details"
152
- require "braintree/transaction/masterpass_card_details"
153
143
  require "braintree/transaction/samsung_pay_card_details"
154
144
  require "braintree/unknown_payment_method"
155
145
  require "braintree/disbursement"
156
146
  require "braintree/dispute_search"
157
- require "braintree/transparent_redirect"
158
- require "braintree/transparent_redirect_gateway"
159
147
  require "braintree/validation_error"
160
148
  require "braintree/validation_error_collection"
161
149
  require "braintree/venmo_account"
162
150
  require "braintree/version"
163
151
  require "braintree/visa_checkout_card"
164
- require "braintree/masterpass_card"
165
152
  require "braintree/samsung_pay_card"
166
153
  require "braintree/webhook_notification"
167
154
  require "braintree/webhook_notification_gateway"
@@ -170,5 +157,4 @@ require "braintree/webhook_testing_gateway"
170
157
  require "braintree/xml"
171
158
  require "braintree/xml/generator"
172
159
  require "braintree/xml/libxml"
173
- require "braintree/xml/rexml"
174
160
  require "braintree/xml/parser"
@@ -53,28 +53,6 @@ module Braintree
53
53
  id == other.id && customer_id == other.customer_id
54
54
  end
55
55
 
56
- # Deprecated. Use Braintree::Address.delete
57
- def delete
58
- warn "[DEPRECATED] delete as an instance method is deprecated. Please use Address.delete"
59
- @gateway.address.delete(customer_id, self.id)
60
- end
61
-
62
- # Deprecated. Use Braintree::Address.update
63
- def update(attributes)
64
- warn "[DEPRECATED] update as an instance method is deprecated. Please use Address.update"
65
- result = @gateway.address.update(customer_id, id, attributes)
66
- if result.success?
67
- copy_instance_variables_from_object result.address
68
- end
69
- result
70
- end
71
-
72
- # Deprecated. Use Braintree::Address.update!
73
- def update!(attributes)
74
- warn "[DEPRECATED] update! as an instance method is deprecated. Please use Address.update!"
75
- return_object_or_raise(:address) { update(attributes) }
76
- end
77
-
78
56
  class << self
79
57
  protected :new
80
58
  end
@@ -20,6 +20,12 @@ module Braintree
20
20
  hash.each do |key, value|
21
21
  if key == :global_id
22
22
  instance_variable_set "@graphql_id", value
23
+ elsif key == :android_pay_cards
24
+ instance_variable_set "@google_pay_cards", value
25
+ elsif key == :android_pay_card
26
+ instance_variable_set "@google_pay_card", value
27
+ elsif key == :android_pay_details
28
+ instance_variable_set "@google_pay_details", value
23
29
  end
24
30
 
25
31
  instance_variable_set "@#{key}", value
@@ -1,6 +1,6 @@
1
1
  module Braintree
2
2
  class Configuration
3
- API_VERSION = "5" # :nodoc:
3
+ API_VERSION = "6" # :nodoc:
4
4
  DEFAULT_ENDPOINT = "api" # :nodoc:
5
5
  GRAPHQL_API_VERSION = "2018-09-10" # :nodoc:
6
6
 
@@ -70,18 +70,6 @@ module Braintree
70
70
  Configuration.gateway.credit_card.create!(*args)
71
71
  end
72
72
 
73
- # Deprecated. Use Braintree::TransparentRedirect.url
74
- def self.create_credit_card_url
75
- warn "[DEPRECATED] CreditCard.create_credit_card_url is deprecated. Please use TransparentRedirect.url"
76
- Configuration.gateway.credit_card.create_credit_card_url
77
- end
78
-
79
- # Deprecated. Use Braintree::TransparentRedirect.confirm
80
- def self.create_from_transparent_redirect(query_string)
81
- warn "[DEPRECATED] CreditCard.create_from_transparent_redirect is deprecated. Please use TransparentRedirect.confirm"
82
- Configuration.gateway.credit_card.create_from_transparent_redirect(query_string)
83
- end
84
-
85
73
  def self.credit(token, transaction_attributes)
86
74
  Transaction.credit(transaction_attributes.merge(:payment_method_token => token))
87
75
  end
@@ -110,11 +98,6 @@ module Braintree
110
98
  Configuration.gateway.credit_card.from_nonce(*args)
111
99
  end
112
100
 
113
- # Deprecated. Use Braintree::PaymentMethod.grant
114
- def self.grant(*args)
115
- Configuration.gateway.credit_card.grant(*args)
116
- end
117
-
118
101
  def self.sale(token, transaction_attributes)
119
102
  Configuration.gateway.transaction.sale(transaction_attributes.merge(:payment_method_token => token))
120
103
  end
@@ -131,18 +114,6 @@ module Braintree
131
114
  Configuration.gateway.credit_card.update!(*args)
132
115
  end
133
116
 
134
- # Deprecated. Use Braintree::TransparentRedirect.confirm
135
- def self.update_from_transparent_redirect(query_string)
136
- warn "[DEPRECATED] CreditCard.update_via_transparent_redirect_request is deprecated. Please use TransparentRedirect.confirm"
137
- Configuration.gateway.credit_card.update_from_transparent_redirect(query_string)
138
- end
139
-
140
- # Deprecated. Use Braintree::TransparentRedirect.url
141
- def self.update_credit_card_url
142
- warn "[DEPRECATED] CreditCard.update_credit_card_url is deprecated. Please use TransparentRedirect.url"
143
- Configuration.gateway.credit_card.update_credit_card_url
144
- end
145
-
146
117
  def initialize(gateway, attributes) # :nodoc:
147
118
  @gateway = gateway
148
119
  set_instance_variables_from_hash(attributes)
@@ -156,24 +127,6 @@ module Braintree
156
127
  CreditCardVerification._new(verification) if verification
157
128
  end
158
129
 
159
- # Deprecated. Use Braintree::CreditCard.credit
160
- def credit(transaction_attributes)
161
- warn "[DEPRECATED] credit as an instance method is deprecated. Please use CreditCard.credit"
162
- @gateway.transaction.credit(transaction_attributes.merge(:payment_method_token => token))
163
- end
164
-
165
- # Deprecated. Use Braintree::CreditCard.credit!
166
- def credit!(transaction_attributes)
167
- warn "[DEPRECATED] credit! as an instance method is deprecated. Please use CreditCard.credit!"
168
- return_object_or_raise(:transaction) { credit(transaction_attributes) }
169
- end
170
-
171
- # Deprecated. Use Braintree::CreditCard.delete
172
- def delete
173
- warn "[DEPRECATED] delete as an instance method is deprecated. Please use CreditCard.delete"
174
- @gateway.credit_card.delete(token)
175
- end
176
-
177
130
  # Returns true if this credit card is the customer's default payment method.
178
131
  def default?
179
132
  @default
@@ -202,34 +155,6 @@ module Braintree
202
155
  "#{bin}******#{last_4}"
203
156
  end
204
157
 
205
- # Deprecated. Use Braintree::CreditCard.sale
206
- def sale(transaction_attributes)
207
- warn "[DEPRECATED] sale as an instance method is deprecated. Please use CreditCard.sale"
208
- @gateway.transaction.sale(transaction_attributes.merge(:payment_method_token => token))
209
- end
210
-
211
- # Deprecated. Use Braintree::CreditCard.sale!
212
- def sale!(transaction_attributes)
213
- warn "[DEPRECATED] sale! as an instance method is deprecated. Please use CreditCard.sale!"
214
- return_object_or_raise(:transaction) { sale(transaction_attributes) }
215
- end
216
-
217
- # Deprecated. Use Braintree::CreditCard.update
218
- def update(attributes)
219
- warn "[DEPRECATED] update as an instance method is deprecated. Please use CreditCard.update"
220
- result = @gateway.credit_card.update(token, attributes)
221
- if result.success?
222
- copy_instance_variables_from_object result.credit_card
223
- end
224
- result
225
- end
226
-
227
- # Deprecated. Use Braintree::CreditCard.update!
228
- def update!(attributes)
229
- warn "[DEPRECATED] update! as an instance method is deprecated. Please use CreditCard.update!"
230
- return_object_or_raise(:credit_card) { update(attributes) }
231
- end
232
-
233
158
  def nonce
234
159
  @nonce ||= PaymentMethodNonce.create(token)
235
160
  end
@@ -20,17 +20,6 @@ module Braintree
20
20
  return_object_or_raise(:credit_card) { create(*args) }
21
21
  end
22
22
 
23
- # Deprecated
24
- def create_credit_card_url
25
- "#{@config.base_merchant_url}/payment_methods/all/create_via_transparent_redirect_request"
26
- end
27
-
28
- # Deprecated
29
- def create_from_transparent_redirect(query_string)
30
- params = @gateway.transparent_redirect.parse_and_validate_query_string query_string
31
- _do_create("/payment_methods/all/confirm_transparent_redirect_request", :id => params[:id])
32
- end
33
-
34
23
  def credit(token, transaction_attributes)
35
24
  @gateway.transaction.credit(transaction_attributes.merge(:payment_method_token => token))
36
25
  end
@@ -71,11 +60,6 @@ module Braintree
71
60
  raise NotFoundError, "nonce #{nonce.inspect} locked, consumed, or not found"
72
61
  end
73
62
 
74
- # Deprecated in favor of PaymentMethodGateway.grant
75
- def grant(token, allow_vaulting)
76
- @gateway.payment_method.grant(token, allow_vaulting)
77
- end
78
-
79
63
  def update(token, attributes)
80
64
  Util.verify_keys(CreditCardGateway._update_signature, attributes)
81
65
  _do_update(:put, "/payment_methods/credit_card/#{token}", :credit_card => attributes)
@@ -85,19 +69,6 @@ module Braintree
85
69
  return_object_or_raise(:credit_card) { update(*args) }
86
70
  end
87
71
 
88
- # Deprecated
89
- def update_from_transparent_redirect(query_string)
90
- warn "[DEPRECATED] CreditCard.update_via_transparent_redirect_request is deprecated. Please use TransparentRedirect.confirm"
91
- params = @gateway.transparent_redirect.parse_and_validate_query_string query_string
92
- _do_update(:post, "/payment_methods/all/confirm_transparent_redirect_request", :id => params[:id])
93
- end
94
-
95
- # Deprecated
96
- def update_credit_card_url
97
- warn "[DEPRECATED] CreditCard.update_credit_card_url is deprecated. Please use TransparentRedirect.url"
98
- "#{@config.base_merchant_url}/payment_methods/all/update_via_transparent_redirect_request"
99
- end
100
-
101
72
  def self._create_signature # :nodoc:
102
73
  _signature(:create)
103
74
  end
@@ -110,9 +81,9 @@ module Braintree
110
81
  billing_address_params = AddressGateway._shared_signature
111
82
  options = [:make_default, :verification_merchant_account_id, :verify_card, :verification_amount, :venmo_sdk_session, :fail_on_duplicate_payment_method, :verification_account_type]
112
83
  signature = [
113
- :billing_address_id, :cardholder_name, :cvv, :device_session_id, :expiration_date,
114
- :expiration_month, :expiration_year, :number, :token, :venmo_sdk_payment_method_code,
115
- :device_data, :fraud_merchant_id, :payment_method_nonce,
84
+ :billing_address_id, :cardholder_name, :cvv, :expiration_date, :expiration_month,
85
+ :expiration_year, :number, :token, :venmo_sdk_payment_method_code, :device_data,
86
+ :payment_method_nonce,
116
87
  {:external_vault => [:network_transaction_id]},
117
88
  {:options => options},
118
89
  {:billing_address => billing_address_params}
@@ -3,6 +3,19 @@ module Braintree
3
3
  include BaseModule
4
4
  include Braintree::Util::IdEquality
5
5
 
6
+ module GatewayRejectionReason
7
+ ApplicationIncomplete = "application_incomplete"
8
+ AVS = "avs"
9
+ AVSAndCVV = "avs_and_cvv"
10
+ CVV = "cvv"
11
+ Duplicate = "duplicate"
12
+ Fraud = "fraud"
13
+ RiskThreshold = "risk_threshold"
14
+ ThreeDSecure = "three_d_secure"
15
+ TokenIssuance = "token_issuance"
16
+ Unrecognized = "unrecognized"
17
+ end
18
+
6
19
  module Status
7
20
  Failed = 'failed'
8
21
  GatewayRejected = 'gateway_rejected'
@@ -4,11 +4,7 @@ module Braintree
4
4
  include Braintree::Util::IdEquality
5
5
 
6
6
  attr_reader :addresses
7
- attr_reader :amex_express_checkout_cards # Deprecated
8
- # NEXT_MAJOR_VERSION rename Android Pay to Google Pay
9
- attr_reader :android_pay_cards
10
7
  attr_reader :apple_pay_cards
11
- attr_reader :coinbase_accounts
12
8
  attr_reader :company
13
9
  attr_reader :created_at
14
10
  attr_reader :credit_cards
@@ -16,10 +12,10 @@ module Braintree
16
12
  attr_reader :email
17
13
  attr_reader :fax
18
14
  attr_reader :first_name
15
+ attr_reader :google_pay_cards
19
16
  attr_reader :graphql_id
20
17
  attr_reader :id
21
18
  attr_reader :last_name
22
- attr_reader :masterpass_cards # Deprecated
23
19
  attr_reader :paypal_accounts
24
20
  attr_reader :phone
25
21
  attr_reader :samsung_pay_cards
@@ -41,18 +37,6 @@ module Braintree
41
37
  Configuration.gateway.customer.create!(*args)
42
38
  end
43
39
 
44
- # Deprecated. Use Braintree::TransparentRedirect.url
45
- def self.create_customer_url
46
- warn "[DEPRECATED] Customer.create_customer_url is deprecated. Please use TransparentRedirect.url"
47
- Configuration.gateway.customer.create_customer_url
48
- end
49
-
50
- # Deprecated. Use Braintree::TransparentRedirect.confirm
51
- def self.create_from_transparent_redirect(*args)
52
- warn "[DEPRECATED] Customer.create_from_transparent_redirect is deprecated. Please use TransparentRedirect.confirm"
53
- Configuration.gateway.customer.create_from_transparent_redirect(*args)
54
- end
55
-
56
40
  def self.credit(customer_id, transaction_attributes)
57
41
  Transaction.credit(transaction_attributes.merge(:customer_id => customer_id))
58
42
  end
@@ -94,33 +78,16 @@ module Braintree
94
78
  Configuration.gateway.customer.update!(*args)
95
79
  end
96
80
 
97
- # Deprecated. Use Braintree::TransparentRedirect.url
98
- def self.update_customer_url
99
- warn "[DEPRECATED] Customer.update_customer_url is deprecated. Please use TransparentRedirect.url"
100
- Configuration.gateway.customer.update_customer_url
101
- end
102
-
103
- # Deprecated. Use Braintree::TransparentRedirect.confirm
104
- def self.update_from_transparent_redirect(*args)
105
- warn "[DEPRECATED] Customer.update_from_transparent_redirect is deprecated. Please use TransparentRedirect.confirm"
106
- Configuration.gateway.customer.update_from_transparent_redirect(*args)
107
- end
108
-
109
81
  def initialize(gateway, attributes) # :nodoc:
110
82
  @gateway = gateway
111
83
  set_instance_variables_from_hash(attributes)
112
84
  @credit_cards = (@credit_cards || []).map { |pm| CreditCard._new gateway, pm }
113
85
  @paypal_accounts = (@paypal_accounts || []).map { |pm| PayPalAccount._new gateway, pm }
114
- @coinbase_accounts = (@coinbase_accounts || []).map { |pm| CoinbaseAccount._new gateway, pm }
115
86
  @apple_pay_cards = (@apple_pay_cards || []).map { |pm| ApplePayCard._new gateway, pm }
116
- @europe_bank_accounts = (@europe_bank_Accounts || []).map { |pm| EuropeBankAccount._new gateway, pm }
117
- # NEXT_MAJOR_VERSION rename Android Pay to Google Pay
118
- @android_pay_cards = (@android_pay_cards || []).map { |pm| AndroidPayCard._new gateway, pm }
119
- @amex_express_checkout_cards = (@amex_express_checkout_cards || []).map { |pm| AmexExpressCheckoutCard._new gateway, pm }
87
+ @google_pay_cards = (@google_pay_cards || []).map { |pm| GooglePayCard._new gateway, pm }
120
88
  @venmo_accounts = (@venmo_accounts || []).map { |pm| VenmoAccount._new gateway, pm }
121
89
  @us_bank_accounts = (@us_bank_accounts || []).map { |pm| UsBankAccount._new gateway, pm }
122
90
  @visa_checkout_cards = (@visa_checkout_cards|| []).map { |pm| VisaCheckoutCard._new gateway, pm }
123
- @masterpass_cards = (@masterpass_cards|| []).map { |pm| MasterpassCard._new gateway, pm }
124
91
  @samsung_pay_cards = (@samsung_pay_cards|| []).map { |pm| SamsungPayCard._new gateway, pm }
125
92
  @addresses = (@addresses || []).map { |addr| Address._new gateway, addr }
126
93
  @custom_fields = attributes[:custom_fields].is_a?(Hash) ? attributes[:custom_fields] : {}
@@ -134,14 +101,6 @@ module Braintree
134
101
  return_object_or_raise(:transaction) { credit(transaction_attributes) }
135
102
  end
136
103
 
137
- # Deprecated. Use Braintree::Customer.default_payment_method
138
- #
139
- # Returns the customer's default credit card.
140
- def default_credit_card
141
- warn "[DEPRECATED] Customer#default_credit_card is deprecated. Please use Customer#default_payment_method"
142
- @credit_cards.find { |credit_card| credit_card.default? }
143
- end
144
-
145
104
  # Returns the customer's default payment method.
146
105
  def default_payment_method
147
106
  payment_methods.find { |payment_instrument| payment_instrument.default? }
@@ -156,9 +115,7 @@ module Braintree
156
115
  @credit_cards +
157
116
  @paypal_accounts +
158
117
  @apple_pay_cards +
159
- @coinbase_accounts +
160
- @android_pay_cards +
161
- @amex_express_checkout_cards +
118
+ @google_pay_cards +
162
119
  @venmo_accounts +
163
120
  @us_bank_accounts +
164
121
  @visa_checkout_cards +
@@ -175,39 +132,11 @@ module Braintree
175
132
  "#<#{self.class} #{nice_attributes.join(', ')}>"
176
133
  end
177
134
 
178
- # Deprecated. Use Braintree::Customer.sale
179
- def sale(transaction_attributes)
180
- warn "[DEPRECATED] sale as an instance method is deprecated. Please use Customer.sale"
181
- @gateway.transaction.sale(transaction_attributes.merge(:customer_id => id))
182
- end
183
-
184
- # Deprecated. Use Braintree::Customer.sale!
185
- def sale!(transaction_attributes)
186
- warn "[DEPRECATED] sale! as an instance method is deprecated. Please use Customer.sale!"
187
- return_object_or_raise(:transaction) { sale(transaction_attributes) }
188
- end
189
-
190
135
  # Returns a ResourceCollection of transactions for the customer.
191
136
  def transactions(options = {})
192
137
  @gateway.customer.transactions(id, options)
193
138
  end
194
139
 
195
- # Deprecated. Use Braintree::Customer.update
196
- def update(attributes)
197
- warn "[DEPRECATED] update as an instance method is deprecated. Please use Customer.update"
198
- result = @gateway.customer.update(id, attributes)
199
- if result.success?
200
- copy_instance_variables_from_object result.customer
201
- end
202
- result
203
- end
204
-
205
- # Deprecated. Use Braintree::Customer.update!
206
- def update!(attributes)
207
- warn "[DEPRECATED] update! as an instance method is deprecated. Please use Customer.update!"
208
- return_object_or_raise(:customer) { update(attributes) }
209
- end
210
-
211
140
  class << self
212
141
  protected :new
213
142
  end