Plaid Integration
Overview
Integrating with Plaid allows partners to securely link consumer bank accounts to enable payments and account verification.
This flow relies on a hosted link provided by Upward uses message passing and deep links to manage authentication and completion.
Integration Steps
Important note 
When you use a Hosted Link in a native mobile app, you will open the URL inside of an “out of process” webview, such as an ASWebAuthenticationSession in iOS, or an Android Custom Tab. These sessions appear as part of your application, making the process feel more seamless than opening up the URL in a separate browser application.
- 
Request a consumer scoped token - Partners can get the token using auth api.
Token scope required to perform this action is ui:client-onboarding api:purchase:write api:accounts:read api:accounts:write
 
- Partners can get the token using auth api.
Token scope required to perform this action is 
- 
Request a hosted link - Open the provided link in your app or browser.
- URL: https://component-embedded-sandbox.upwardli.com/en/onboarding/transfer/?access_token={consumer_scope_token}
 
- 
Listen for Plaid token message - Upward will send an iframe messageto the parent frame with the event:
 
- Upward will send an 
- 
Use the hosted link to initiate Plaid - After receiving the hosted link, you’ll need to open a secure Plaid flow.
 
- 
Open the Plaid browser - Launch a secure.plaid.combrowser session where the consumer can complete Plaid authentication.
 
- Launch a 
- 
Handle completion with custom URL schema - Once Plaid completes, Upward will send out a deep link using the schema:
 
- Once Plaid completes, Upward will send out a deep link using the schema:
- 
Close the Plaid browser on redirect - Your app must listen for the plaid completion_redirect_uriin order to close the Plaid browser session.
 
- Your app must listen for the 
Example: Plaid Completion / Close Browser
Here is the code example:

