- Add
fail_on_duplicate_payment_method_for_customer
option toClientToken
PaymentMethod
CreditCard
- Add
blik_aliases
to LocalPaymentCompleted webhook and LocalPaymentDetails - Deprecate
SamsungPayCard
- Add
payerName
,bic
andiban_last_chars
to LocalPaymentCompleted webhook - Add
editPaypalVaultId
to PayPalAccount - Add
aniFirstNameResponseCode
andaniLastNameResponseCode
to CreditCardVerificationGateway - Add
shippingTaxAmount
to Transaction - Add
networkTokenizationAttributes
toTransaction.sale
- Add error code
NetworkTokenizationAttributeCryptogramIsRequired
for attributecryptogram
innetworkTokenizationAttributes
- Add
foreignRetailer
to Transaction - Add
internationalPhone
toAddress
andCustomer
- Add
fundingSourceDescription
to PayPalAccount - Add missing
AndroidPayCard
error code - Add
RefundFailed
toWebhookNotification.Kind
- Add
finalCapture
to Transaction_submitForPartialSettlementSignature
- Deprecate
paypalTrackingId
in favor ofpaypalTrackerId
- Add
domains
parameter support toClientToken.generate
- Refactor key validation in
ClientTokenGateway
- Add
UnderReview
toDispute.Status
- Add
DisputeUnderReview
toWebhookNotification.Kind
- Add
packageTracking
method totransaction_gateway
to make request to add tracking information to transactions - Add
Packages
to Transaction object - Add
upcCode
,upcType
, andimageUrl
tolineItems
intransaction_gateway
- Add
process_debit_as_credit
tocredit_card
field intransaction_gateway
for transactionoptions
- Add support for
phoneNumber
params inCustomer.create
andTransaction.sale
requests - Add parameters validation check for
CreditCardVerificationGateway
create request
- Add
dateOfBirth
andcountryCode
toindustry_data
- Add
verificationAddOns
toPaymentMethod
create options for ACHNetworkCheck
- Add
MetaCheckoutCard
andMetaCheckoutToken
to Transaction object
- Add
arrivalDate
andticketIssuerAddress
toTransaction.sale
request - Add
SubscriptionBillingSkipped
toWebhookNotification.Kind
- Add
debitNetwork
toTransaction.sale
- Add
DebitNetwork
enum toCreditCard
- Add
debitNetwork
to search criteria inTransaction.search
- Add
merchantTokenIdentifier
andsourceCardLast4
toApplePayCard
andApplePayDetail
- Add
processing_overrides
toTransaction.sale
options
- Add
merchant_advice_code
andmerchant_advice_code_text
to Transaction object
- Update
xml2js
to v0.5.0
- Add
intendedTransactionSource
toCreditCardVerificationGateway
- Add
paymentMethodNonce
toCreditCardVerificationGateway
- Add
threeDSecureAuthenticationId
toCreditCardVerificationGateway
- Add
threeDSecurePassThru
toCreditCardVerificationGateway
- Deprecated
threeDSecureToken
in favor ofthreeDSecureAuthenticationId
- Deprecate
venmoSdkPaymentMethodCode
andvenmoSdkSession
inTransactionGateway
,CustomerGateway
, andCreditCardGateway
- Add support for subscriptions in SEPA direct debit accounts
- Add
SEPADirectDebitAccount
payment method - Add
SEPADirectDebitAccountDetails
to transaction object - Add
SEPADirectDebitNonceDetails
to payment method nonce object - Add
SEPA_DIRECT_DEBIT_ACCOUNT
to payment instrument type - Add
SepaDirectDebitAccount
to customer object - Add
sepaDebitPaypalV2_OrderId
to transaction search text fields - Add SEPA Direct Debit specific error codes
- Add SEPA Direct Debit array to customer object
- Bump ansi-regex from 3.0.0 to 3.0.1
- Bump eslint-config-prettier from 8.4.0 to 8.5.0
- Bump prettier from 2.5.1 to 2.7.1
- Add
preDisputeProgram
toDispute
andDisputeSearch
- Add
AutoAccepted
toDispute.Status
- Add
DisputeAutoAccepted
toWebhookNotification.Kind
- Deprecate
chargebackProtectionLevel
and addprotectionLevel
toDispute
- Add support for
ExchangeRateQuote
API - Add
LiabilityShift
class andliabilityShift
to RiskData - Add
ReasonCode
to search for transactions that have ach return response reason code associated with them. - Add
reasonCode
to search criteria in TransactionSearch` - Add
achReturnResponsesCreatedAt
toTransactionSearch
- Added test for
retried
field on transaction.sale response
- Add
PaymentMethodCustomerDataUpdated
webhook notification support
- Add support for passing a custom http agent in Configuration (thanks @blugavere & @James1x0!)
- Add support for
TransactionReview
webhook notification - Add plan create/update/find API endpoint
- Add error code
TaxAmountIsRequiredForAibSwedish
for attributetax_amount
intransaction
key for AIB:Domestic transactions in Sweden - Add
exchangeRateQuoteId
toTransactionGateway
- Add
ExchangeRateQuoteIdIsTooLong
tovalidation_error_codes
- Add the following fields to
AndroidPayCard
andApplePayCard
:commercial
debit
durbinRegulated
healthcare
payroll
prepaid
productId
countryOfIssuance
issuingBank
- Add
localPaymentFunded
andlocalPaymentExpired
webhook notication support
- Fix issue where webhook data passed to
LocalPaymentReversed
webhook class is missing - Add
grantedPaymentInstrumentUpdate
toWebhookNotification
- Add
paymentReaderCardDetails
parameter toTransaction.sale
- Add
skipAdvancedFraudChecking
toCustomer.create
andCustomer.update
- Add webhook sample for
GrantedPaymentMethodRevoked
- Add
venmoAccountDetails
toTransaction
- Add
chargebackProtectionLevel
into dispute search
- Add
taxIdentifiers
parameter toCustomer.create
andCustomer.update
- Add
LocalPaymentReversed
webhook notification support - Support all options for
gateway.transaction.submitForSettlement
andgateway.transaction.submitForPartialSettlement
- Fix issue where options passed to
gateway.transaction.submitForSettlement
were being ignored (closes #168) - Fix issue where options passed to
gateway.transaction.submitForPartialSettlement
were being ignored - Add
storeId
andstoreIds
fields toTransaction.search
- Add
Transaction.adjustAuthorization()
method to support multiple authorizations for a single transaction
- Update
dateformat
module to v4.5.1
- Remove unnecessary
user
package (#186)
plan.all
,discount.all
andaddOn.all
return collections of plan, discount and addOn objects respectively. (fixes #178)- Deprecate
deviceSessionId
andfraudMerchantId
in theCrediteCardGateway
,CustomerGateway
,PaymentMethodGateway
, andTransactionGateway
classes
- Add
installments
toTransaction
requests - Add
count
toinstallments
- Add
scaExemption
toTransactionGateway
- Add exceptions defined in
exceptions.js
as an export (thanks @jtcooper10!)
- Add
AcquirerReferenceNumber
toTransaction
- Deprecate
recurring
intransaction.sale()
requests
- Add
RequestTimeoutError
andGatewayTimeoutError
exceptions - Remove several no-longer-used dependencies (underscore, semver and readable-stream)
- Breaking Changes
- Rename
braintree/lib/test
tobraintree/lib/test_values
to avoid accidental removal of directories namedtest
(fixes #98 and #174) - Remove deprecated iDEAL, Coinbase, and Transparent Redirect
- Remove deprecated
connect
method - Config class now throws an error when token environment does not match passed environment
- Remove
GrantedPaymentInstrumentUpdate
(deprecated in 2.16.0) - Remove
InvalidTransparentRedirectHashError
- Remove
SEPA
test nonce - Remove deprecated
tag
parameter from dispute calls - Remove deprecated validation error codes:
DiscountAmountMustBeGreaterThanZero
UnitTaxAmountMustBeGreaterThanZero
SEPABankAccount
:IBANIsRequired
BICIsRequired
AccountHolderNameIsRequired
SEPAMandate
:AccountHolderNameIsRequired
BICIsRequired
IBANIsRequired
TypeIsRequired
IBANInvalidCharacter
BICInvalidCharacter
BICLengthIsInvalid
BICUnsupportedCountry
IBANUnsupportedCountry
IBANInvalidFormat
BillingAddressConflict
BillingAddressIdIsInvalid
TypeIsInvalid
AmountDoesNotMatchIdealPaymentAmount
IdealPaymentNotComplete
IdealPaymentsCannotBeVaulted
MerchantAccountDoesNotMatchIdealPaymentMerchantAccount
OrderIdDoesNotMatchIdealPaymentOrderId
OrderIdIsRequiredWithIdealPayment
- Rename
DownForMaintenanceError
toServiceUnavailableError
- Transaction searches throw
UnexpectedError
instead ofDownForMaintenanceError
when search response yields unexpected results - Remove Masterpass Card support
- Remove Amex Express Checkout Card support
- Rename
braintree/lib/test
tobraintree/lib/test_values
to avoid accidental removal of directories namedtest
(fixes #98 and #174) - Fix bug where
expired
andexpiringBetween
methods onCreditCardGateway
did not return full credit card results - Bump API version to support declined refund objects.
- Rename
- Add *
GatewayRejectionReason.RiskThreshold
toTransaction
- Update @braintree/wrap-promise to v2.1.0
- Add
networkTransactionId
toCreditCardVerification
- Add
retrievalReferenceNumber
toTransaction
- Add
productSku
toTransaction
- Add
phoneNumber
andshippingMethod
toAddress
- Add
customerDeviceId
,customerLocationZip
, andcustomerTenure
toRiskData
- Add validation errors:
Transaction.ProductSkuIsInvalid
Transaction.ShippingMethodIsInvalid
Transaction.ShippingPhoneNumberIsInvalid
Transaction.BillingPhoneNumberIsInvalid
RiskData.CustomerBrowserIsTooLong
RiskData.CustomerDeviceIdIsTooLong
RiskData.CustomerLocationZipInvalidCharacters
RiskData.CustomerLocationZipIsInvalid
RiskData.CustomerLocationZipIsTooLong
RiskData.CustomerTenureIsTooLong
- Add
processedWithNetworkToken
toTransaction
- Add
isNetworkTokenized
toCreditCard
- Add
threeDSecurePassThru
parameters toCustomer.create
,PaymentMethod.create
,CreditCard.create
,Customer.update
,PaymentMethod.update
andCreditCard.update
- Add
threeDSecureAuthenticationId
support on transaction sale - Add ThreeDSecure test payment method nonces
- Add test
AuthenticationId
s Unreleased - Add
DisputeAccepted
,DisputeDisputed
, andDisputeExpired
webhook constants - Add
Authentication Insight
support to payment method nonce create - Add
recurringCustomerConsent
andrecurringMaxAmount
toauthenticationInsightOptions
forPaymentMethodNonce.create
- Add
FileIsEmpty
error code
- Add
RefundAuthHardDeclined
andRefundAuthSoftDeclined
to validation errors - Add GraphQL ID to
CreditCardVerification
,Customer
,Dispute
, andTransaction
- Add level 2 processing options
purchaseOrderNumber
,taxAmount
, andtaxExempt
on transaction submitForSettlement - Add level 3 processing options
discountAmount
,shippingAmount
,shipsFromPostalCode
, andlineItems
on transaction submitForSettlement
- Add
AmountNotSupportedByProcessor
validation error to Transaction - Add
ProcessorDoesNotSupportMotoForCardType
to validation errors - Fix issue where
SettlementBatchSummary
did not include some custom fields
- Add Venmo
TokenIssuance
gateway rejection reason
- Add
PostalCodeIsRequiredForCardBrandAndProcessor
to validation errors - Add
PayPalHereDetails
to Transaction - Add
xid
,cavv
,eciFlag
,dsTransactionId
, andthreeDSecureVersion
toThreeDSecureInfo
- Add
ThreeDSecureInfo
toCreditCardVerification
- Add
GraphQLClient
toBraintreeGateway
class
- Add
captureId
field to localPayment - Add
refundId
field to localPayment - Add
debugId
field to localPayment - Add
transactionFeeAmount
field to localPayment - Add
transactionFeeCurrencyIsoCode
field to localPayment - Add
refundFromTransactionFeeAmount
field to localPayment - Add
refundFromTransactionFeeCurrencyIsoCode
field to localPayment - Add
threeDSecureVersion
,authenticationResponse
,directoryResponse
,cavvAlgorithm
anddsTransactionId
to 3DS pass thru fields - Add
payerInfo
field to paymentMethodNonce - Add
roomTax
support on transaction sale - Add
noShow
support on transaction sale - Add
advancedDeposit
support on transaction sale - Add
fireSafe
support on transaction sale - Add
propertyPhone
support on transaction sale - Add
additionalCharges
support on transaction sale
- Update @braintree/wrap-promise to v2.0.0
- Errors thrown inside developer provided callback functions will log in the console instead of killing the node process wrap-promise#4
- Add
refundFromTransactionFeeAmount
field to paypalAccount - Add
refundFromTransactionFeeCurrencyIsoCode
field to paypalAccount - Add
LocalPaymentDetails
to transactions - Add
revokedAt
field to paypalAccount - Add support for
PaymentMethodRevokedByCustomer
webhook - Add
payment_method_nonce
field toLocalPaymentCompleted
webhook - Add
transaction
field toLocalPaymentCompleted
webhook
- Deprecate
GrantedPaymentInstrumentUpdate
and addGrantorUpdatedGrantedPaymentMethod
andRecipientUpdatedGrantedPaymentMethod
- Add
accountType
toTransaction
,PaymentMethod
, andCreditCardVerification
.
- Add
bin
field topaymentMethodNonceDetails
- Add Error indicating pdf uploads too long for dispute evidence.
- Add
GrantedPaymentMethodRevoked
webhook response objects - Add ability to instantiate a new Braintree Gateway directly
- Add
GraphQL
to main module (require('braintree').GraphQL
)
- Add
processor_response_type
toTransaction
,AuthorizationAdjustment
, andCreditCardVerification
. - Add
authorizationExpiresAt
toTransaction
- Fix
webhookNotification.grantedPaymentInstrumentUpdate
typo to be the correct name - Allow PayPal payment ID and payer ID to be passed during transaction create
- Add
fraudServiceProvider
field inriskData
- Add
travel_flight
support to industry-specific data
- Fix
transaction.lineItems
method when returned from transaction searches (#146)
- Add missing UsBankAccountVerification export
- Fix dispute results in transactions not showing the correct status sometime
- Fix issue with request lib when used with testing tools (#147)
- Add
externalVault
option to transaction sale - Visa transactions will now contain a
networkTransactionIdentifier
in the response - Add
LocalPaymentCompleted
webhook notification support
- Add subscription charged unsuccessfully sample webhook to webhook testing gateway
- Add
processor_response_code
andprocessor_response_text
to authorization adjustments subfield in transaction response. - Add
Dispute
to top levelbraintree
object - Add Samsung Pay support
- Add processor respone code and processor response text to authorization adjustments subfield in transaction response.
- Throw error if invalid Payload on
CustomerGateway.create
- Allow payee ID to be passed in options params for transaction create
- Add
merchant_id
alias to ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks - Fix webhook testing sample xml for dispute webhooks to include
amount-won
andamount-disputed
Config
creation withAccessToken
should not requireenvironment
. AnError
will be logged if optionalenvironment
does not match withAccessToken
's parsed environment- Add processor respone code and processor response text to authorization adjustments subfield in transaction response.
- Bank Account verifications API
- Add
oauthAccessRevocation
toWebhookNotification
s - Add support for dispute search by
customerId
,effectiveDate
, anddisbursementDate
- Remove
sepaMandateType
andsepaMandateAcceptanceLocation
params fromClientTokenGateway
- Add support for categorized dispute evidence
- Fix binary multipart uploads.
- Add support for
association_filter_id
inCustomer#find
- Fixes issue where some response objects were not serializable (#126)
- Throw error if signature or payload is null in
WebhookNotificationGateway
. - Add support for
profile_id
in Transaction#create options for VenmoAccounts.
- Deprecated
LineItem/DiscountAmountMustBeGreaterThanZero
error in favor ofDiscountAmountCannotBeNegative
. - Deprecated
LineItem/UnitTaxAmountMustBeGreaterThanZero
error in favor ofUnitTaxAmountCannotBeNegative
. - Add
sourceMerchantId
toWebhookNotification
s if present - Add support for
taxAmount
field on transactionlineItems
- Add
lineItems
method toTransaction
- Add support for Level 3 summary parameters:
shippingAmount
,discountAmount
, andshipsFromPostalCode
- Fix spec to expect PayPal transactions to move to settling rather than settled
- Add support for transaction line items
- Add support for tagged evidence in
DisputeGateway#addTextEvidence
(Beta release)
- Add Too Many Requests error
- Add GrantedPaymentInstrumentUpdate webhook support
- Add ability to create a transaction from a shared nonce
- Fix spec to expect PayPal transaction to settle immediately after successful capture
- Add
options
->paypal
->shipping
for creating & updating customers as well as creating payment methods - Add Visa Checkout and Masterpass payment instrument types (Thanks @yijielee)
- Add AuthorizationAdjustment class and
authorizationAdjustments
to Transaction - Coinbase is no longer a supported payment method.
PaymentMethodNoLongerSupported
will be returned for Coinbase operations. - Add facilitated details to Transaction if present
- Add
submit_for_settlement
toSubscription.retryCharge
- Add
options
->paypal
->description
for creating and updating subscriptions - Add Dispute API
- Add DocumentUpload API
- Add
deviceDataCaptured
field inriskData
- Add support for upgrading a PayPal future payment refresh token to a billing agreement
- Fixes wrap-promise issue (closes #102) - Thanks @targunp
- Add iDEAL to PaymentInstrumentTypes
- Adds support for gzip
- Fixes request timeout issue (closes #99)
- All async methods (with the exception of search methods) return a promise if no callback is provided
- Add support for additional PayPal options when vaulting a PayPal Order
- Add iDEAL support
- Add Visa Checkout Support
- Add Masterpass support
- Add ConnectedMerchantPayPalStatusChanged and ConnectedMerchantStatusTransitioned webooks
- Fix a bug where merchantAccounts.all would attempt to fetch too many pages of merchant accounts
- Fix a bug where OAuth connect urls did not properly escape special characters
- Fix bug where SDK version number was not being sent in requests
- Drop support for Node versions < 4
transaction.submitForSettlement
can no longer take an arbitrary number of arguments- Call callback with an error when invalid keys are used instead of logging a deprecation warning
- Fix a bug where xml parsing errors were not being caught
- Stop sending account_description field from us bank accounts
- Add functionality to list all merchant accounts for a merchant with
merchantAccount.all
- Add multi-currency updates to merchants onboarded through Braintree Auth
- Update UsBank tests to use legal routing numbers
- Add option
skip_advanced_fraud_check
for transaction flows - Raise an exception when advanced search times out
- Spec updates for deprecated keys
- Added error handling for missing configuration credentials
- Fix
UsBankAccount
support forCustomer
s
- Add 'UsBankAccount' payment method
- Add support for passing risk data
- Allow updating default_payment_method on customer
- Support passing
transaction_source
to set MOTO or recurring ECI flag
- Add OrderId to refund
- Add 3DS Pass thru support
- Export missing Payment Instrument Types (Thanks, @kamilwaheed)
- Add method of revoking OAuth access tokens
- Add transaction
UpdateDetails
- Add multi-currency support for merchant
create
- Add logic to stop duplicate callbacks in timeouts (closes issue #76)
- Fix issue when checking the instance of a customer's payment method
- Add timeout attribute to config
- Add AddOns.all method
- Add AccountUpdaterDailyReport webhook parsing
- Fix bug in test transaction webhooks
- Add verification create API
- Add options to
submit_for_settlement
transaction flows
- Update version number
- Add deprecation warnings for unknown parameters in
submitForSettlement
- Add transaction validation errors ProcessorDoesNotSupportUpdatingOrderId and ProcessorDoesNotSupportUpdatingDescriptor
- Add payment method revoke
- Make payment method grant return a result object
- Add VenmoAccount
- Add support for Set Transaction Context supplementary data
- Add check webhook kind constant
- Add transaction data to subscription charged successful webhook
- Add new ProcessorDoesNotSupportAuths error
- Export validation error codes
- Add constants for dispute kind
- Add support for partial settlement transactions
- Add date-opened and date-won to dispute webhooks
- Expose amex express checkout method
- Add sourceDescription to Android Pay and Apple Pay
- Add billingAgreementId to PaypalAccount
- Add support for Amex rewards transactions
- Add new test payment method nonces
- Allow passing description on PayPal transactions
- Add methods to change transaction settlement status in sandbox
- Add oauth support
- Add support for Android Pay
- Validate webhook challenge payload
- Add missing criteria to CreditCardVerification search
- Add 3DS info to server side
- Add Coinbase support
- Add support for 3DSecure
- Surface Apple Pay payment instrument name in responses
- Add error code constants
- Allow PayPal parameters inside of options.paypal
- Add risk_data to Transaction and Verification with Kount decision and id
- Add verification_amount an option when creating a credit card
- Add TravelCruise industry type to Transaction
- Add room_rate to Lodging industry type
- Add CreditCard#verification as the latest verification on that credit card
- Add ApplePay support to all endpoints that may return ApplePayCard objects
- Add prefix to sample Webhook to simulate webhook query params
- Allow descriptor to be passed in Funding Details options params for Merchant Account create and update.
- Add additional_processor_response to transaction
- Allow payee_email to be passed in options params for Transaction create
- Added paypal specific fields to transaction calls
- Added SettlementPending, SettlementDeclined transaction statuses
- Add descriptor url support
- Allow credit card verification options to be passed outside of the nonce for PaymentMethod.create
- Allow billing_address parameters and billing_address_id to be passed outside of the nonce for PaymentMethod.create
- Add Subscriptions to paypal accounts
- Add PaymentMethod.update
- Add fail_on_duplicate_payment_method option to PaymentMethod.create
- Add supoort for dispute webhooks
- Support for v.zero SDKs.
- Changed Braintree exceptions to Error objects (thanks Raynos)
- Make webhook parsing more robust with newlines
- Add messages to InvalidSignature exceptions
- Include Dispute information on Transaction
- Search for Transactions disputed on a certain date
- Disbursement Webhooks
- Expose constants for advanced search
- Adds ability to consume search results as a readable stream in node versions prior to 0.10
- Adds ability to consume credit card verification search results as a readable stream
- Adds ability to consume search results as a readable stream
- Merchant account find API
- Merchant account update API
- Merchant account create API v2
- Update configuration URLs
- Adds support for Partnerships
- Adds holdInEscrow method
- Add error codes for verification not supported error
- Supports company_name and tax_id on merchant account create
- Adds cancel_release method
- Adds release_from_escrow functionality
- Adds merchant account phone error code.
- Adds disbursement details to transactions.
- Adds image url to transactions.
- Adds channel field to transactions.
- Adds country of issuance and issuing bank
- Adds verification search
- Additional card information, such as prepaid, debit, commercial, Durbin regulated, healthcare, and payroll, are returned on credit card responses
- Allows transactions to be specified as recurring
- Add prepaid field to credit card (possible values include Yes, No, Unknown)
- Compatibility with Node 0.8.x
- Fix dateFormat bug with months after October in CreditCardGateway
- Fix TransparentRedirecteGateway url method to return full url (thanks to sberryman)
- Add webhook gateways for parsing, verifying, and testing incoming notifications
- Use util.log instead of sys.puts for logging
- Add underscore as a dependency
- Allow failing on credit card creation if a duplicate card already exists
- Add search functionality
- Exposes plan_id on transactions
- Update to be compatible with Node 0.6.6 and replace o3-xml with xml2js (special thanks to thepatrick)