- Breaking Changes
- All Modules
- Bump
minSdkVersion
to API 23 - Bump target Java version to Java 11
- Upgrade Kotlin version to 1.9.10
- Upgrade to Android Gradle Plugin 8
- Bump
- BraintreeCore
- Update package name to
com.braintreepayments.api.core
- Remove
BraintreeClient
public constructors - Remove
deliverBrowserSwitchResult
anddeliverBrowserSwitchResultFromNewTask
fromBraintreeClient
- Remove
ClientTokenProvider
- Update payment method constructor parameters from
braintreeClient
tocontext
and
authorization
- Remove
BraintreeSharedPreferencesException
- Convert
PostalAddress
to data class - Remove
open
modifier onConfiguration
- Remove
UserCanceledException.isExplicitCancelation
- Update package name to
- UnionPay
- Remove
union-pay
module- UnionPay cards can now be processed as regular cards (through the
card
module) due to their partnership with Discover
- UnionPay cards can now be processed as regular cards (through the
- Remove
- BraintreeDataCollector
- Update package name to
com.braintreepayments.api.datacollector
- Replace
DataCollector#collectDeviceData(context, merchantId, callback)
with
DataCollector#collectDeviceData(context, riskCorrelationId, callback)
- Add
DataCollectorResult
and updateDataCollectorCallback
parameters
- Update package name to
- PayPalDataCollector
- Remove
paypal-data-collector
module (usedata-collector
)
- Remove
- Venmo
- Update package name to
com.braintreepayments.api.venmo
- Remove
setFallbackToWeb()
fromVenmoRequest
- fallback to web is default behavior now - Remove
VenmoListener
,VenmoTokenizeAccountCallback
, andVenmoResultCallback
- Add
VenmoLauncher
,VenmoPaymentAuthRequest
,VenmoPaymentAuthRequestCallback
,
VenmoPaymentAuthResult
,VenmoResult
,VenmoTokenizeCallback
, and
VenmoLauncherCallback
- Rename
VenmoOnActivityResultCallback
toVenmoResultCallback
- Remove overload constructors,
setListener
, andonActivityResult
fromVenmoClient
- Change
VenmoClient#tokenizeVenmoAccount
parameters and rename to
VenmoClient#tokenize
- Remove
VenmoIsReadyToPayCallback
- Add
VenmoClient#createPaymentAuthRequest
- Move
showVenmoInGooglePlayStore
toVenmoLauncher
- Remove
isVenmoAppSwitchAvailable
andisReadyToPay
(no longer required as Venmo flow will fallback to web if app is not installed)
- Update package name to
- GooglePay
- Update package name to
com.braintreepayments.api.googlepay
- Remove
GooglePayListener
andGooglePayRequestPaymentCallback
- Add
GooglePayLauncher
,GooglePayPaymentAuthRequest
,
GooglePayPaymentAuthRequestCallback
,GooglePayPaymentAuthResult
,
GooglePayTokenizeCallback
,GooglePayTokenizationParameters
andGooglePayLauncherCallback
- Remove overload constructors,
setListener, and
onActivityResultfrom
GooglePayClient` - Change
GooglePayClient#requestPayment
parameters and rename to
GooglePayClient#createPaymentAuthRequest
- Change
GooglePayClient#isReadyToPay
andGooglePayIsReadyToPayCallback
parameters - Add
GooglePayClient#tokenize
- Remove
merchantId
fromGooglePayRequest
- Change
GooglePayGetTokenizationParametersCallback
parameters - Rename
GooglePayLauncherCallback#onResult
to
GooglePayLauncherCallback#onGooglePayLauncherResult
- Update package name to
- ThreeDSecure
- Remove
ThreeDSecureListener
- Add
ThreeDSecureLauncher
,ThreeDSecurePaymentAuthResult
,
ThreeDSecureTokenizeCallback
,ThreeDSecurePaymentAuthRequest
,
ThreeDSecurePaymentAuthRequestCallback
,ThreeDSecurePrepareLookupResult
,
ThreeDSecurePrepareLookupCallback
, andThreeDSecureLancherCallback
- Remove overload constructors,
setListener
,continuePerformVerification
,onBrowserSwitchResult
andonActivityResult
fromThreeDSecureClient
- Change
ThreeDSecureClient#initializeChallengeWithLookupResponse
parameters - Convert
ThreeDSecureResult
into sealed class - Add
ThreeDSecureClient#tokenize
- Rename
ThreeDSecureClient#performVerification
to
ThreeDSecureClient#createPaymentAuthRequest
and change parameters - Remove
versionRequested
fromThreeDSecureRequest
- Add
ThreeDSecureNonce
class - Rename
ThreeDSecureResult#tokenizedCard
toThreeDSecureResult#threeDSecureNonce
- Remove
ThreeDSecureV1UICustomization
- Remove
versionRequesed
fromThreeDSecureRequest
as version 1 is no longer supported - Remove
ThreeDSecureV2BaseCustomization
- Remove
CardinalValidateReceiver
fromThreeDSecureActivity
- Make empty
ThreeDSecureLookup
constructor package-private
- Remove
- PayPal
- Update package name to
com.braintreepayments.api.paypal
- Require Android App Links to return to merchant app from PayPal flows
- Remove
PayPalListener
- Add
PayPalLauncher
,PayPalPaymentAuthRequest
,PayPalPendingRequest
,PayPalPaymentAuthResult
,
PayPalPaymentAuthCallback
,PayPalTokenizeCallback
, andPayPalResult
- Remove
PayPalFlowStartedCallback
- Remove overload constructors,
setListener
,parseBrowserSwitchResult
,
clearActiveBrowserSwitchResult
,requestOneTimePayment
, andrequestBillingAgreement
from
PayPalClient
- Rename
PayPalClient#tokenizePayPalAccount
toPayPalClient#createPaymentAuthRequest
and
change parameters - Rename
PayPalClient#onBrowserSwitchResult
toPayPalCient#tokenize
and change parameters
- Update package name to
- LocalPayment
- Remove
LocalPaymentListener
- Add
LocalPaymentLauncher
,LocalPaymentPendingRequest
,LocalPaymentTokenizeCallback
,
LocalPaymentAuthRequest
,LocalPaymentAuthRequestCallback
andLocalPaymentAuthResult
- Change
LocalPaymentResult
type - Remove overload constructors,
setListener
,parseBrowserSwitchResult
,
clearActiveBrowserSwitchResult
,approveLocalPayment
, andapprovePayment
from
LocalPaymentClient
- Rename
LocalPaymentClient#startPayment
toLocalPaymentClient#creatPaymentAuthRequest
and change parameters - Rename
LocalPaymentClient#onBrowserSwithResult
toLocalPaymentClient#tokenize
and
change parameters - Update package name to
com.braintreepayments.api.localpayment
- Remove
- Card
- Update package name to
com.braintreepayments.api.card
- Remove
threeDSecureInfo
fromCardNonce
- Move
ThreeDSecureInfo
tothree-d-secure
module - Add
CardResult
object - Change
CardTokenizeCallback
parameters
- Update package name to
- SEPA Direct Debit
- Update package name to
com.braintreepayments.api.sepadirectdebit
- Remove
SEPADirectDebitLifecycleObserver
andSEPADirectDebitListener
- Add
SEPADirectDebitLauncher
,SEPADirectDebitPendingRequest
,
SEPADirectDebitPaymentAuthRequestCallback
,SEPADirectDebitPaymentAuthRequest
,
SEPADirectDebitResult
,SEPADirectDebitPaymentAuthRequestParams
and
SEPADirectDebitTokenizeCallback
- Remove Fragment or Activity requirement from
SEPADirectDebitClient
constructor - Replace
SEPADirectDebitClient#onBrowserSwitchResult
withSEPADirectDebitClient#tokenize
and
modify parameters - Replace
SEPADirectDebitClient#tokenize
withSEPADirectDebitClient#createPaymentAuthRequest
and modify parameters - Rename
SEPADirectDebitPaymentAuthRequestCallback#onResult
to
SEPADirectDebitPaymentAuthRequestCallback#onSEPADirectDebitPaymentAuthResult
- Update package name to
- Visa Checkout
- Visa checkout is not yet available for v5
- American Express
- Update package name to
com.braintreepayments.api.americanexpress
- Change parameters of
AmericanExpressGetRewardsBalanceCallback
- Add
AmericanExpressResult
- Update package name to
- Samsung Pay
- Remove entire Samsung Pay module
- PayPal Native Checkout
- Remove entire PayPal Native Checkout module
- SharedUtils
- Update package name to
com.braintreepayments.api.sharedutils
- Update package name to
- PayPal Messaging (BETA)
- Remove
BraintreeClient
from constructor - Update package name to
com.braintreepayments.api.paypalmessaging
- Remove
- Shopper Insights (BETA)
- Remove
BraintreeClient
from constructor - Update package name to
com.braintreepayments.api.shopperinsights
- Remove
- All Modules