- CorePayments
- Fix issue that causes analytics version number to always be
null
- Fix issue that causes analytics version number to always be
- Breaking Changes
- CardPayments
- Remove
CardClient.approveOrderListener
property - Remove
CardClient.cardVaultListener
property - Remove
ApproveOrderListener
type - Add
CardApproveOrderCallback
interface - Convert
CardApproveOrderResult
to a sealed class - Remove
CardClient.approveOrder(CardRequest)
method - Add
CardClient.approveOrder(CardRequest, CardApproveOrderCallback)
method - Add
CardClient.finishApproveOrder(Intent, String)
method - Add
CardFinishApproveOrderResult
type - Remove
CardResult
type - Remove
CardClient.vault(Context, CardVaultRequest)
method - Remove
CardClient.completeAuthChallenge(Intent, String)
method - Remove
CardClient.removeObservers()
method - Add
CardClient.vault(CardVaultRequest, CardVaultCallback)
method - Add
CardClient.finishVault(Intent, String)
method - Add
CardFinishVaultResult
type - Add
CardVaultCallback
interface - Convert
CardVaultResult
to a sealed class
- Remove
- PayPalWebPayments
- Remove
PayPalWebCheckoutClient.listener
property - Add
PayPalWebCheckoutClient.finishStart(Intent, String)
method - Remove
PayPalWebCheckoutResult
type - Add
PayPalWebCheckoutFinishStartResult
type - Remove
PayPalWebCheckoutClient.vaultListener
type - Add
PayPalWebCheckoutClient.finishVault(Intent, String)
method - Remove
PayPalWebCheckoutClient.removeObservers()
method - Add
PayPalWebCheckoutFinishVaulResult
type - Remove
PayPalWebVaultResult
type
- Remove
- CardPayments
- Breaking Changes
- PayPalNativePayments
- Remove entire PayPalNativePayments module
- CardPayments
- Remove
CardClient(FragmentActivity, Config)
constructor - Add
CardClient(Context, Config)
constructor - Remove
CardClient.approveOrder(FragmentActivity, CardRequest)
method - Add
CardClient.approveOrder(CardRequest)
method - Remove
CardClient.presentAuthChallenge(FragmentActivity, CardAuthChallenge)
method - Add
CardClient.presentAuthChallenge(ComponentActivity, CardAuthChallenge)
method - Add
CardPresentAuthChallengeResult
type - Add
CardClient.completeAuthChallenge(Intent, String)
method - Add
CardStatus
type - Add
ApproveOrderListener.onApproveOrderAuthorizationRequired(CardAuthChallenge)
method - Add
CardVaultListener.onVaultAuthorizationRequired(CardAuthChallenge)
method - Remove
authChallenge
property fromCardVaultResult
- Remove
deepLinkUrl
andliabilityShift
properties fromCardResult
- Annotate
CardResult
andCardVaultResult
constructors as restricted to the library group - Add
didAttemptThreeDSecureAuthentication
property toCardVaultResult
- Remove
- PayPalWebPayments
- Remove
PayPalWebCheckoutClient(FragmentActivity, CoreConfig, String)
constructor - Add
PayPalWebCheckoutClient(Context, CoreConfig, String)
constructor - Remove
PayPalWebCheckoutClient.start(PayPalWebCheckoutRequest)
method - Add
PayPalWebCheckoutClient.start(ComponentActivity, PayPalWebCheckoutRequest)
method - Remove
PayPalWebCheckoutClient.vault(PayPalWebVaultRequest)
method - Add
PayPalWebCheckoutClient.vault(ComponentActivity, PayPalWebVaultRequest)
method - Add
CardClient.completeAuthChallenge(Intent, String)
method - Add
PayPalPresentAuthChallengeResult
type - Add
PayPalWebStatus
type
- Remove
- Gradle
- Update
browser-switch
version to3.0.0-beta
- Update Kotlin version to
1.9.24
- Update Android Gradle Plugin (AGP) to version
8.7.1
- Explicitly declare Java 17 version as the target JVM toolchain
- Update
- PayPalNativePayments
- Gradle
- Update Android Gradle Plugin (AGP) to version
8.5.2
- Remove jacoco code coverage integration that was causing build failures after upgrading to latest AGP version
- Remove hardcoded compileSdk version from each module's
build.gradle
file - Update Demo app to use Java 17 to fix kapt build errors
- Update Android Gradle Plugin (AGP) to version
- GitHub Actions
- Bump Java Version to 17 for all build actions
- All Modules
- Upgrade compileSdkVersion and targetSdkVersion to API 35
- CardPayments
- Deprecate
CardResult.liabilityShift
property - Deprecate
CardResult.deepLinkUrl
property - Add
CardResult.status
property - Add
CardResult.didAttemptThreeDSecureAuthentication
property
- Deprecate
- PayPalWebPayments
- Deprecate
PayPalWebVaultRequest(setupTokenId, approveVaultHref)
- Add
PayPalWebVaultRequest(setupTokenId)
- Deprecate
- PayPalNativePayments (DEPRECATED)
- NOTE: This module is being deprecated and will be removed in the future version of the SDK. Use
PayPalWebPayments
module instead. - Add deprecated warning message to all classes
- NOTE: This module is being deprecated and will be removed in the future version of the SDK. Use
- PaymentButtons
- Add
paylater_color
toPayLaterButton
to control the color of the pay later button from XML.
- Add
- CardPayments
- Add
liabilityShift
property toCardResult
- Callback
PayPalSDKError
whenCardClient#approveOrder()
3DS verification fails - Add
CardClient#presentAuthChallenge()
- Add
returnUrl
property toCardVaultRequest
- Add
authChallenge
property toCardVaultResult
- Add
CardAuthChallenge
type - Add
CardClient.removeObservers()
method
- Add
- FraudDetection
- Fixes Google Play Store Rejection
- Bump Magnes version to 5.5.1
- Create
PayPalDataCollectorRequest
- Add
PayPalDataCollector#collectDeviceData(context, request)
- Deprecate
PayPalDataCollector#collectDeviceData(context, clientMetadataId, additionalData)
- Fixes Google Play Store Rejection
- PaymentButtons
- Undeprecate
PayPalCreditButtonColor.BLACK
and.DARK_BLUE
- Undeprecate
PayPalButtonColor.BLUE
,.BLACK
, and.SILVER
- Added analytics events
payment-button:initialized
andpayment-button:tapped
- Update font typeface to "PayPalOpen" to meet brand guidelines
- Undeprecate
- PayPalNativePayments
- Fixes Google Play Store Rejection
- Bump Native Checkout version to 1.3.2
- Add
hasUserLocationConsent
toPayPalNativeCheckoutRequest
- Fixes Google Play Store Rejection
- PayPalWebPayments
- Add
PayPalWebCheckoutClient.removeObservers()
method
- Add
- PaymentButtons
- Add
PayPalCreditButtonColor.WHITE
and.GOLD
- Deprecate
PayPalCreditButtonColor.BLACK
and.DARK_BLUE
- Deprecate
PayPalButtonColor.BLUE
,.BLACK
, and.SILVER
- Add
- PayPalNativeCheckout
- Bump native-checkout version to release
1.2.1
- Bump native-checkout version to release
- PaymentButtons
- Supporting custom corner radius on the PayPal Button
- PayPalWebPayments
- Add
PayPalWebVaultListener
interface - Add
PayPalWebVaultResult
data class - Add
vaultListener
property toPayPalWebCheckoutClient
- Add
vault()
method toPayPalWebCheckoutClient
- Add
- PayPalNativeCheckout
- Bump native-checkout version to release
1.2.0
- Add
userAuthenticationEmail
toPayPalNativeCheckoutRequest
- Bump native-checkout version to release
- Breaking Changes
- CardPayments
- Make
Amount
class internal - Make
ApproveOrderMetadata
class internal - Make
AuthenticationResult
class internal - Make
Payee
class internal - Make
PaymentSource
class internal - Make
PurchaseUnit
class internal - Make
ThreeDSecureResult
class internal - Make
Environment
enum associated values internal - Remove
OrderRequest
class - Rename
VaultRequest
toCardVaultRequest
- Rename
VaultResult
toCardVaultResult
- Rename
VaultListener
toCardVaultListener
- Make
- CorePayments
- Remove
open
modifier onPayPalSDKError
- Remove
- CardPayments
- FraudDetection
- Update
PayPalDataCollector
constructor to require a configuration instead of an environment - Remove
PayPalDataCollectorEnvironment
enum - Rename
PayPalDataCollector
getClientMetadataId()
method tocollectDeviceData()
- Update
- CardPayments
- Add
CardClient#vault()
method - Add
VaultRequest
andVaultResult
types for interacting with theCardClient#vault()
method - Add
VaultListener
interface to receiveCardClient#vault()
success and failure results - Add
vaultListener
property toCardClient
- Add
- PayPalNativePayments
- Bump
PayPal Native Checkout
to1.1.0
- Bump
- Breaking Changes
- CardPayments
- Remove
Vault
data class originally meant for Vault with Purchase flows (it's no longer needed)
- Remove
- CorePayments
- Remove
STAGING
constant fromEnvironment
enum
- Remove
- CardPayments
- All Modules
- Bump Kotlin version to
1.8.21
- Bump Kotlin version to
- CardPayments
- Make
Card
implementParcelable
- Make
CardRequest
implementParcelable
- Make
- CorePayments
- Make
Address
implementParcelable
- Make
- PayPalNativePayments
- Bump
PayPal Native Checkout
to1.0.0
- Bump
- Breaking Changes
- CardPayments
- Remove
status
property fromCardResult
- Remove
paymentSource
property fromCardResult
- Remove
- CorePayments
- CoreConfig instances must now be instantiated using a
clientId
instead of anaccessToken
- CoreConfig instances must now be instantiated using a
- CardPayments
- CardPayments:
- Make
Card.securityCode
required
- Make
PayPalNativePayments
:- Remove
Approval
fromPayPalNativeCheckoutResult
, expose onlyorderID
andpayerID
- Add
PayPalNativeCheckoutRequest
tostartCheckout
, removingCreateOrder
callback - Remove
onPayPalCheckoutShippingChange
method fromPayPalNativeCheckoutListener
. - Add
PayPalNativeShippingListener
to receive events on changes in shipping information. AddPayPalNativeShippingAddress
,PayPalNativeShippingMethod
andPayPalNativePaysheetActions
- Remove
PayPalCheckout
as anapi
dependency
- Remove
- CorePayments:
- Send
orderId
instead ofsessionId
for analytics
- Send
PayPalNativePayments
:- Bump
PayPal Native Checkout
to0.8.8
and addreturn_url
- Bump
- Send analytic events for
PayPalNativePayments
,PayPalWebPayments
, andCardPayments
flows
- Rename
PayPalDataCollector
toFraudProtection
- Rename
PayPalNativeCheckout
toPayPalNativePayments
- Rename
PayPalWebCheckout
toPayPalWebPayments
- Rename
Card
toCardPayments
- Rename
PayPalUI
toPaymentButtons
- Rename
Core
toCorePayments
PayPalNativeCheckout
:- Fix
MagnesSDK
not found error - Bump NXO to 0.8.7
- Fix
Card
:- Remove
ThreeDSecureRequest
fromCardRequest
- Update
CardRequest
to passreturn_url
and an optionalsca
- Remove
PayPalUI
:- Fix: remove loading spinner on buttons.
- Add
PayPalNativeCheckout
:- Use the native Paypal checkout flow in your app
- Fix hardcoded url scheme for the BrowserSwitch in Card
- Remove client secret and add support for Full Access Tokens
- Add concurrency to github actions
- Add snapshot repository
- First testable version of the SDK.
- Add
Card
:- Enables users to use unbranded cards to approve orders
- Add
PayPalWebCheckout
:- Use the web Paypal checkout flow in your app
- Add
PayPalUI
:- Provides a set of customizable PayPal Buttons