Skip to main content

Android Push Provisioning v2.0.0

· 9 min read

Changes

warning

This version is a major update over 1.0.0 that includes removals and changes in the public interface of the SDK, as well as a completely new distribution method. Make sure you address these changes by following the instructions in the migration guide at the end of the release notes for this version.

Compatibility

Minimum Android SDK: 24 (Android 7.0 Nougat)

Compile SDK: 35

Target SDK: 35

Kotlin: 1.8.0 or newer

Google Pay device requirements: Google Play services must be installed and up to date; NFC only needed for default-payment flows.

Added

  • Added onCancelled() to AddToWalletListener.
  • Added WPPComponents.initializeWeavrSDK(context: Context, uiKey: String) to initialise the SDK instead of WPPComponents.initWeavrGPayClient.
  • Added WPPComponents.getCardStatus to replace WPPComponents.canAddCardToWallet avoiding listeners and using coroutines instead.
  • Added WPPComponents.setDefaultCardInGooglePay to replace WPPComponents.setCardAsDefaultPaymentMethod.
  • Added WPPException to subclass Exception for throwing, as well as to standardise the error reporting within the SDK. Note that the SDK won't be throwing and instead use Outcome to report success or error.
  • Added WeavrSDKErrorCodes to contain a list of error codes the SDK can use.
  • Added states PENDING and SUSPENDED to CardStatus.
  • Added multiple push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta. providers to maximise up-time and reliability.

Breaking changes

  • Updated SDK access process—contact support@weavr.io to receive the latest package and onboarding instructions.
  • Changed WPPComponents.isGooglePayAvailable to be a synchronous method rather than using coroutines needlessly.
  • Changed onError(WPPException) in AddToWalletListener. This replaces the old onError(WPPError) as the WPPError type had less information on what went wrong.

Removed

  • Removed WPPComponents.launchGpay as the result of WPPComponents.getPushProvisioningLauncher includes a provisionCard method instead.

Deprecated

  • Deprecated WPPComponents.initWeavrGPayClient in favour of WPPComponents.initializeWeavrSDK.
  • Deprecated CardStatusListener in favour of an async method to get the card status.
  • Deprecated WPPComponents.canAddCardToWallet in favour of WPPComponents.getCardStatus.
  • Deprecated WPPComponents.setGPayAsDefaultNFCPaymentMethod in favour of WPPComponents.setGooglePayAsDefaultNFCPaymentMethod. This avoids using coroutines needlessly as the outcome depends only on whether the activity to select was able to be launched or not, not the actual result.
  • Deprecated WPPComponents.getGpayLauncher in favour of WPPComponents.getPushProvisioningLauncher to improve naming consistency.
  • Deprecated WPPComponents.setCardAsDefaultPaymentMethod with WPPComponents.setDefaultCardInGooglePay as the callback was unnecessary due to callback being called from within the method itself.
  • Deprecated WPPResult to be replaced with Outcome. This is because WPPResult would use an optional Success generic type, forcing users to account for nulls everywhere. Additionally made Outcome compatible with Kotlin Result by calling Outcome.asResult.
  • Deprecated the case Unknown of CardStatus, and added UNKNOWN for consistency across state capitalisation.
  • Deprecated the case GPayError of CardStatus. This state will no longer be used.

Other changes to note

  • We have moved the SDK to work with AppCompactActivity preferably. Ensure that your activity is sub-classing it to avoid problems during provisioning.
  • SDK binaries are now distributed directly by Weavr Support—request access via support@weavr.io.

iOS Push Provisioning v2.0.0

· 8 min read
warning

This version is a major update over v1 that includes breaking changes in the public interface of the SDK.

Make sure you address these changes by following the instructions in the migration guide at the end of the release notes for this version.

Supported versions:

  • iOS: 15.1 and onwards
  • Xcode: 16.4 and 26
  • Swift: 5.9 and onwards

Added

  • Added WPPComponents.initialize(environment: , uiKey:).
  • Added WPPComponents.makePassEntriesForCardsWith(authenticationToken:, entries:, imageFallback:).
  • Added an async version of WPPComponents.addPaymentPass(authenticationToken: ,clientPaymentCardId: ,certificates: ,nonce: ,nonceSignature:) in case you prefer to avoid callbacks.
  • Added extra properties reason, domain, underlyingErrorCode, and errorCode to WPPError to provide better context into what went wrong.
  • Added WeavrProvisioningErrorCode and WeavrProvisioningErrorDomain to better represent errors. The end of this document contains appendixes with their values.
  • Added more cases to the AddCardToWalletStatus enum to better reflect the potential states a card can be in within Apple Pay.
  • Added a DeviceType enum to let you query the card status in a specific device between phone, or wallet. Also included an either value for convenience. The potential values and how to use them are listed in the Appendix.
  • Added WeavrProvisioningExtensionHandler to simplify the non-ui wallet extension integration.

Breaking change

  • Changed the completion block of WPPComponents.addPaymentPass(authenticationToken: ,clientPaymentCardId: ,certificates: ,nonce: ,nonceSignature: , completionHandler:) so that the PKAddPaymentPassRequest becomes nullable (PKAddPaymentPassRequest?). This allows to report failures to create the request, and is consistent with Apple's requirements in the PKIssuerProvisioningExtensionHandler.generateAddPaymentPassRequestForPassEntryWithIdentifier method.

Removed

  • Removed WPPComponents.makePassEntryForCardWith.
  • Removed WPPError.message in favour of newly added properties.

Deprecated

  • Deprecated WPPComponents.canAddCardToWallet(panLastFour:) in favour of WPPComponents.getCardStatusInWallet(forCardWithLastFourDigits:, deviceType:).

Multi API v3.63.2

· 3 min read

Get users' endpoints now include root usersRoot user The individual who creates the identity. For corporate identities, the root user needs to be a legal representative of the corporate such as a director or a representative who has the power of attorney over the company. For consumer identities, the root user is the owner of the identity. Every identity must always have one root user.


Multi API v3.63.1

· 2 min read

Mobile phone numbers entered into the MultiMulti Weavr Multi is an embedded finance solution that allows you to integrate financial services into your own application, providing a seamless experience for your customers. It enables you to offer managed accounts, managed cards, and transactions without requiring financial expertise. API must follow international standards