- Update
braintree-android-google-payment
module to3.1.0
- Fix a bug so that
BraintreeFragment.newInstance
returns a new fragment whenever a new authorization string is passed in (Resolves issue #274. Thanks @krunk4ever and @bramley-stride.)
- Update 3DS
prepareLookup
method to function asynchronously to wait for Cardinal SDK - Add ability to request
AuthenticationInsight
when tokenizing a credit card, which can be used to make a decision about whether to perform 3D Secure verification - Set error message on
ThreeDSecureInfo
when 3D Secure 2.0 challenge fails - Include reference to Cardinal's docs for
uiCustomization
property onThreeDSecureRequest
. - Add
requiresUserAuthentication
method toThreeDSecureLookup
- Add support for
PayPalLineItem
- Add authentication and lookup transaction status information to ThreeDSecureInfo
- Add ability to customize UI for 3D Secure challenge views
- Fix race condition that caused inconsistent 3DS version flows
- Add 3DSecure authentication details to card nonce
- Add
acsTransactionId
,threeDSecureServerTransactionId
andparesStatus
fields toThreeDSecureInfo
- Update Cardinal SDK to 2.1.4-1
- Send analytics timestamps in milliseconds
- Add additional fields to ThreeDSecureInfo
- Fix potential crash when 3DSecure 2.0 JWT is not available
- Correctly includes the 3DSecure 2.0 module
- Add 3DS 2 Support
- Update 3DS redirect to newest version
- BraintreeFragment can now attach to a Fragment (fixes #252)
- Update google-payment to 3.0.1
- Update endpoint for creating local payments
- Bump minSdkVersion to 21
- Convert to AndroidX
- BraintreeFragment moves to the support fragment
- Requires AppCompatActivity to attach the BraintreeFragment to
- Removed Visa Checkout 1.0.0 as a dependency
- Add Visa Checkout's dependency to your app to get the latest version
- Removed deprecated ThreeDSecureWebView flow
- Removed deprecated Venmo#isVenmoWhitelisted(ContentResolver)
- Removed deprecated method from PostalAddress
- Removed deprecated country setters
- Removed deprecated methods from DataCollector
- Removed deprecated PayPalOneTouchActivity
- Removed deprecated Ideal
- Rename AndroidPay classes to GooglePayment
- Deprecate PayPal Future Payments, use PayPal Billing Agreements
- Deprecate AndroidPayConfiguration, use the GooglePaymentConfiguration alias
- Fix null address properties on PayPalAccountNonce
- Those addresses should always be at least an empty PostalAddress
- Google Pay
- Add groundwork for v2 compatibility
- Split PostalAddress into PostalAddress and PostalAddressParser
- Deprecates PostalAddress.fromJson - use PostalAddressParser.fromJson
- Add fromUserAddressJsonn to PostalAddressParser
- Add additional fields
- Move Google Payment to a separate module
- Downgrade browser-switch to 0.1.6
- Exclude customtabs from browser-switch dependency
- Upgrade browser-switch to 0.1.7 fixes Chrome Custom Tab integration when using Jetifier to use AndroidX
- Upgrade Android SDK to 28
- Fix PayPal JavaDoc
- Local Payments
- Upgrade PayPal Data Collector to 4.0.3
- Add optional merchant account Id to PayPalRequest
- Add openVenmoAppPageInGooglePlay method which opens Venmo on the Google Play
- Fix NoClassDefFoundError compile error for PayPalDataCollector
- Fix InvalidPathException error
- Add
PaymentMethod#deletePaymentMethod
which allows customers to remove their vaulted payment methods - Fix DataCollector not being available for instant run builds
- Fix issue with TLS cipher in API < 21
- Removed unused PayPal analytics event
- Add shippingAddressEditable to PayPalRequest
- Fix issue where address override was not set for PayPal billing agreements
- Update 3D Secure redirect URL
- 3D Secure
- Add support for American Express SafeKey params
- Update PayPalDataCollector library to 3.1.6
- Catch possible SQLite exceptions
- Move Visa Checkout to separate module
- Update Visa Checkout to 5.5.2
- Update SDK to 27
- Add support for Venmo profiles
- Update PayPalDataCollector library to 3.1.5
- Update GooglePaymentException to be parcelable
- Add browser switch support to 3D Secure integrations
- Internal performance optimizations
- Deprecate
countryName
,countryCodeAlpha2
,countryCodeAlpha3
, andcountryCodeNumeric
in favor ofcountryCode
inCardBuilder
andUnionPayCardBuilder
.
- Support
lastFour
inGooglePayCardNonce
- Add Google Pay branding
- Add support for iDEAL payments
- Check package name is valid for PayPal Wallet switch
- Fix phoneNumberRequired in GooglePayment
- Add AmericanExpress support with getRewardsBalance method
- Use ExecutorService for async database operations
- Increase minimum version of Google Play Services Wallet to 11.4.0
- Add support for the Google Payments API
- Deprecate Android Pay
- Add additional billing address params to
CardBuilder
- Fix potential crash due to optional Visa Checkout dependency
- Fix potential crash due to optional Google Play Services dependency
- Upgrade Kount DataCollector to 3.2
- Stop using dependency ranges (braintree/android-card-form#29)
- Relax
PRNGFixes
check forPRNGSecureRandomProvider
to prevent race condition with other providers (#151) - Stop sending
Content-Type
header for GET requests (#155) - Upgrade browser-switch to 0.1.4 to prevent losing Chrome Custom Tab when switching to a password manager or other app
- Add additional bin data to card based payment methods
- Add DOM and database storage to
ThreeDSecureWebView
to improve compatibility with some bank web pages (#159) - Update compile and target SDK versions to 26
- Any support library dependencies must now be 26.0.0 or newer
- Use custom task instead of overriding the clean task (fixes #153)
- Accept third party cookies in ThreeDSecureWebView for Lollipop and above
- Add PayPal Credit for Billing Agreements
- Include cause in
ConfigurationException
(#143) - Ignore ProGuard warnings for Visa Checkout (fixes #144)
- Fix Android Pay behavior during configuration changes (fixes #145, #146, #147)
- Fix crash when run in an Android Instant App
- Fix non-optional
data-collector
dependency in Braintree - Create
BraintreeRequestCodes
for use withBraintreeCancelListener#onCancel
- Move PayPal browser switches to use browser-switch-android
- Add option to set display name in
PayPalRequest
- Add option to set landing page type in
PayPalRequest
- Add option to enable PayPal Credit in
PayPalRequest
- Add Visa Checkout as a payment method
- Prevent dependency resolution of alpha major versions of support libraries
- Improve
GoogleApiClientException
to include error type as well as reason code - Changes to PayPalDataCollector to make it easier to use
- Fix NPE in
AndroidPay#changePaymentMethod
(fixes #139) Venmo#authorizeAccount
will now correctly vault the payment method when the vault option is true- Fix missing client metadata ids in
PayPalAccountNonce
s - Update paypal-data-collector to 3.1.4
- Add workaround for Kount/kount-android-sdk#2
- Fix error returned by
AndroidPay#changePaymentMethod
- Fix back button during PayPal browser switch on Samsung devices (fixes #137)
- Add new intent option to
PayPalRequest
- Fix crash when excluding the PayPal dependency
- Increase
minSdkVersion
to 16- API 16 is the first version of Android that supports TLSv1.2. For more information on Braintree's upgrade to TLSv1.2 see the blog post.
- Improve PayPal address validations
- Work around
NullPointerException
inBraintreeFragment#newInstance
(fixes #125) - Document supported locales for PayPal
- Fix rare
NullPointerException
(#128)
- Fix ProGuard rules (fixes #124)
- Fix
NullPointerException
when using deprecated DataCollector methods - Update compile and target SDK versions to 25
- Add
BraintreeFragment#getListeners
to get a list of all the registered listeners - Upgrade paypal-data-collector to 3.1.3
- Upgrade Kount DataCollector to 3.1
- Add
AndroidPay#requestAndroidPay
andAndroidPay#changePaymentMethod
methods to simplify requesting Android Pay from a user and changing the backing payment method. - Include ProGuard directives in the SDK (#120)
- Work around bug in
JSONObject#optString
- Use
FragmentTransaction#commitNow
andFragmentManager#executePendingTransactions
inBraintreeFragment#newInstance
to synchronously set upBraintreeFragment
and avoid race conditions caused by asynchronousFragment
setup.
- Update
AndroidPayCardNonce
description to include card type and last 4
- Support changing user call to action in PayPal flows, see
PayPalRequest#userAction
- Fix validate option not being sent when set to false in
PaymentMethodBuilder
- Add merchant supported card types to
Configuration
- Expose methods on
BraintreeFragment
for getting cached payment methods - Update
paypal-data-collector
to 3.1.2 - Move Drop-In to it's own repo
- Update exception message when Android Manifest setup is invalid
- Fix unclosed
InputStream
(fixes #115) - Post exception to error listener instead of throwing
IllegalStateException
whenBraintreeFragment
is not attached to anActivity
- Restore url when
BraintreeFragment
is recreated (fixes #117) - Upgrade gradle build tools to 2.1.3
- Parse and return errors when Android Pay tokenization fails
- Add support for changing the backing card for Android Pay in Drop-In
- Call configuration callback whenever a new Activity is attached to
BraintreeFragment
- Allow vaulting of Venmo accounts. See
Venmo#authorizeAccount
. - Remove Venmo whitelist check
- Fix
BraintreeCancelListener#onCancel
being invoked twice for PayPal cancellations (fixes #112)
- Change
UnionPayCallback
to includesmsCodeRequired
- Change
UnionPayCapabilities#isUnionPayEnrollmentRequired
toUnionPayCapabilities#isSupported
- Upgrade Google Play Services to [9.0.0,10.0.0)
- Upgrade support annotations to [24.0.0,25.0.0)
- Upgrade build tools to 24.0.0
- Update compile and target API versions to 24
- Fix
NullPointerException
inAnalyticsIntentService
- Prevent invalid schemes from being used for browser switching (Packages containing underscores would generate invalid schemes)
- Fix
NoClassDefFoundError
inDataCollector
- Fix
NullPointerException
inBraintreeFragment
- Add PayPal Checkout intent option (authorize or sale). See
PayPalRequest#intent
- Update UnionPay support in demo app custom integration
- Update
android-card-form
to 2.3.1 - Fix
NullPointerException
inAddPaymentMethodViewController
(fixes #100) - Fix
IllegalStateException
when creating aBraintreeFragment
(fixes #104) - Fix
NullPointerException
whenBraintreeFragment
is not attached to anActivity
(fixes #105)
- Fix
NullPointerException
when handling a PayPal response (fixes #101)
- Fix
NullPointerException
s inBraintreeFragment
when not attached to anActivity
- Fix Chrome Custom Tabs Intent flags interfering with browser switch
- Add new
DataCollector#collectDeviceData
methods that use a callback; deprecate synchronous methods - Reduce size of assets in Drop-In
- UnionPay Beta Please note: this API is in beta and subject to change
- Add support for fetching a customer's payment methods
- Return a
RateLimitException
when a merchant account is being rate limited
- Fixes
- Update BraintreeHttpClient to support UTF-8 encoding (fixes #85)
- Update PayPalDataCollector to 3.1.1
- Fixes
- Update device collector to 2.6.1 (fixes #87)
- Fix crash when
BraintreeFragment
has not been attached to anActivity
- Features
- Add
PaymentRequest#defaultFirst
option - Add support for Chrome Custom tabs when browser switching
- Add
- Fixes
- Fix incorrect
groupId
of dependencies in pom file for 2.2.2
- Fix incorrect
🚨 The groupId
s in this version's pom files are incorrect and dependencies will not resolve. Do not use. 🚨
- Update
PaymentButton
styling when PayPal is the only visible option - Features
- Add client side overrides for payment methods in Drop-in and
PaymentButton
toPaymentRequest
- Add support for non-USD currencies and non-US shipping addresses in Android Pay
- Return email, billing address and shipping address as part of an
AndroidPayCardNonce
from Drop-in
- Add client side overrides for payment methods in Drop-in and
- Fixes
- Fix back button not doing anything in Drop-in after an Android Pay error is returned
- Deprecate
DataCollector#collectDeviceData
and add new signature to prevent a NullPointerException when using a fragment that is not attached to anActivity
- Fixes
- Fix support annotations being bundled in PayPalDataCollector jar
- Open source PayPal SDK
- Deprecate
PayPalOneTouchActivity
and remove from Android manifest - Add Travis CI build
- Improve errors and manifest validation
- Features
- Add
CardBuilder#cardholderName
- Add
PayPalRequest#billingAgreementDescription
- Add
- Fixes
- Fix back button not working in Drop-in after adding a payment method
- Fix failure to return a payment method nonce after browser switch when the fragment was recreated.
- Update Google Play Services Wallet to 8.4.0
- Use
ENVIRONMENT_TEST
for Android Pay requests in sandbox - Add
AndroidPay#isReadyToPay
method
- Demo app upgrades
- Update PayPal SDK to 2.4.3 (fixes #67)
- Update android-card-form to 2.1.1
- Update gradle to 2.8
- Update build tools to 23.0.2
- Features
- Add support for fraud data collection in Drop-in
- Fixes
- Add rule to suppress ProGuard warnings
- Fix Drop-in crash
- Fix NPE when there is no active network (fixes #77)
- Pay with Venmo
PaymentButton#newInstance
now accepts a container id to addPaymentButton
to that container- Android Pay assets
- Fixes
- Add
onInflate
method for Android versions < 23 - PayPal cancel events (fixes #63)
- Add
- Make support annotations an optional dependency
- Cache configuration to prevent unnecessary network requests
- Fixes
- Fix BraintreeDataCollector as an optional dependency
- Fix
PaymentRequest
crash when Google Play Services is not present
- Increase
minSdkVersion
to 15 (see Platform Versions for the current distribution of Android versions) - Remove Gson dependency
- Replace
Braintree
class with headlessBraintreeFragment
- Move methods for creating payment methods from central
Braintree
class to their own classes e.g.PayPal#authorizeAccount
,Card#tokenize
- Move methods for creating payment methods from central
- Add support for Tokenization Keys in addition to Client Tokens
- Rename PaymentMethod to PaymentMethodNonce
- Rename BraintreeData module to BraintreeDataCollector
- Update PayPal
- Remove PayPal Android SDK dependency
- Replace in-app log in with browser based log in
- Add support for PayPal billing agreements and one-time payments
- Convert
PaymentButton
class from a view to a fragment - Create
PaymentRequest
class for specifying options in Drop-in and thePaymentButton
- Remove Venmo One Touch. To join the beta for Pay with Venmo, contact Braintree Support
- Remove Coinbase
- Many additional structural and name changes. For more details, see the migration guide and the source code
- Fixes
- Increase minimum version of Google Play Services Wallet to 8.0.0 to prevent
VerifyError
- Increase minimum version of Google Play Services Wallet to 8.0.0 to prevent
- Fixes
- Fix Android Pay bug caused by shared state between Activities
- Update PayPal SDK to 2.11.1 (fixes #48)
- Fixes
- Fix tokenization failure in Coinbase
- Update gradle plugin to 1.3.1
- Update build tools to 23.0.1
- Update
compileSdkVersion
andtargetSdkVersion
to 23 - Update PayPal SDK to 2.10.0
- Increase maximum version of Google Play Services to 9.0.0 (#50)
- Set compile options to use Java 7
- Features
- Add support for Coinbase. Please note: this API is in beta and subject to change.
- Fixes
- Update PayPal SDK to 2.9.10
- Fixes
- Fix incorrect custom integration in demo app
- Fix incorrect selected payment method in Drop-in after creating a new payment method
- Fix
NoClassDefFoundError
crash in Drop-in
- Update PayPal SDK to 2.9.8
- Improvements
- Follow Android convention around button and text casing in Drop-in
- Update android-card-form to 2.0.1
- Improvements
- BraintreeData can now be optionally excluded
- Fixes
- Remove optional dependency from full jar
- Update PayPal SDK to 2.9.7
- Add support for additional PayPal scopes to
PaymentButton
- Fixes
- Return error instead of silently failing setup with bad client tokens
- Fix
NoClassDefFoundError
in Drop-in caused by optional dependency
- Fixes
- Fix
NoClassDefFoundError
in Drop-in andPaymentButton
caused by optional dependency (#34)
- Fix
- Update PayPal SDK to 2.9.6
- Update gradle plugin to 1.2.3
- Update build tools to 22.0.1
- Features
- Add Android Pay support. Please note: this API is in beta and subject to change.
- Add
Braintree#onActivityResult
method - Add support for additional PayPal scopes
- A
List
of additional scopes may be passed toBraintree#startPayWithPayPal
PayPalAccount#getBillingAddress
can be used to retrieve the billing address when the address scope is requested.
- A
- Update PayPal SDK to 2.9.5
- Switch to OkHttp for Demo app
- Improvements
- Add methods to persist state across rotations
- Fixes
- Update PayPal SDK to 2.9.4
- Move
CardForm
to separate repo - Deprecate
Braintree#getInstance
in favor ofBraintree#setup
- Fixes
- Remove metadata from assets, fixes #16
- Update gradle plugin to 1.1.2
- Update build tools to 22
- Update
compileSdkVersion
andtargetSdkVersion
to 22 - Update PayPal SDK to 2.9.0
- Features
- Add support for 3D Secure. Please note: this API is in beta and subject to change.
- Fixes
- Fix missing expiration date float label (#21)
- Remove Drop-In support for Eclipse
- Open source card form separate from Drop-In
- Update PayPal SDK to 2.8.5
- card.io is no longer included in the SDK
- Update Espresso to 2.0
- Remove unused PayPal
PROFILE
scope
- Update gradle plugin to 0.14.1
- Update build tools to 21.1.1
- Update PayPal SDK to 2.7.3
- Remove
android:allowBackup="false"
from library manifests, apps will now be able to choose if they allow backups - Remove
ACCESS_WIFI_STATE
permission - Improvements
- Add localizations for more locales (da-rDK, en-rAU, es, fr-rCA, iw-rIL, nl, no, pl, pt, ru, sv-rSE, tr, zh-rCN)
- Add initial right to left language support
- Add type safety to
Braintree#addListener(Listener)
. Thanks @adstro!
- Increase
targetSdkVersion
to 21 - Increase
buildToolsVersion
to 21.0.2 - Fixes
- Fix max length on
EditText
s - Fix crash caused by
PRNGFixes
- Fix max length on
- Improvements
- Update PayPal SDK
- Add first and last name to
CardBuilder
- Fixes
- Fix incorrectly named language resource directories
- Fixes
- Work around manifest merging issues on newer build plugins
- minSdk is now 10
- Fixes
- Set max length on card field for unknown card types in Drop-In
- Update PayPal SDK to fix rotation bug
- Fix edge cases in expiration entry in Drop-In
- Improvements
- Error messages are now returned from Drop-In
- Drop-In auto advances to next field now
- Fixes
- Fix crash caused by too large request code in
PaymentButton
- Resume the payment method form after rotation
- Fix crash caused by too large request code in
- Improvements
- Updated PayPal SDK
- email scope is now requested in all PayPal requests
correlationId
is now included in the device data string returned fromBraintreeData#collectDeviceData
- Updated PayPal SDK
- Fixes
- BraintreeApi release now includes the PayPal SDK again. Sorry!
- Improvements
- All assets are now namespaced to avoid any conflicts on import.
- Updated PayPal SDK
- Features
- App switch based payments for PayPal and Venmo (One Touch)
- No changes for existing Pay With PayPal integrations
- See the docs for more information
- Unified payment button (
PaymentButton
) for PayPal and/or Venmo payments
- App switch based payments for PayPal and Venmo (One Touch)
- Improvements
- Minor bugfixes and internal tweaks
- Deprecations
PayPalButton
is deprecated in favor ofPaymentButton
- Breaking Change
- BraintreeData returns
deviceData
instead ofdeviceSessionId
oncollectDeviceData
- BraintreeData returns
- Improvements
- References
sdk-manager-plugin
from vendor to simplify build process
- References
- Improvements
- CardBuilder now accepts billing address fields other than postal code (credit: @chiuki)
- Packaging
- Fixed an issue building Drop-In in Eclipse
- Improvements
- BraintreeApi no longer depends on OkHttp
- Added localizations for more locales (UK, FR, DE, IT)
- Fixes
- Fixed disabled submit button in landscape
- Fixed next field button in landscape
- Add max length to expiration date and prevent user from typing illegal characters
- Move to sdk-manager-plugin for CI dependencies
- Packaging
- Set Braintree package to default to AAR instead of ZIP
- Improvements
- Added assets for a wider range of resolutions
- Enforce maximum length for card and postal code fields
- Added README for fraud tools
- Packaging
- Improvements for usage in environments other than Maven or Gradle
- Fixes
- Fixed lint errors
- Fixes
- Fix crash on Android SDK < 19
- Add PayPal
correlationId
to PayPal account creation
- Fixes
- Improved packaging for non-Gradle uses of SDK
- Fixes
- Attach Javadocs and sources to Maven Central build.
- Public release of v.zero SDK