braintree
Version:
A library for server-side integrating with Braintree.
853 lines (593 loc) • 29.4 kB
Markdown
# Changelog
## 3.36.0
- Add `acceptPartialAuthorization` to `TransactionGateway` and `partiallyAuthorized` in `Transaction`
- Deprecate transactions for `visa_checkout_card` and maintain search functionality
- Add `achType` and `requestedAchType` to `Transaction`
- Add `achType` to `TransactionOptionsUsBankAccount`
## 3.35.0
- Add `middleName` to sender and receiver, and `dateOfBirth` to sender in transfer on Transaction
- Change error path from authorizationAdjustment to transaction for authorization adjustment validation errors
- Filter `CreditCardVerification.search()` to only return credit card verifications
## 3.34.0
- Add Bank Account Instant Verification functionality for Open Banking flow
- Add `BankAccountInstantVerificationGateway` with `createJwt()` method
- Add `BankAccountInstantVerificationJwt` and `BankAccountInstantVerificationJwtRequest` classes
- Add `bankAccountInstantVerification` gateway to main `BraintreeGateway`
- Add ACH mandate support for US Bank Account transactions
- Add `achMandateText` and `achMandateAcceptedAt` parameters to transaction gateway
- Add `usBankAccount` parameters support in transaction creation
- Add `InstantVerificationAccountValidation` method to `UsBankAccountVerification.VerificationMethod`
- Add `achRejectReason` to `Transaction`
- Add `sender` and `receiver` to `transfer` in `Transaction`
- Add `isDeviceToken` to `ApplePayCard` and `ApplePayDetails`
- Add `paymentAccountReference` to `CreditCard`, `ApplePayCard`, `AndroidPayCard`, and `CreditCardVerification`
- Add missing `transfer` validation error codes in `Transaction`
- Add `processingMerchantCategoryCode` to `TransactionRequest`
## 3.33.1
- Remove unneeded npm dependency
## 3.33.0
- Add `upcomingRetryDate` to `Transaction`
- Add `remainingFileEvidenceStorage` to Dispute
- Add `transaction_retried` webhook
- Add transfer type to `Transaction`
## 3.32.0
- Add Session Id to Customer Recommendations Payload
## 3.31.0
- Add `accountInformationInquiry` to
- `Customer.create` and `Customer.update`
- `CreditCardVerificationGateway`
- Enhancements to PayPal customer recommendations
- Create a session and get recommendations in one call
- Hash customer email and phone number
- Add business, consumer, corporate, and purchase from bin data in credit card responses
## 3.30.0
- Removes marketplace features
- Add support for capturing payment facilitator and sub-merchant details with transactions
## 3.29.0
- Fixes export for GraphQL classes
- Updates comments for customer session
- Add support for `PayPalPaymentResource` requests
- Add prepaid_reloadable from bin data in credit card responses
## 3.28.0
- Add support for creating and updating PayPal customer session
- Add support for getting PayPal customer recommendations
## 3.27.0
- Add recipient/contact info: `recipient_email`and `recipient_phone` to `Transaction
## 3.26.0
- Add `fail_on_duplicate_payment_method_for_customer` option to
- `ClientToken`
- `PaymentMethod`
- `CreditCard`
- Add `blik_aliases` to LocalPaymentCompleted webhook and LocalPaymentDetails
- Deprecate `SamsungPayCard`
## 3.25.0
- Add `payerName`, `bic` and `iban_last_chars` to LocalPaymentCompleted webhook
- Add `editPaypalVaultId` to PayPalAccount
- Add `aniFirstNameResponseCode` and `aniLastNameResponseCode` to CreditCardVerificationGateway
- Add `shippingTaxAmount` to Transaction
- Add `networkTokenizationAttributes` to `Transaction.sale`
- Add error code `NetworkTokenizationAttributeCryptogramIsRequired` for attribute `cryptogram` in `networkTokenizationAttributes`
## 3.24.0
- Add `foreignRetailer` to Transaction
- Add `internationalPhone` to `Address` and `Customer`
- Add `fundingSourceDescription` to PayPalAccount
- Add missing `AndroidPayCard` error code
- Add `RefundFailed` to `WebhookNotification.Kind`
- Add `finalCapture` to Transaction `_submitForPartialSettlementSignature`
- Deprecate `paypalTrackingId` in favor of `paypalTrackerId`
## 3.23.0
- Add `domains` parameter support to `ClientToken.generate`
- Refactor key validation in `ClientTokenGateway`
## 3.22.0
- Add `UnderReview` to `Dispute.Status`
- Add `DisputeUnderReview` to `WebhookNotification.Kind`
## 3.21.0
- Add `packageTracking` method to `transaction_gateway` to make request to add tracking information to transactions
- Add `Packages` to Transaction object
- Add `upcCode`, `upcType`, and `imageUrl` to `lineItems` in `transaction_gateway`
- Add `process_debit_as_credit` to `credit_card` field in `transaction_gateway` for transaction `options`
## 3.20.0
- Add support for `phoneNumber` params in `Customer.create` and `Transaction.sale` requests
- Add parameters validation check for `CreditCardVerificationGateway` create request
## 3.19.0
- Add `dateOfBirth` and `countryCode` to `industry_data`
- Add `verificationAddOns` to `PaymentMethod` create options for ACH `NetworkCheck`
- Add `MetaCheckoutCard` and `MetaCheckoutToken` to Transaction object
## 3.18.0
- Add `arrivalDate` and `ticketIssuerAddress` to `Transaction.sale` request
- Add `SubscriptionBillingSkipped` to `WebhookNotification.Kind`
- Add `debitNetwork` to `Transaction.sale`
- Add `DebitNetwork` enum to `CreditCard`
- Add `debitNetwork` to search criteria in `Transaction.search`
## 3.17.0
- Add `merchantTokenIdentifier` and `sourceCardLast4` to `ApplePayCard` and `ApplePayDetail`
- Add `processing_overrides` to `Transaction.sale` options
## 3.16.0
- Add `merchant_advice_code` and `merchant_advice_code_text` to Transaction object
## 3.15.0
- Update `xml2js` to v0.5.0
## 3.14.0
- Add `intendedTransactionSource` to `CreditCardVerificationGateway`
- Add `paymentMethodNonce` to `CreditCardVerificationGateway`
- Add `threeDSecureAuthenticationId` to `CreditCardVerificationGateway`
- Add `threeDSecurePassThru` to `CreditCardVerificationGateway`
- Deprecated `threeDSecureToken` in favor of `threeDSecureAuthenticationId`
- Deprecate `venmoSdkPaymentMethodCode` and `venmoSdkSession` in `TransactionGateway`, `CustomerGateway`, and `CreditCardGateway`
- Add support for subscriptions in SEPA direct debit accounts
## 3.13.0
- 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` to `Dispute` and `DisputeSearch`
- Add `AutoAccepted` to `Dispute.Status`
- Add `DisputeAutoAccepted` to `WebhookNotification.Kind`
- Deprecate `chargebackProtectionLevel` and add `protectionLevel` to `Dispute`
## 3.12.0
- Add support for `ExchangeRateQuote` API
- Add `LiabilityShift` class and `liabilityShift` 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` to `TransactionSearch`
## 3.11.0
- Added test for `retried` field on transaction.sale response
## 3.10.0
- Add `PaymentMethodCustomerDataUpdated` webhook notification support
## 3.9.0
- Add support for passing a custom [http agent](https://nodejs.org/api/http.html#class-httpagent) in Configuration (thanks @blugavere & @James1x0!)
## 3.8.0
- Add support for `TransactionReview` webhook notification
- Add plan create/update/find API endpoint
## 3.7.0
- Add error code `TaxAmountIsRequiredForAibSwedish` for attribute `tax_amount` in `transaction` key for AIB:Domestic transactions in Sweden
- Add `exchangeRateQuoteId` to `TransactionGateway`
- Add `ExchangeRateQuoteIdIsTooLong` to `validation_error_codes`
- Add the following fields to `AndroidPayCard` and `ApplePayCard`:
- `commercial`
- `debit`
- `durbinRegulated`
- `healthcare`
- `payroll`
- `prepaid`
- `productId`
- `countryOfIssuance`
- `issuingBank`
- Add `localPaymentFunded` and `localPaymentExpired` webhook notication support
## 3.6.0
- Fix issue where webhook data passed to `LocalPaymentReversed` webhook class is missing
- Add `grantedPaymentInstrumentUpdate` to `WebhookNotification`
## 3.5.0
- Add `paymentReaderCardDetails` parameter to `Transaction.sale`
- Add `skipAdvancedFraudChecking` to `Customer.create` and `Customer.update`
- Add webhook sample for `GrantedPaymentMethodRevoked`
- Add `venmoAccountDetails` to `Transaction`
- Add `chargebackProtectionLevel` into dispute search
## 3.4.0
- Add `taxIdentifiers` parameter to `Customer.create` and `Customer.update`
## 3.3.0
- Add `LocalPaymentReversed` webhook notification support
- Support all options for `gateway.transaction.submitForSettlement` and `gateway.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` and `storeIds` fields to `Transaction.search`
- Add `Transaction.adjustAuthorization()` method to support multiple authorizations for a single transaction
## 3.2.2
- Update `dateformat` module to v4.5.1
## 3.2.1
- Remove unnecessary `user` package (#186)
## 3.2.0
- `plan.all`, `discount.all` and `addOn.all` return collections of plan, discount and addOn objects respectively. (fixes #178)
- Deprecate `deviceSessionId` and `fraudMerchantId` in the `CrediteCardGateway`, `CustomerGateway`, `PaymentMethodGateway`, and `TransactionGateway` classes
* Add `installments` to `Transaction` requests
* Add `count` to `installments`
* Add `scaExemption` to `TransactionGateway`
* Add exceptions defined in `exceptions.js` as an export (thanks @jtcooper10!)
## 3.1.0
- Add `AcquirerReferenceNumber` to `Transaction`
- Deprecate `recurring` in `transaction.sale()` requests
## 3.0.0
- Add `RequestTimeoutError` and `GatewayTimeoutError` exceptions
- Remove several no-longer-used dependencies (underscore, semver and readable-stream)
- Breaking Changes
- Rename `braintree/lib/test` to `braintree/lib/test_values` to avoid accidental removal of directories named `test` (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` to `ServiceUnavailableError`
- Transaction searches throw `UnexpectedError` instead of `DownForMaintenanceError` when search response yields unexpected results
- Remove Masterpass Card support
- Remove Amex Express Checkout Card support
- Rename `braintree/lib/test` to `braintree/lib/test_values` to avoid accidental removal of directories named `test` (fixes #98 and #174)
- Fix bug where `expired` and `expiringBetween` methods on `CreditCardGateway` did not return full credit card results
- Bump API version to support declined refund objects.
## 2.24.0
- Add \* `GatewayRejectionReason.RiskThreshold` to `Transaction`
- Update @braintree/wrap-promise to v2.1.0
- Add `networkTransactionId` to `CreditCardVerification`
- Add `retrievalReferenceNumber` to `Transaction`
- Add `productSku` to `Transaction`
- Add `phoneNumber` and `shippingMethod` to `Address`
- Add `customerDeviceId`, `customerLocationZip`, and `customerTenure` to `RiskData`
- 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` to `Transaction`
- Add `isNetworkTokenized` to `CreditCard`
## 2.23.0
- Add `threeDSecurePassThru` parameters to `Customer.create`, `PaymentMethod.create`, `CreditCard.create`, `Customer.update`, `PaymentMethod.update` and `CreditCard.update`
- Add `threeDSecureAuthenticationId` support on transaction sale
- Add ThreeDSecure test payment method nonces
- Add test `AuthenticationId`s Unreleased
- Add `DisputeAccepted`, `DisputeDisputed`, and `DisputeExpired` webhook constants
- Add `Authentication Insight` support to payment method nonce create
- Add `recurringCustomerConsent` and `recurringMaxAmount` to `authenticationInsightOptions` for `PaymentMethodNonce.create`
- Add `FileIsEmpty` error code
## 2.22.0
- Add `RefundAuthHardDeclined` and `RefundAuthSoftDeclined` to validation errors
- Add GraphQL ID to `CreditCardVerification`, `Customer`, `Dispute`, and `Transaction`
- Add level 2 processing options `purchaseOrderNumber`, `taxAmount`, and `taxExempt` on transaction submitForSettlement
- Add level 3 processing options `discountAmount`, `shippingAmount`, `shipsFromPostalCode`, and `lineItems` on transaction submitForSettlement
## 2.21.0
- Add `AmountNotSupportedByProcessor` validation error to Transaction
- Add `ProcessorDoesNotSupportMotoForCardType` to validation errors
- Fix issue where `SettlementBatchSummary` did not include some custom fields
## 2.20.0
- Add Venmo `TokenIssuance` gateway rejection reason
## 2.19.0
- Add `PostalCodeIsRequiredForCardBrandAndProcessor` to validation errors
- Add `PayPalHereDetails` to Transaction
- Add `xid`, `cavv`, `eciFlag`, `dsTransactionId`, and `threeDSecureVersion` to `ThreeDSecureInfo`
- Add `ThreeDSecureInfo` to `CreditCardVerification`
- Add `GraphQLClient` to `BraintreeGateway` class
## 2.18.0
- 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` and `dsTransactionId` 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
## 2.17.0
- 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](https://github.com/braintree/wrap-promise/issues/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 to `LocalPaymentCompleted` webhook
- Add `transaction` field to `LocalPaymentCompleted` webhook
## 2.16.0
- Deprecate `GrantedPaymentInstrumentUpdate` and add `GrantorUpdatedGrantedPaymentMethod` and `RecipientUpdatedGrantedPaymentMethod`
- Add `accountType` to `Transaction`, `PaymentMethod`, and `CreditCardVerification`.
## 2.15.0
- Add `bin` field to `paymentMethodNonceDetails`
- 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`)
## 2.14.0
- Add `processor_response_type` to `Transaction`, `AuthorizationAdjustment`, and `CreditCardVerification`.
- Add `authorizationExpiresAt` to `Transaction`
- 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 in `riskData`
- Add `travel_flight` support to industry-specific data
## 2.13.1
- Fix `transaction.lineItems` method when returned from transaction searches (#146)
## 2.13.0
- 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
## 2.12.0
- Add subscription charged unsuccessfully sample webhook to webhook testing gateway
- Add `processor_response_code` and `processor_response_text` to authorization adjustments subfield in transaction response.
- Add `Dispute` to top level `braintree` object
- Add Samsung Pay support
- Add processor respone code and processor response text to authorization adjustments subfield in transaction response.
## 2.11.0
- 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` and `amount-disputed`
- `Config` creation with `AccessToken` should not require `environment`. An `Error` will be logged if optional `environment` does not match with `AccessToken`'s parsed environment
- Add processor respone code and processor response text to authorization adjustments subfield in transaction response.
## 2.10.0
- Bank Account verifications API
## 2.9.0
- Add `oauthAccessRevocation` to `WebhookNotification`s
- Add support for dispute search by `customerId`, `effectiveDate`, and `disbursementDate`
- Remove `sepaMandateType` and `sepaMandateAcceptanceLocation` params from `ClientTokenGateway`
- Add support for categorized dispute evidence
## 2.8.0
- Fix binary multipart uploads.
- Add support for `association_filter_id` in `Customer#find`
## 2.7.0
- 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.
## 2.6.0
- Deprecated `LineItem/DiscountAmountMustBeGreaterThanZero` error in favor of `DiscountAmountCannotBeNegative`.
- Deprecated `LineItem/UnitTaxAmountMustBeGreaterThanZero` error in favor of `UnitTaxAmountCannotBeNegative`.
- Add `sourceMerchantId` to `WebhookNotification`s if present
- Add support for `taxAmount` field on transaction `lineItems`
- Add `lineItems` method to `Transaction`
## 2.5.0
- Add support for Level 3 summary parameters: `shippingAmount`, `discountAmount`, and `shipsFromPostalCode`
- 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)
## 2.4.0
- 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)
## 2.3.0
- 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` to `Subscription.retryCharge`
- Add `options` -> `paypal` -> `description` for creating and updating subscriptions
- Add Dispute API
- Add DocumentUpload API
- Add `deviceDataCaptured` field in `riskData`
- Add support for upgrading a PayPal future payment refresh token to a billing agreement
## 2.2.0
- Fixes wrap-promise issue (closes #102) - Thanks @targunp
- Add iDEAL to PaymentInstrumentTypes
- Adds support for gzip
## 2.1.1
- Fixes request timeout issue (closes #99)
## 2.1.0
- 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
## 2.0.2
- 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
## 2.0.1
- Fix bug where SDK version number was not being sent in requests
## 2.0.0
- 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
## 1.47.0
- Fix a bug where xml parsing errors were not being caught
- Stop sending account_description field from us bank accounts
## 1.46.0
- Add functionality to list all merchant accounts for a merchant with `merchantAccount.all`
## 1.45.0
- Add multi-currency updates to merchants onboarded through Braintree Auth
## 1.44.0
- 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
## 1.43.0
- Spec updates for deprecated keys
- Added error handling for missing configuration credentials
- Fix `UsBankAccount` support for `Customer`s
## 1.42.0
- Add 'UsBankAccount' payment method
## 1.41.0
- Add support for passing risk data
- Allow updating default_payment_method on customer
- Support passing `transaction_source` to set MOTO or recurring ECI flag
## 1.40.0
- Add OrderId to refund
- Add 3DS Pass thru support
- Export missing Payment Instrument Types (Thanks, @kamilwaheed)
## 1.39.0
- Add method of revoking OAuth access tokens
## 1.38.0
- Add transaction `UpdateDetails`
- Add multi-currency support for merchant `create`
- Add logic to stop duplicate callbacks in timeouts (closes issue #76)
## 1.37.1
- Fix issue when checking the instance of a customer's payment method
## 1.37.0
- Add timeout attribute to config
- Add AddOns.all method
## 1.36.0
- Add AccountUpdaterDailyReport webhook parsing
## 1.35.1
- Fix bug in test transaction webhooks
## 1.35.0
- Add verification create API
- Add options to `submit_for_settlement` transaction flows
## 1.34.0
- Update version number
## 1.33.0
- Add deprecation warnings for unknown parameters in `submitForSettlement`
- Add transaction validation errors ProcessorDoesNotSupportUpdatingOrderId and ProcessorDoesNotSupportUpdatingDescriptor
## 1.32.0
- Add payment method revoke
- Make payment method grant return a result object
## 1.31.0
- Add VenmoAccount
- Add support for Set Transaction Context supplementary data
- Add check webhook kind constant
## 1.30.0
- 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
## 1.29.0
- Add sourceDescription to Android Pay and Apple Pay
- Add billingAgreementId to PaypalAccount
- Add support for Amex rewards transactions
## 1.28.0
- Add new test payment method nonces
- Allow passing description on PayPal transactions
- Add methods to change transaction settlement status in sandbox
## 1.27.0
- Add oauth support
## 1.26.0
- Add support for Android Pay
## 1.25.0
- Validate webhook challenge payload
- Add missing criteria to CreditCardVerification search
## 1.24.0
- Add 3DS info to server side
## 1.23.0
- Add Coinbase support
- Add support for 3DSecure
- Surface Apple Pay payment instrument name in responses
## 1.22.0
- Add error code constants
- Allow PayPal parameters inside of options.paypal
## 1.21.0
- 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
## 1.20.0
- Allow descriptor to be passed in Funding Details options params for Merchant Account create and update.
## 1.19.0
- Add additional_processor_response to transaction
## 1.18.1
- Allow payee_email to be passed in options params for Transaction create
## 1.18.0
- Added paypal specific fields to transaction calls
- Added SettlementPending, SettlementDeclined transaction statuses
## 1.17.0
- Add descriptor url support
## 1.16.0
- 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
## 1.15.0
- Support for v.zero SDKs.
## 1.14.1
- Changed Braintree exceptions to Error objects (thanks Raynos)
- Make webhook parsing more robust with newlines
- Add messages to InvalidSignature exceptions
## 1.14.0
- Include Dispute information on Transaction
- Search for Transactions disputed on a certain date
## 1.13.0
- Disbursement Webhooks
## 1.12.0
- Expose constants for advanced search
## 1.11.2
- Adds ability to consume search results as a readable stream in node versions prior to 0.10
## 1.11.1
- Adds ability to consume credit card verification search results as a readable stream
## 1.11.0
- Adds ability to consume search results as a readable stream
## 1.10.0
- Merchant account find API
## 1.9.2
- Merchant account update API
- Merchant account create API v2
## 1.9.1
- Update configuration URLs
## 1.9.0
- Adds support for Partnerships
## 1.8.0
- 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.
## 1.7.0
- Adds disbursement details to transactions.
- Adds image url to transactions.
## 1.6.0
- Adds channel field to transactions.
## 1.5.0
- Adds country of issuance and issuing bank
## 1.4.0
- Adds verification search
## 1.3.0
- 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
## 1.2.0
- Add prepaid field to credit card (possible values include Yes, No, Unknown)
## 1.1.2
- Compatibility with Node 0.8.x
## 1.1.1
- Fix dateFormat bug with months after October in CreditCardGateway
- Fix TransparentRedirecteGateway url method to return full url (thanks to [sberryman](https://github.com/sberryman))
## 1.1.0
- 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
## 1.0.0
- Add search functionality
## 0.5.1
- Exposes plan_id on transactions
## 0.5.0
- Update to be compatible with Node 0.6.6 and replace o3-xml with xml2js (special thanks to [thepatrick](https://github.com/thepatrick))