PayJunction's /plaid API offers a way for integrators to create ACH WEB transactions that are compliant with industry standards for e-commerce solutions.
ACH transactions through PPD and CCD require the merchant to obtain explicit authorization from the customer via a signed form each time they charge the customer's bank account. By using PayJunction's /plaid API, this step is eliminated because the customer directly authorized their account. Additionally, this API offers other benefits, such as verifying that the customer has sufficient funds available to cover the transaction, which can help reduce the number of transaction rejections.
General Overview
To process an ACH WEB transaction using a plaidAccessToken, the general workflow is as follows:
-
Include the Plaid Javascript SDK in your web application:See: https://plaid.com/docs/link/web/
<script src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script> - Request a
plaidLinkTokenusing POST /plaid/link/token/create. - Submit the
plaidLinkTokento the Plaid Javascript SDK:Plaid.create({
token: plaidLinkToken,
onSuccess: async (plaidPublicToken) => {
...
}
}).open();The Plaid Link process takes control here and facilitates the customer authorizing with their bank to grant access to their account.
Once the user completes the process, a temporary
plaidPublicTokenis returned via theonSuccesscallback as seen in the code sample above. -
Submit the temporary
plaidPublicTokenusing POST /plaid/item/public_token/exchange to create a non-expiringplaidAccessToken. Conceptually, theplaidAccessTokenis similar to a PayJunctionvaultId, and references the specific account the user provided access to. - Submit the
plaidAccessTokenusing POST /transactions whenever an ACH WEB transaction needs to be processed.