Initialize Plaid Items
Create Plaid Items to be used with Signal
Creating Plaid Items
Before evaluating a payment with Signal, your end users need to link a bank account to your app using Link, Plaid's client-side widget. Link will connect the user's bank account and obtain the consent required to perform this evaluation.
See the Link documentation for more details on setting up a Plaid Link session. At a high level, the steps are:
Call
/link/token/create
with theauth
andsignal
products.- (Recommended) To enable the account for use with Signal, and have Signal utilize whatever data is available, put
signal
in theoptional_products
array. - To require Signal has the maximum data available to it (and reject all Link attempts at institutions that may not provide certain pieces of data), include
signal
in theproducts
array. - If you add Signal to the
additional_consented_products
array instead, you may need to call/signal/prepare
later on; see Adding Signal to existing Items for details.
- (Recommended) To enable the account for use with Signal, and have Signal utilize whatever data is available, put
Initialize Link using the
link_token
created in the previous step. For more details for your specific platform, see the Link documentation. The user will now go through the Link flow.Call
/item/public_token/exchange
to exchange thepublic_token
for anaccess_token
.Obtain the
account_id
of the account used for the transaction you wish to perform the evaluation on; this can be obtained from themetadata.accounts
field in theonSuccess
callback, or by calling/accounts/get
or/link/token/get
.
Once you have your Plaid Item, continue to evaluate the risk of the transaction.
Adding Signal to existing Items
You may have Items that were not initialized with Signal; for example, if you are adding Signal to an existing Plaid integration. In this case, for best results, call /signal/prepare
on the Item before your first call to /signal/evaluate
. If you skip calling /signal/prepare
, the Item's first call to /signal/evaluate
will take longer and be less accurate, because Signal will not have had the opportunity to pre-load certain data about the Item. Subsequent calls to /signal/evaluate
on the Item will have higher accuracy.