braintree 2.102.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) 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/address_gateway.rb +2 -2
  7. data/lib/braintree/base_module.rb +6 -0
  8. data/lib/braintree/bin_data.rb +9 -2
  9. data/lib/braintree/configuration.rb +1 -1
  10. data/lib/braintree/credit_card.rb +5 -76
  11. data/lib/braintree/credit_card_gateway.rb +3 -32
  12. data/lib/braintree/credit_card_verification.rb +14 -0
  13. data/lib/braintree/customer.rb +3 -72
  14. data/lib/braintree/customer_gateway.rb +0 -23
  15. data/lib/braintree/dispute.rb +1 -7
  16. data/lib/braintree/dispute/{history_event.rb → status_history.rb} +3 -1
  17. data/lib/braintree/dispute/transaction.rb +2 -0
  18. data/lib/braintree/dispute_gateway.rb +2 -7
  19. data/lib/braintree/error_codes.rb +152 -170
  20. data/lib/braintree/exceptions.rb +5 -3
  21. data/lib/braintree/gateway.rb +0 -14
  22. data/lib/braintree/{android_pay_card.rb → google_pay_card.rb} +1 -1
  23. data/lib/braintree/local_payment_completed.rb +1 -1
  24. data/lib/braintree/merchant_account_gateway.rb +2 -0
  25. data/lib/braintree/payment_instrument_type.rb +1 -4
  26. data/lib/braintree/payment_method_gateway.rb +4 -8
  27. data/lib/braintree/payment_method_parser.rb +1 -7
  28. data/lib/braintree/risk_data.rb +4 -1
  29. data/lib/braintree/subscription.rb +5 -5
  30. data/lib/braintree/successful_result.rb +0 -1
  31. data/lib/braintree/test/credit_card.rb +1 -0
  32. data/lib/braintree/test/nonce.rb +5 -20
  33. data/lib/braintree/transaction.rb +9 -73
  34. data/lib/braintree/transaction/address_details.rb +11 -0
  35. data/lib/braintree/transaction/disbursement_details.rb +1 -0
  36. data/lib/braintree/transaction/{android_pay_details.rb → google_pay_details.rb} +1 -1
  37. data/lib/braintree/transaction/paypal_details.rb +3 -0
  38. data/lib/braintree/transaction/subscription_details.rb +2 -0
  39. data/lib/braintree/transaction_gateway.rb +14 -21
  40. data/lib/braintree/transaction_search.rb +0 -1
  41. data/lib/braintree/util.rb +17 -2
  42. data/lib/braintree/version.rb +2 -2
  43. data/lib/braintree/webhook_notification.rb +0 -10
  44. data/lib/braintree/webhook_testing_gateway.rb +0 -43
  45. data/lib/braintree/xml/libxml.rb +1 -0
  46. data/lib/braintree/xml/parser.rb +11 -34
  47. data/spec/integration/braintree/address_spec.rb +2 -89
  48. data/spec/integration/braintree/client_api/spec_helper.rb +92 -66
  49. data/spec/integration/braintree/credit_card_spec.rb +20 -467
  50. data/spec/integration/braintree/credit_card_verification_spec.rb +1 -0
  51. data/spec/integration/braintree/customer_spec.rb +22 -362
  52. data/spec/integration/braintree/dispute_search_spec.rb +3 -3
  53. data/spec/integration/braintree/dispute_spec.rb +1 -2
  54. data/spec/integration/braintree/merchant_spec.rb +2 -2
  55. data/spec/integration/braintree/payment_method_spec.rb +77 -120
  56. data/spec/integration/braintree/paypal_account_spec.rb +1 -1
  57. data/spec/integration/braintree/subscription_spec.rb +11 -16
  58. data/spec/integration/braintree/transaction_search_spec.rb +3 -3
  59. data/spec/integration/braintree/transaction_spec.rb +274 -524
  60. data/spec/integration/spec_helper.rb +1 -4
  61. data/spec/spec_helper.rb +1 -11
  62. data/spec/unit/braintree/address_spec.rb +0 -8
  63. data/spec/unit/braintree/credit_card_spec.rb +28 -21
  64. data/spec/unit/braintree/credit_card_verification_spec.rb +7 -0
  65. data/spec/unit/braintree/customer_spec.rb +4 -12
  66. data/spec/unit/braintree/dispute_spec.rb +4 -12
  67. data/spec/unit/braintree/http_spec.rb +3 -3
  68. data/spec/unit/braintree/local_payment_completed_spec.rb +14 -0
  69. data/spec/unit/braintree/transaction/paypal_details_spec.rb +59 -0
  70. data/spec/unit/braintree/transaction_spec.rb +17 -37
  71. data/spec/unit/braintree/util_spec.rb +37 -3
  72. data/spec/unit/braintree/webhook_notification_spec.rb +1 -1
  73. data/spec/unit/braintree/xml/parser_spec.rb +21 -16
  74. metadata +28 -32
  75. data/lib/braintree/amex_express_checkout_card.rb +0 -38
  76. data/lib/braintree/coinbase_account.rb +0 -34
  77. data/lib/braintree/europe_bank_account.rb +0 -36
  78. data/lib/braintree/europe_bank_account_gateway.rb +0 -17
  79. data/lib/braintree/ideal_payment.rb +0 -61
  80. data/lib/braintree/ideal_payment_gateway.rb +0 -19
  81. data/lib/braintree/masterpass_card.rb +0 -81
  82. data/lib/braintree/transaction/amex_express_checkout_details.rb +0 -21
  83. data/lib/braintree/transaction/coinbase_details.rb +0 -16
  84. data/lib/braintree/transaction/ideal_payment_details.rb +0 -19
  85. data/lib/braintree/transaction/masterpass_card_details.rb +0 -47
  86. data/lib/braintree/transparent_redirect.rb +0 -40
  87. data/lib/braintree/transparent_redirect_gateway.rb +0 -105
  88. data/lib/braintree/xml/rexml.rb +0 -71
  89. data/spec/hacks/tcp_socket.rb +0 -18
  90. data/spec/integration/braintree/coinbase_spec.rb +0 -34
  91. data/spec/integration/braintree/masterpass_card_spec.rb +0 -97
  92. data/spec/integration/braintree/transparent_redirect_spec.rb +0 -268
  93. data/spec/unit/braintree/transparent_redirect_spec.rb +0 -223
  94. data/spec/unit/braintree/xml/rexml_spec.rb +0 -51
@@ -22,17 +22,6 @@ module Braintree
22
22
  return_object_or_raise(:customer) { create(*args) }
23
23
  end
24
24
 
25
- # Deprecated
26
- def create_customer_url
27
- "#{@config.base_merchant_url}/customers/all/create_via_transparent_redirect_request"
28
- end
29
-
30
- # Deprecated
31
- def create_from_transparent_redirect(query_string)
32
- params = @gateway.transparent_redirect.parse_and_validate_query_string query_string
33
- _do_create("/customers/all/confirm_transparent_redirect_request", :id => params[:id])
34
- end
35
-
36
25
  def delete(customer_id)
37
26
  @config.http.delete("#{@config.base_merchant_path}/customers/#{customer_id}")
38
27
  SuccessfulResult.new
@@ -71,18 +60,6 @@ module Braintree
71
60
  return_object_or_raise(:customer) { update(*args) }
72
61
  end
73
62
 
74
- # Deprecated
75
- def update_customer_url
76
- warn "[DEPRECATED] Customer.update_customer_url is deprecated. Please use TransparentRedirect.url"
77
- "#{@config.base_merchant_url}/customers/all/update_via_transparent_redirect_request"
78
- end
79
-
80
- # Deprecated
81
- def update_from_transparent_redirect(query_string)
82
- params = @gateway.transparent_redirect.parse_and_validate_query_string(query_string)
83
- _do_update(:post, "/customers/all/confirm_transparent_redirect_request", :id => params[:id])
84
- end
85
-
86
63
  def self._create_signature # :nodoc:
87
64
  credit_card_signature = CreditCardGateway._create_signature - [:customer_id]
88
65
  paypal_account_signature = PayPalAccountGateway._create_nested_signature
@@ -118,14 +118,8 @@ module Braintree
118
118
  @transaction = Transaction.new(transaction)
119
119
 
120
120
  @status_history = status_history.map do |event|
121
- Braintree::Dispute::HistoryEvent.new(event)
121
+ Braintree::Dispute::StatusHistory.new(event)
122
122
  end unless status_history.nil?
123
123
  end
124
-
125
- def forwarded_comments
126
- # NEXT_MAJOR_VERSION delete this method since it never returned anything anyway.
127
- warn "[DEPRECATED] #forwarded_comments is deprecated. Please use #processor_comments"
128
- processor_comments
129
- end
130
124
  end
131
125
  end
@@ -1,6 +1,6 @@
1
1
  module Braintree
2
2
  class Dispute
3
- class HistoryEvent # :nodoc:
3
+ class StatusHistory # :nodoc:
4
4
  include BaseModule
5
5
 
6
6
  attr_reader :disbursement_date
@@ -10,6 +10,8 @@ module Braintree
10
10
 
11
11
  def initialize(attributes)
12
12
  set_instance_variables_from_hash attributes unless attributes.nil?
13
+ @disbursement_date = Date.parse(disbursement_date) unless disbursement_date.nil?
14
+ @effective_date = Date.parse(effective_date) unless effective_date.nil?
13
15
  end
14
16
  end
15
17
  end
@@ -4,7 +4,9 @@ module Braintree
4
4
  include BaseModule
5
5
 
6
6
  attr_reader :amount
7
+ attr_reader :created_at
7
8
  attr_reader :id
9
+ attr_reader :installment_count
8
10
  attr_reader :order_id
9
11
  attr_reader :purchase_order_number
10
12
  attr_reader :payment_instrument_subtype
@@ -58,20 +58,15 @@ module Braintree
58
58
  request = content_or_request.is_a?(String) ? { content: content_or_request } : content_or_request
59
59
 
60
60
  raise ArgumentError, "content cannot be blank" if request[:content].nil? || request[:content].to_s.strip == ""
61
- raise ArgumentError, "request can only contain the keys [:content, :category, :sequence_number]" if (request.keys - [:category, :content, :tag, :sequence_number]).any?
61
+ raise ArgumentError, "request can only contain the keys [:content, :category, :sequence_number]" if (request.keys - [:category, :content, :sequence_number]).any?
62
62
  raise ArgumentError, "sequence_number must be an integer" if request[:sequence_number] && request[:sequence_number].to_s.match(/\D/)
63
- raise ArgumentError, "tag must be a string" if request[:tag] && !request[:tag].is_a?(String)
64
63
  raise ArgumentError, "category must be a string" if request[:category] && !request[:category].is_a?(String)
65
64
 
66
- warn "[DEPRECATED] tag as an option is deprecated. Please use category" if request[:tag]
67
-
68
- category = request[:category] || request[:tag]
69
-
70
65
  params_for_http_post = {
71
66
  evidence: {
72
67
  comments: request[:content]
73
68
  }.tap do |evidence_params|
74
- evidence_params[:category] = category if category
69
+ evidence_params[:category] = request[:category] if request[:category]
75
70
  evidence_params[:sequence_number] = request[:sequence_number] if request[:sequence_number]
76
71
  end
77
72
  }
@@ -37,27 +37,27 @@ module Braintree
37
37
 
38
38
  module ApplePay
39
39
  ApplePayCardsAreNotAccepted = "83501"
40
- CustomerIdIsRequiredForVaulting = "83502"
41
- TokenIsInUse = "93503"
42
- PaymentMethodNonceConsumed = "93504"
43
- PaymentMethodNonceUnknown = "93505"
44
- PaymentMethodNonceLocked = "93506"
45
- PaymentMethodNonceCardTypeIsNotAccepted = "83518"
46
40
  CannotUpdateApplePayCardUsingPaymentMethodNonce = "93507"
47
- NumberIsRequired = "93508"
48
- ExpirationMonthIsRequired = "93509"
49
- ExpirationYearIsRequired = "93510"
41
+ CertificateInvalid = "93517"
42
+ CertificateMismatch = "93519"
50
43
  CryptogramIsRequired = "93511"
44
+ CustomerIdIsRequiredForVaulting = "83502"
51
45
  DecryptionFailed = "83512"
52
46
  Disabled = "93513"
53
- MerchantNotConfigured = "93514"
47
+ ExpirationMonthIsRequired = "93509"
48
+ ExpirationYearIsRequired = "93510"
49
+ InvalidToken = "83520"
50
+ KeyMismatchStoringCertificate = "93522"
54
51
  MerchantKeysAlreadyConfigured = "93515"
55
52
  MerchantKeysNotConfigured = "93516"
56
- CertificateInvalid = "93517"
57
- CertificateMismatch = "93519"
58
- InvalidToken = "83520"
53
+ MerchantNotConfigured = "93514"
54
+ NumberIsRequired = "93508"
55
+ PaymentMethodNonceCardTypeIsNotAccepted = "83518"
56
+ PaymentMethodNonceConsumed = "93504"
57
+ PaymentMethodNonceLocked = "93506"
58
+ PaymentMethodNonceUnknown = "93505"
59
59
  PrivateKeyMismatch = "93521"
60
- KeyMismatchStoringCertificate = "93522"
60
+ TokenIsInUse = "93503"
61
61
  end
62
62
 
63
63
  module CreditCard
@@ -100,9 +100,9 @@ module Braintree
100
100
  TokenIsRequired = "91722"
101
101
  TokenIsTooLong = "91720"
102
102
  VenmoSDKPaymentMethodCodeCardTypeIsNotAccepted = "91726"
103
- VerificationNotSupportedOnThisMerchantAccount = "91730"
104
103
  VerificationAccountTypeIsInvalid = "91757"
105
104
  VerificationAccountTypeNotSupported = "91758"
105
+ VerificationNotSupportedOnThisMerchantAccount = "91730"
106
106
 
107
107
  module Options
108
108
  UpdateExistingTokenIsInvalid = "91723"
@@ -112,10 +112,10 @@ module Braintree
112
112
  VerificationAmountFormatIsInvalid = "91740"
113
113
  VerificationAmountIsTooLarge = "91752"
114
114
  VerificationAmountNotSupportedByProcessor = "91741"
115
+ VerificationMerchantAccountCannotBeSubMerchantAccount = "91755"
115
116
  VerificationMerchantAccountIdIsInvalid = "91728"
116
117
  VerificationMerchantAccountIsForbidden = "91743"
117
118
  VerificationMerchantAccountIsSuspended = "91742"
118
- VerificationMerchantAccountCannotBeSubMerchantAccount = "91755"
119
119
  end
120
120
  end
121
121
 
@@ -141,47 +141,46 @@ module Braintree
141
141
  end
142
142
 
143
143
  module Descriptor
144
- NameFormatIsInvalid = "92201"
145
- PhoneFormatIsInvalid = "92202"
146
144
  DynamicDescriptorsDisabled = "92203"
147
145
  InternationalNameFormatIsInvalid = "92204"
148
146
  InternationalPhoneFormatIsInvalid = "92205"
147
+ NameFormatIsInvalid = "92201"
148
+ PhoneFormatIsInvalid = "92202"
149
149
  UrlFormatIsInvalid = "92206"
150
150
  end
151
151
 
152
152
  module Dispute
153
- CanOnlyAddEvidenceToOpenDispute = "95701"
154
- CanOnlyRemoveEvidenceFromOpenDispute = "95702"
155
- CanOnlyAddEvidenceDocumentToDispute = "95703"
156
153
  CanOnlyAcceptOpenDispute = "95704"
157
- CanOnlyFinalizeOpenDispute = "95705"
154
+ CanOnlyAddEvidenceDocumentToDispute = "95703"
155
+ CanOnlyAddEvidenceToOpenDispute = "95701"
158
156
  CanOnlyCreateEvidenceWithValidCategory = "95706"
159
- EvidenceContentDateInvalid = "95707"
160
- EvidenceContentTooLong = "95708"
161
- EvidenceContentARNTooLong = "95709"
162
- EvidenceContentPhoneTooLong = "95710"
163
- EvidenceCategoryTextOnly = "95711"
157
+ CanOnlyFinalizeOpenDispute = "95705"
158
+ CanOnlyRemoveEvidenceFromOpenDispute = "95702"
159
+ DigitalGoodsMissingDownloadDate = "95721"
160
+ DigitalGoodsMissingEvidence = "95720"
164
161
  EvidenceCategoryDocumentOnly = "95712"
165
- EvidenceCategoryNotForReasonCode = "95713"
166
162
  EvidenceCategoryDuplicate = "95714"
163
+ EvidenceCategoryNotForReasonCode = "95713"
164
+ EvidenceCategoryTextOnly = "95711"
165
+ EvidenceContentARNTooLong = "95709"
166
+ EvidenceContentDateInvalid = "95707"
167
167
  EvidenceContentEmailInvalid = "95715"
168
-
169
- DigitalGoodsMissingEvidence = "95720"
170
- DigitalGoodsMissingDownloadDate = "95721"
168
+ EvidenceContentPhoneTooLong = "95710"
169
+ EvidenceContentTooLong = "95708"
171
170
  NonDisputedPriorTransactionEvidenceMissingARN = "95722"
172
171
  NonDisputedPriorTransactionEvidenceMissingDate = "95723"
173
- RecurringTransactionEvidenceMissingDate = "95724"
174
172
  RecurringTransactionEvidenceMissingARN = "95725"
173
+ RecurringTransactionEvidenceMissingDate = "95724"
175
174
  ValidEvidenceRequiredToFinalize = "95726"
176
175
  end
177
176
 
178
177
  module DocumentUpload
179
- KindIsInvalid = "84901"
180
- FileIsTooLarge = "84902"
181
- FileTypeIsInvalid = "84903"
178
+ FileIsEmpty = "84906"
182
179
  FileIsMalformedOrEncrypted = "84904"
180
+ FileIsTooLarge = "84902"
183
181
  FileIsTooLong = "84905"
184
- FileIsEmpty = "84906"
182
+ FileTypeIsInvalid = "84903"
183
+ KindIsInvalid = "84901"
185
184
  end
186
185
 
187
186
  module PayPalAccount
@@ -203,28 +202,6 @@ module Braintree
203
202
  TokenIsInUse = "92906"
204
203
  end
205
204
 
206
- module EuropeBankAccount
207
- IBANIsRequired = "93001"
208
- BICIsRequired = "93002"
209
- AccountHolderNameIsRequired = "93003"
210
- end
211
-
212
- module SEPAMandate
213
- AccountHolderNameIsRequired = "83301"
214
- BICIsRequired = "83302"
215
- IBANIsRequired = "83303"
216
- TypeIsRequired = "93304"
217
- IBANInvalidCharacter = "83305"
218
- BICInvalidCharacter = "83306"
219
- BICLengthIsInvalid = "83307"
220
- BICUnsupportedCountry = "83308"
221
- IBANUnsupportedCountry = "83309"
222
- IBANInvalidFormat = "83310"
223
- LocaleIsUnsupported = "93311"
224
- BillingAddressIsInvalid = "93312"
225
- TypeIsInvalid = "93313"
226
- end
227
-
228
205
  module Subscription
229
206
  BillingDayOfMonthCannotBeUpdated = "91918"
230
207
  BillingDayOfMonthIsInvalid = "91914"
@@ -295,7 +272,6 @@ module Braintree
295
272
  module Transaction
296
273
  AmountCannotBeNegative = "81501"
297
274
  AmountDoesNotMatch3DSecureAmount = "91585"
298
- AmountDoesNotMatchIdealPaymentAmount = "915144"
299
275
  AmountFormatIsInvalid = "81503" # Keep for backwards compatibility
300
276
  AmountIsInvalid = "81503" # Keep for backwards compatibility
301
277
  AmountIsRequired = "81502"
@@ -303,6 +279,7 @@ module Braintree
303
279
  AmountMustBeGreaterThanZero = "81531"
304
280
  AmountNotSupportedByProcessor = "815193"
305
281
  BillingAddressConflict = "91530"
282
+ BillingPhoneNumberIsInvalid = "915206"
306
283
  CannotBeVoided = "91504"
307
284
  CannotCancelRelease = "91562"
308
285
  CannotCloneCredit = "91543"
@@ -324,11 +301,11 @@ module Braintree
324
301
  CannotUpdateTransactionDetailsNotSubmittedForSettlement = "915129"
325
302
  ChannelIsTooLong = "91550"
326
303
  CreditCardIsRequired = "91508"
304
+ CustomFieldIsInvalid = "91526"
305
+ CustomFieldIsTooLong = "81527"
327
306
  CustomerDefaultPaymentMethodCardTypeIsNotAccepted = "81509"
328
307
  CustomerDoesNotHaveCreditCard = "91511"
329
308
  CustomerIdIsInvalid = "91510"
330
- CustomFieldIsInvalid = "91526"
331
- CustomFieldIsTooLong = "81527"
332
309
  DiscountAmountCannotBeNegative = "915160"
333
310
  DiscountAmountFormatIsInvalid = "915159"
334
311
  DiscountAmountIsTooLarge = "915161"
@@ -336,19 +313,17 @@ module Braintree
336
313
  FailedAuthAdjustmentHardDecline = "95602"
337
314
  FinalAuthSubmitForSettlementForDifferentAmount = "95601"
338
315
  HasAlreadyBeenRefunded = "91512"
339
- IdealPaymentNotComplete = "815141"
340
- IdealPaymentsCannotBeVaulted = "915150"
341
316
  LineItemsExpected = "915158"
342
317
  MerchantAccountDoesNotMatch3DSecureMerchantAccount = "91584"
343
- MerchantAccountDoesNotMatchIdealPaymentMerchantAccount = "915143"
344
318
  MerchantAccountDoesNotSupportMOTO = "91558"
345
319
  MerchantAccountDoesNotSupportRefunds = "91547"
346
320
  MerchantAccountIdDoesNotMatchSubscription = "915180"
347
321
  MerchantAccountIdIsInvalid = "91513"
348
322
  MerchantAccountIsSuspended = "91514"
349
- OrderIdDoesNotMatchIdealPaymentOrderId = "91503"
350
- OrderIdIsRequiredWithIdealPayment = "91502"
351
323
  OrderIdIsTooLong = "91501"
324
+ PayPalAuthExpired = "91579"
325
+ PayPalNotEnabled = "91576"
326
+ PayPalVaultRecordMissingData = "91583"
352
327
  PaymentInstrumentNotSupportedByMerchantAccount = "91577"
353
328
  PaymentInstrumentTypeIsNotAccepted = "915101"
354
329
  PaymentInstrumentWithExternalVaultIsInvalid = "915176"
@@ -363,9 +338,6 @@ module Braintree
363
338
  PaymentMethodNonceUnknown = "91565"
364
339
  PaymentMethodTokenCardTypeIsNotAccepted = "91517"
365
340
  PaymentMethodTokenIsInvalid = "91518"
366
- PayPalAuthExpired = "91579"
367
- PayPalNotEnabled = "91576"
368
- PayPalVaultRecordMissingData = "91583"
369
341
  ProcessorAuthorizationCodeCannotBeSet = "91519"
370
342
  ProcessorAuthorizationCodeIsInvalid = "81520"
371
343
  ProcessorDoesNotSupportAuths = "915104"
@@ -376,6 +348,7 @@ module Braintree
376
348
  ProcessorDoesNotSupportUpdatingOrderId = "915107"
377
349
  ProcessorDoesNotSupportUpdatingTransactionDetails = "915130"
378
350
  ProcessorDoesNotSupportVoiceAuthorizations = "91545"
351
+ ProductSkuIsInvalid = "915202"
379
352
  PurchaseOrderNumberIsInvalid = "91548"
380
353
  PurchaseOrderNumberIsTooLong = "91537"
381
354
  RefundAmountIsTooLarge = "91521"
@@ -393,6 +366,8 @@ module Braintree
393
366
  ShippingAmountCannotBeNegative = "915163"
394
367
  ShippingAmountFormatIsInvalid = "915162"
395
368
  ShippingAmountIsTooLarge = "915164"
369
+ ShippingMethodIsInvalid = "915203"
370
+ ShippingPhoneNumberIsInvalid = "915204"
396
371
  ShipsFromPostalCodeInvalidCharacters = "915167"
397
372
  ShipsFromPostalCodeIsInvalid = "915166"
398
373
  ShipsFromPostalCodeIsTooLong = "915165"
@@ -447,37 +422,36 @@ module Braintree
447
422
  IndustryTypeIsInvalid = "93401"
448
423
 
449
424
  module Lodging
450
- EmptyData = "93402"
451
- FolioNumberIsInvalid = "93403"
425
+ AdvancedDepositIndicatorIsInvalid = "93440"
452
426
  CheckInDateIsInvalid = "93404"
453
427
  CheckOutDateIsInvalid = "93405"
454
428
  CheckOutDateMustFollowCheckInDate = "93406"
455
- UnknownDataField = "93407"
456
- RoomRateMustBeGreaterThanZero = "93433"
429
+ EmptyData = "93402"
430
+ FireSafetyIndicatorIsInvalid = "93441"
431
+ FolioNumberIsInvalid = "93403"
432
+ NoShowIndicatorIsInvalid = "93439"
433
+ PropertyPhoneIsInvalid = "93442"
457
434
  RoomRateFormatIsInvalid = "93434"
458
435
  RoomRateIsTooLarge = "93435"
459
- RoomTaxMustBeGreaterThanZero = "93436"
436
+ RoomRateMustBeGreaterThanZero = "93433"
460
437
  RoomTaxFormatIsInvalid = "93437"
461
438
  RoomTaxIsTooLarge = "93438"
462
- NoShowIndicatorIsInvalid = "93439"
463
- AdvancedDepositIndicatorIsInvalid = "93440"
464
- FireSafetyIndicatorIsInvalid = "93441"
465
- PropertyPhoneIsInvalid = "93442"
439
+ RoomTaxMustBeGreaterThanZero = "93436"
440
+ UnknownDataField = "93407"
466
441
  end
467
442
 
468
443
  module TravelCruise
469
- EmptyData = "93408"
470
- UnknownDataField = "93409"
471
- TravelPackageIsInvalid = "93410"
472
444
  DepartureDateIsInvalid = "93411"
445
+ EmptyData = "93408"
473
446
  LodgingCheckInDateIsInvalid = "93412"
474
447
  LodgingCheckOutDateIsInvalid = "93413"
448
+ TravelPackageIsInvalid = "93410"
449
+ UnknownDataField = "93409"
475
450
  end
476
451
 
477
452
  module TravelFlight
478
- EmptyData = "93414"
479
- UnknownDataField = "93415"
480
453
  CustomerCodeIsTooLong = "93416"
454
+ EmptyData = "93414"
481
455
  FareAmountCannotBeNegative = "93417"
482
456
  FareAmountFormatIsInvalid = "93418"
483
457
  FareAmountIsTooLarge = "93419"
@@ -486,14 +460,15 @@ module Braintree
486
460
  FeeAmountIsTooLarge = "93422"
487
461
  IssuedDateFormatIsInvalid = "93423"
488
462
  IssuingCarrierCodeIsTooLong = "93424"
463
+ LegsExpected = "93431"
489
464
  PassengerMiddleInitialIsTooLong = "93425"
490
465
  RestrictedTicketIsRequired = "93426"
491
466
  TaxAmountCannotBeNegative = "93427"
492
467
  TaxAmountFormatIsInvalid = "93428"
493
468
  TaxAmountIsTooLarge = "93429"
494
469
  TicketNumberIsTooLong = "93430"
495
- LegsExpected = "93431"
496
470
  TooManyLegs = "93432"
471
+ UnknownDataField = "93415"
497
472
  end
498
473
 
499
474
  module Leg
@@ -522,30 +497,29 @@ module Braintree
522
497
  end
523
498
 
524
499
  module AdditionalCharge
525
- KindIsInvalid = "96601"
526
- KindMustBeUnique = "96602"
527
- AmountMustBeGreaterThanZero = "96603"
528
500
  AmountFormatIsInvalid = "96604"
529
- AmountIsTooLarge = "96605"
530
501
  AmountIsRequired = "96606"
502
+ AmountIsTooLarge = "96605"
503
+ AmountMustBeGreaterThanZero = "96603"
504
+ KindIsInvalid = "96601"
505
+ KindMustBeUnique = "96602"
531
506
  end
532
507
  end
533
508
 
534
509
  module ExternalVault
535
- StatusIsInvalid = "915175"
536
510
  CardTypeIsInvalid = "915178"
537
- StatusWithPreviousNetworkTransactionIdIsInvalid = "915177"
538
511
  PreviousNetworkTransactionIdIsInvalid = "915179"
512
+ StatusIsInvalid = "915175"
513
+ StatusWithPreviousNetworkTransactionIdIsInvalid = "915177"
539
514
  end
540
515
  end
541
516
 
542
517
  module TransactionLineItem
543
518
  CommodityCodeIsTooLong = "95801"
544
519
  DescriptionIsTooLong = "95803"
520
+ DiscountAmountCannotBeNegative = "95806"
545
521
  DiscountAmountFormatIsInvalid = "95804"
546
522
  DiscountAmountIsTooLarge = "95805"
547
- DiscountAmountMustBeGreaterThanZero = "95806" # Deprecated as the amount may be zero. Use DiscountAmountCannotBeNegative.
548
- DiscountAmountCannotBeNegative = "95806"
549
523
  KindIsInvalid = "95807"
550
524
  KindIsRequired = "95808"
551
525
  NameIsRequired = "95822"
@@ -554,6 +528,9 @@ module Braintree
554
528
  QuantityFormatIsInvalid = "95810"
555
529
  QuantityIsRequired = "95811"
556
530
  QuantityIsTooLarge = "95812"
531
+ TaxAmountCannotBeNegative = "95829"
532
+ TaxAmountFormatIsInvalid = "95827"
533
+ TaxAmountIsTooLarge = "95828"
557
534
  TotalAmountFormatIsInvalid = "95813"
558
535
  TotalAmountIsRequired = "95814"
559
536
  TotalAmountIsTooLarge = "95815"
@@ -563,13 +540,9 @@ module Braintree
563
540
  UnitAmountIsTooLarge = "95819"
564
541
  UnitAmountMustBeGreaterThanZero = "95820"
565
542
  UnitOfMeasureIsTooLong = "95821"
543
+ UnitTaxAmountCannotBeNegative = "95826"
566
544
  UnitTaxAmountFormatIsInvalid = "95824"
567
545
  UnitTaxAmountIsTooLarge = "95825"
568
- UnitTaxAmountMustBeGreaterThanZero = "95826" # Deprecated as the amount may be zero. Use UnitTaxAmountCannotBeNegative.
569
- UnitTaxAmountCannotBeNegative = "95826"
570
- TaxAmountFormatIsInvalid = "95827"
571
- TaxAmountIsTooLarge = "95828"
572
- TaxAmountCannotBeNegative = "95829"
573
546
  end
574
547
 
575
548
  module Merchant
@@ -583,96 +556,96 @@ module Braintree
583
556
  CountryNameIsInvalid = "93611"
584
557
  CountryNameIsNotAccepted = "93610"
585
558
  CurrenciesAreInvalid = "93614"
559
+ CurrencyIsInvalid = "93618"
560
+ CurrencyIsRequired = "93617"
586
561
  EmailFormatIsInvalid = "93602"
587
562
  EmailIsRequired = "83601"
588
563
  InconsistentCountry = "93612"
589
- PaymentMethodsAreInvalid = "93613"
590
- PaymentMethodsAreNotAllowed = "93615"
591
564
  MerchantAccountExistsForCurrency = "93616"
592
- CurrencyIsRequired = "93617"
593
- CurrencyIsInvalid = "93618"
594
- NoMerchantAccounts = "93619"
595
565
  MerchantAccountExistsForId = "93620"
596
566
  MerchantAccountNotAuthOnboarded = "93621"
567
+ NoMerchantAccounts = "93619"
568
+ PaymentMethodsAreInvalid = "93613"
569
+ PaymentMethodsAreNotAllowed = "93615"
597
570
  end
598
571
 
599
572
  module MerchantAccount
600
- IdIsTooLong = "82602"
573
+ CannotBeUpdated = "82674"
574
+ Declined = "82626"
575
+ DeclinedFailedKYC = "82623"
576
+ DeclinedMasterCardMatch = "82622"
577
+ DeclinedOFAC = "82621"
578
+ DeclinedSsnInvalid = "82624"
579
+ DeclinedSsnMatchesDeceased = "82625"
580
+ IdCannotBeUpdated = "82675"
601
581
  IdFormatIsInvalid = "82603"
602
582
  IdIsInUse = "82604"
603
583
  IdIsNotAllowed = "82605"
604
- MasterMerchantAccountIdIsRequired = "82606"
584
+ IdIsTooLong = "82602"
585
+ MasterMerchantAccountIdCannotBeUpdated = "82676"
605
586
  MasterMerchantAccountIdIsInvalid = "82607"
587
+ MasterMerchantAccountIdIsRequired = "82606"
606
588
  MasterMerchantAccountMustBeActive = "82608"
607
589
  TosAcceptedIsRequired = "82610"
608
- IdCannotBeUpdated = "82675"
609
- MasterMerchantAccountIdCannotBeUpdated = "82676"
610
- CannotBeUpdated = "82674"
611
- DeclinedOFAC = "82621"
612
- DeclinedMasterCardMatch = "82622"
613
- DeclinedFailedKYC = "82623"
614
- DeclinedSsnInvalid = "82624"
615
- DeclinedSsnMatchesDeceased = "82625"
616
- Declined = "82626"
617
590
 
618
591
  module ApplicantDetails
619
- FirstNameIsRequired = "82609"
620
- LastNameIsRequired = "82611"
621
- DateOfBirthIsRequired = "82612"
622
- RoutingNumberIsRequired = "82613"
592
+ AccountNumberIsInvalid = "82670"
623
593
  AccountNumberIsRequired = "82614"
624
- SsnIsInvalid = "82615"
625
- EmailAddressIsInvalid = "82616"
626
- FirstNameIsInvalid = "82627"
627
- LastNameIsInvalid = "82628"
628
594
  CompanyNameIsInvalid = "82631"
629
- TaxIdIsInvalid = "82632"
630
595
  CompanyNameIsRequiredWithTaxId = "82633"
631
- TaxIdIsRequiredWithCompanyName = "82634"
632
- RoutingNumberIsInvalid = "82635"
633
- DeclinedOFAC = "82621" # Keep for backwards compatibility
634
- DeclinedMasterCardMatch = "82622" # Keep for backwards compatibility
596
+ DateOfBirthIsInvalid = "82663"
597
+ DateOfBirthIsRequired = "82612"
598
+ Declined = "82626" # Keep for backwards compatibility
635
599
  DeclinedFailedKYC = "82623" # Keep for backwards compatibility
600
+ DeclinedMasterCardMatch = "82622" # Keep for backwards compatibility
601
+ DeclinedOFAC = "82621" # Keep for backwards compatibility
636
602
  DeclinedSsnInvalid = "82624" # Keep for backwards compatibility
637
603
  DeclinedSsnMatchesDeceased = "82625" # Keep for backwards compatibility
638
- Declined = "82626" # Keep for backwards compatibility
639
- PhoneIsInvalid = "82636"
640
- DateOfBirthIsInvalid = "82663"
641
- AccountNumberIsInvalid = "82670"
604
+ EmailAddressIsInvalid = "82616"
642
605
  EmailAddressIsRequired = "82665"
606
+ FirstNameIsInvalid = "82627"
607
+ FirstNameIsRequired = "82609"
608
+ LastNameIsInvalid = "82628"
609
+ LastNameIsRequired = "82611"
610
+ PhoneIsInvalid = "82636"
611
+ RoutingNumberIsInvalid = "82635"
612
+ RoutingNumberIsRequired = "82613"
613
+ SsnIsInvalid = "82615"
614
+ TaxIdIsInvalid = "82632"
615
+ TaxIdIsRequiredWithCompanyName = "82634"
643
616
  TaxIdMustBeBlank = "82673"
644
617
 
645
618
  module Address
646
- StreetAddressIsRequired = "82617"
647
619
  LocalityIsRequired = "82618"
620
+ PostalCodeIsInvalid = "82630"
648
621
  PostalCodeIsRequired = "82619"
622
+ RegionIsInvalid = "82664"
649
623
  RegionIsRequired = "82620"
650
624
  StreetAddressIsInvalid = "82629"
651
- PostalCodeIsInvalid = "82630"
652
- RegionIsInvalid = "82664"
625
+ StreetAddressIsRequired = "82617"
653
626
  end
654
627
  end
655
628
 
656
629
  module Individual
657
- FirstNameIsRequired = "82637"
658
- LastNameIsRequired = "82638"
630
+ DateOfBirthIsInvalid = "82666"
659
631
  DateOfBirthIsRequired = "82639"
660
- SsnIsInvalid = "82642"
661
632
  EmailIsInvalid = "82643"
633
+ EmailIsRequired = "82667"
662
634
  FirstNameIsInvalid = "82644"
635
+ FirstNameIsRequired = "82637"
663
636
  LastNameIsInvalid = "82645"
637
+ LastNameIsRequired = "82638"
664
638
  PhoneIsInvalid = "82656"
665
- DateOfBirthIsInvalid = "82666"
666
- EmailIsRequired = "82667"
639
+ SsnIsInvalid = "82642"
667
640
 
668
641
  module Address
669
- StreetAddressIsRequired = "82657"
670
642
  LocalityIsRequired = "82658"
643
+ PostalCodeIsInvalid = "82662"
671
644
  PostalCodeIsRequired = "82659"
645
+ RegionIsInvalid = "82668"
672
646
  RegionIsRequired = "82660"
673
647
  StreetAddressIsInvalid = "82661"
674
- PostalCodeIsInvalid = "82662"
675
- RegionIsInvalid = "82668"
648
+ StreetAddressIsRequired = "82657"
676
649
  end
677
650
  end
678
651
 
@@ -684,9 +657,9 @@ module Braintree
684
657
  TaxIdIsRequiredWithLegalName = "82648"
685
658
  TaxIdMustBeBlank = "82672"
686
659
  module Address
687
- StreetAddressIsInvalid = "82685"
688
660
  PostalCodeIsInvalid = "82686"
689
661
  RegionIsInvalid = "82684"
662
+ StreetAddressIsInvalid = "82685"
690
663
  end
691
664
  end
692
665
 
@@ -705,32 +678,32 @@ module Braintree
705
678
  end
706
679
 
707
680
  module SettlementBatchSummary
708
- SettlementDateIsRequired = "82301"
709
- SettlementDateIsInvalid = "82302"
710
681
  CustomFieldIsInvalid = "82303"
682
+ SettlementDateIsInvalid = "82302"
683
+ SettlementDateIsRequired = "82301"
711
684
  end
712
685
 
713
686
  module ClientToken
714
687
  CustomerDoesNotExist = "92804"
715
688
  FailOnDuplicatePaymentMethodRequiresCustomerId = "92803"
716
689
  MakeDefaultRequiresCustomerId = "92801"
690
+ MerchantAccountDoesNotExist = "92807"
717
691
  ProxyMerchantDoesNotExist = "92805"
718
- VerifyCardRequiresCustomerId = "92802"
719
692
  UnsupportedVersion = "92806"
720
- MerchantAccountDoesNotExist = "92807"
693
+ VerifyCardRequiresCustomerId = "92802"
721
694
  end
722
695
 
723
696
  module PaymentMethod
724
- PaymentMethodNonceConsumed = "93106"
697
+ CannotForwardPaymentMethodType = "93107"
725
698
  CustomerIdIsInvalid = "93105"
726
699
  CustomerIdIsRequired = "93104"
727
700
  NonceIsInvalid = "93102"
728
701
  NonceIsRequired = "93103"
729
- PaymentMethodParamsAreRequired = "93101"
730
- PaymentMethodNonceUnknown = "93108"
731
- PaymentMethodNonceLocked = "93109"
732
- CannotForwardPaymentMethodType = "93107"
733
702
  PaymentMethodNoLongerSupported = "93117"
703
+ PaymentMethodNonceConsumed = "93106"
704
+ PaymentMethodNonceLocked = "93109"
705
+ PaymentMethodNonceUnknown = "93108"
706
+ PaymentMethodParamsAreRequired = "93101"
734
707
 
735
708
  module Options
736
709
  UsBankAccountVerificationMethodIsInvalid = "93121"
@@ -757,48 +730,57 @@ module Braintree
757
730
 
758
731
  module Verification
759
732
  module Options
733
+ AccountTypeIsInvalid = "942184"
734
+ AccountTypeNotSupported = "942185"
760
735
  AmountCannotBeNegative = "94201"
761
736
  AmountFormatIsInvalid = "94202"
762
737
  AmountIsTooLarge = "94207"
763
738
  AmountNotSupportedByProcessor = "94203"
739
+ MerchantAccountCannotBeSubMerchantAccount = "94208"
764
740
  MerchantAccountIdIsInvalid = "94204"
765
- MerchantAccountIsSuspended = "94205"
766
741
  MerchantAccountIsForbidden = "94206"
767
- MerchantAccountCannotBeSubMerchantAccount = "94208"
768
- AccountTypeIsInvalid = "942184"
769
- AccountTypeNotSupported = "942185"
742
+ MerchantAccountIsSuspended = "94205"
770
743
  end
771
744
 
772
- ThreeDSecureAuthenticationIdIsInvalid = "942196"
745
+ AmountDoesNotMatch3DSecureAmount = "94285"
746
+ MerchantAccountDoesNotSupport3DSecure = "942169"
747
+ MerchantAcountDoesNotMatch3DSecureMerchantAccount = "94284"
748
+ ThreeDSecureAuthenticationFailed = "94271"
773
749
  ThreeDSecureAuthenticationIdDoesntMatchNonceThreeDSecureAuthentication = "942198"
774
- ThreeDSecureTransactionPaymentMethodDoesntMatchThreeDSecureAuthenticationPaymentMethod = "942197"
750
+ ThreeDSecureAuthenticationIdIsInvalid = "942196"
775
751
  ThreeDSecureAuthenticationIdWithThreeDSecurePassThruIsInvalid = "942199"
776
- ThreeDSecureAuthenticationFailed = "94271"
777
752
  ThreeDSecureTokenIsInvalid = "94268"
753
+ ThreeDSecureTransactionPaymentMethodDoesntMatchThreeDSecureAuthenticationPaymentMethod = "942197"
778
754
  ThreeDSecureVerificationDataDoesntMatchVerify = "94270"
779
- MerchantAccountDoesNotSupport3DSecure = "942169"
780
- MerchantAcountDoesNotMatch3DSecureMerchantAccount = "94284"
781
- AmountDoesNotMatch3DSecureAmount = "94285"
782
755
 
783
756
  module ThreeDSecurePassThru
784
- EciFlagIsRequired = "942113"
785
- EciFlagIsInvalid = "942114"
786
- CavvIsRequired = "942116"
787
- ThreeDSecureVersionIsRequired = "942117"
788
- ThreeDSecureVersionIsInvalid = "942119"
789
757
  AuthenticationResponseIsInvalid = "942120"
790
- DirectoryResponseIsInvalid = "942121"
791
758
  CavvAlgorithmIsInvalid = "942122"
759
+ CavvIsRequired = "942116"
760
+ DirectoryResponseIsInvalid = "942121"
761
+ EciFlagIsInvalid = "942114"
762
+ EciFlagIsRequired = "942113"
763
+ ThreeDSecureVersionIsInvalid = "942119"
764
+ ThreeDSecureVersionIsRequired = "942117"
792
765
  end
793
766
  end
794
767
 
795
768
  module UsBankAccountVerification
796
- NotConfirmable = "96101"
797
- MustBeMicroTransfersVerification = "96102"
798
769
  AmountsDoNotMatch = "96103"
770
+ InvalidDepositAmounts = "96106"
771
+ MustBeMicroTransfersVerification = "96102"
772
+ NotConfirmable = "96101"
799
773
  TooManyConfirmationAttempts = "96104"
800
774
  UnableToConfirmDepositAmounts = "96105"
801
- InvalidDepositAmounts = "96106"
775
+ end
776
+
777
+ module RiskData
778
+ CustomerBrowserIsTooLong = "94701"
779
+ CustomerDeviceIdIsTooLong = "94702"
780
+ CustomerLocationZipInvalidCharacters = "94703"
781
+ CustomerLocationZipIsInvalid = "94704"
782
+ CustomerLocationZipIsTooLong = "94705"
783
+ CustomerTenureIsTooLong = "94706"
802
784
  end
803
785
  end
804
786
  end