- Add support for OSGi bundling. Thanks, @lburgazzoli!
- Add verification create API
- Add support for options in
submit_for_settlement
transaction flows
- Include Coinbase Accounts in
Customer#getPaymentMethods
(Thanks @danmidwood) - Add VenmoAccount
- Adds
CHECK
webhook kind
- Fixes broken maven release
- Add kind, openedDate, and wonDate to Dispute
- Add support for partial settlement transactions
- Add transaction data to subsription charged successfully webhooks
- Add sourceDescription attribute to Android Pay and Apple Pay
- Add new Android Pay test nonces
- Add support for amex rewards transactions
- Add new test payment method nonces
- Allow passing description on PayPal transactions
- Expose transaction fee details on PayPal transactions
- Add support for PayPal billing agreements
- Add oauth support
- Add support for Android Pay
- Validate webhook challenge payload
- Fix ThreeDSecureInfo#find to be more consistent
- Add 3DS info to the server side
- Simplified SEPA workflow
- Close InputStreams after use
- Add additional PayPalDetails getters
- Surface Apple Pay payment instrument name in responses
- Support making 3DSecure required
- Add support for Coinbase
- Explicitly disconnect the HttpURLConnection after use (Thanks, @gsharma)
- New validation error constants
- Add ApplePayDetails#getLast4
- More searches from CreditCardVerificationSearchRequest
- Allow payee_email in transaction.options.paypal
- Allow PayPal custom field on transaction create
- Add support for Retrieval dispute reasons.
- 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
- ApplePay support
- Allow descriptor to be passed in Funding Details options params for Merchant Account create and update.
- Add additionalProcessorResponse 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 support for dispute webhooks
- Support for v.zero SDKs.
- 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
- Merchant account find API
- Merchant account update API
- Merchant account create API v2
- Use new Braintree Gateway API endpoints
- Adds support for Partnerships
- Adds fraud to gatewayRejectionReason, unrecognized to all enums missing it.
- Adds holdInEscrow method
- Add error codes for verification not supported error
- Add companyName and taxId to ApplicantDetailsRequest
- Adds cancelRelease method
- Adds releaseFromEscrow functionality
- Adds merchant account phone error code.
- Adds device data to transactions, customers, and credit cards.
- Lots of cleanups [thanks to https://github.com/steve-nester-uk]
- Bumps version in maven pom.xml
- Adds disbursement details to transactions.
- Adds image url to transactions.
- Adds Venmo Touch support.
- 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
- Adds prepaid attribute on credit cards (possible values: Yes, No, Unknown)
- Adds webhook gateways for parsing, verifying, and testing incoming notifications
- Adds search for duplicate credit cards given a payment method token
- Adds flag to fail saving credit card to vault if card is duplicate
- Exposes plan_id on transactions
- Adds new certificates for sandbox environment
- Added error code for invalid purchase order number
- Added error message for merchant accounts that do not support refunds
- Added ability to retrieve all Plans, Addons, and Discounts
- Added Transaction cloning
- Update README to include Maven repository documentation
- Implemented new NodeWrapper (SimpleNodeWrapper) that is much faster than the previous xpath implementation.
- Fixed a bug in SettlementBatchSummary that may have requested the wrong date when using a timezone other than UTC.
- Added SettlementBatchSummary
- Correctly report PAST_DUE status on Subscriptions.
- Added subscription to Transaction
- Added flag to store in vault only when a transaction is successful
- Added new error code
- Added a new transaction state, AUTHORIZATION_EXPIRED.
- Enabled searching by authorizationExpiredAt.
- Added nextBillingDate and transactionId to subscription search
- Added addressCountryName to customer search
- Added new error codes
- Added Customer search
- Added dynamic descriptors to Subscriptions and Transactions
- Added level 2 fields to Transactions:
- tax_amount
- tax_exempt
- purchase_order_number
- Added billingAddressId to CreditCardRequest
- Allow searching on Subscriptions that are currently in a trial period using inTrialPeriod
- Added ability to perform multiple partial refunds on Transactions
- Deprecated Transaction getRefundId in favor of getRefundIds
- Added revertSubscriptionOnProrationFailure flag to Subscription update that specifies how a Subscription should react to a failed proration charge
- Deprecated Subscription getNextBillAmount in favor of getNextBillingPeriodAmount
- Added new properties to Subscription:
- balance
- paidThroughDate
- nextBillingPeriodAmount
- Added AddOns/Discounts
- Enhanced Subscription search
- Enhanced Transaction search
- Added AddOn/Discount details to Transactions that were created from a Subscription
- Added an enum for CreditCardVerification statuses
- Added EXPIRED and PENDING statuses to Subscription
- Allowed prorateCharges to be specified on Subscription update
- Renamed search methods greaterThanOrEqual and lessThanOrEqual to greaterThanOrEqualTo and lessThanOrEqualTo -- deprecated old methods
- All Braintree Exceptions now inherit from BraintreeException superclass
- Added new properties to Subscription:
- billingDayOfMonth
- daysPastDue
- firstBillingDate
- neverExpires
- numberOfBillingCycles
- Added unified message to result objects
- Added ability to specify country using countryName, countryCodeAlpha2, countryCodeAlpha3, or countryCodeNumeric (see ISO_3166-1)
- Added gatewayRejectionReason to Transaction and Verification
- When creating a Subscription, return failed transaction on the Result if the initial transaction is not successful
- Fixed a bug in confirming TransparentRedirect when returning an Error result
- Added unified TransparentRedirect url and confirm methods and deprecated old methods
- Added methods to CreditCardGateway to allow searching on expiring and expired credit cards
- Allow credit card verification against a specified merchant account
- Added ability to update a customer, credit card, and billing address in one request
- Allow updating the payment method token on a subscription
- Added methods to navigate between a Transaction and its refund (in both directions)
- Read VERSION from a constant instead of a VERSION file, which can conflict with other VERSION files in load path.
- Prevent race condition when pulling back collection results -- search results represent the state of the data at the time the query was run
- Rename ResourceCollection's getApproximateSize to getMaximumSize because items that no longer match the query will not be returned in the result set
- Correctly handle HTTP error 426 (Upgrade Required) -- the error code is returned when the client library version is no longer compatible with the gateway
- Added transaction advanced search
- Added ability to partially refund transactions
- Added ability to manually retry past-due subscriptions
- Added new transaction error codes
- Allow merchant account to be specified when creating transactions
- Allow creating a transaction with a vault customer and new credit card
- Allow existing billing address to be updated when updating credit card
- Updated isSuccess() on transaction results to return false on declined transactions
- Search results now implement Iterable and will automatically paginate data
- Added getCardholderName() to CreditCard
- Added option to change default credit card for a customer
- Added subscription search
- Return associated subscriptions when finding credit cards
- Updated forObject to return an empty ValidationErrors object instead of null if there are no errors
- Raise down for maintenance exception instead of forged query string when down for maintenance
- Added java 1.5 compatibility
- Updated production URL
- Added processorAuthorizationCode() to Transaction
- Fixed a bug preventing TransactionRequest objects with nested Customer objects from building properly
- Added getMaskedNumber() to CreditCard to return the masked credit card number
- Added recurring billing support
- Initial release