5.x to 7.x Migration Guide

Reference for migrating the Link React Native SDK from 5.x to 7.x


This article provides a guide on how to upgrade a Plaid integration from the React Native 5.x SDK to the 7.x SDK.

Update Android versions

In your build.gradle, you no longer need to specify the sdk-core or okhttp3 dependencies.

  • Remove implementation 'com.plaid.link:sdk-core:3.2.0+'
  • Remove implementation 'com.squareup.okhttp3:okhttp:4.9.0+'

Update iOS versions

  1. Update your minimum deployment target to 11 or greater:

    platform :ios, '11.0'
  2. Update your Plaid pod dependency to 2.0.8 or greater:

    pod 'Plaid', '~> 2.0.8'

Update Plaid component

The Plaid Link SDK now supports TypeScript! PlaidLink renders a Pressable component, which wraps the component you provide and intercepts onPress events to open Link. Additionally, the structure of the inputs has changed.

  • Pass in all properties using the tokenConfig
  • You must not use the oauthNonce or oauthRedirectUri

You can use the children prop to pass in the component that will be wrapped by PlaidLink. linkLogLevel has been added as an optional parameter, which can be used to output useful debugging information.

Public key integrations

Note that tokenConfig implementations are preferred to the deprecated publicKeyConfig implementation. You can migrate to a token configuration using the Link Token migration guide.

If you are using the deprecated public key integration, please be aware of these changes:

  • Pass in all properties using publicKeyConfig:
    • product has been renamed to products
    • env has been renamed to environment
    • The oauthStateId prop has been removed and is no longer needed
    • oauthNonce and oauthRedirectUri are now encapsulated in oauthConfiguration
    • component and componentProps have been removed and you may now use children to pass in a component
    • The payment_token prop has been removed, so all tokens should be passed through the token
    • Some fields are now required: products, language, countryCodes, and environment

Update Success, Exit and Event types

The output types for Success, Exit and Event have been unified across Android and iOS. For a full listing of changes, see the platform-specific migration guides:

Output type changes for Android

Output type changes for iOS

For the full API specifications, see the main docs.

(Optional) Use the usePlaidEmitter hook

In order to get onEvent callbacks you may now use the usePlaidEmitter hook.

usePlaidEmitter((event) => {