Enable the support for Plaid account validation solution
This article describes Zuora's support for Plaid Auth and Balance products, and how to enable them in Zuora.
Support for Plaid Auth and Balance products can be requested through the Specialized Payment Connections service at an additional cost.
Overview
Plaid offers Auth and Balance products to streamline bank account validation in the payment flow. Auth authenticates account details before sending requests to the gateway, while Balance checks the real-time account balance before transactions. Currently, these Plaid products are supported for ACH transactions in Zuora.
To use the Plaid Auth and Balance products in Zuora, you must first enable them in both Plaid and Zuora. Once enabled, the following flows apply to the ACH transactions:
- Authentication flow
If Plaid Auth is enabled, you can implement a Payment Page 2.0 to add ACH payment methods in Zuora through the Plaid Link flow. The Plaid Link UI is displayed in the iFrame of the hosted payment page. The bank account information, routing number, and access token are returned and saved in Zuora.
- Balance check flow
If Plaid Balance is enabled, one-time and recurring payments made with the ACH payment methods that were created through the Plaid Link flow are processed through the Balance flow by using the access token. The account balance is checked before transactions.
The following procedure describes the end-user experience flow:
- Your customer selects ACH from the hosted payment page implemented through Zuora Payment Pages 2.0. The Plaid Link page is displayed.
- Your customer selects a bank. A dialog presenting the partnership with Plaid is displayed.
- Your customer logs in to Plaid using bank credentials by following a wizard. A list of bank accounts is displayed.
- Your customer selects an account. A success message indicates that the selected bank account is successfully connected to the Plaid account.
- The payment transactions are made on schedule if the account has sufficient balance.
Enable Plaid account validation
To enable the support for Plaid Auth and Balance, complete the following steps:
- Contact Plaid and get a Plaid account.
- In the Plaid dashboard, complete the following configurations:
- Enable Plaid Auth and Balance.
- Customize Link UI according to Plaid's instructions. When configuring Account Select, select Enable for one account as you can select only one payment method on Zuora's hosted payment page to process checkout.
- In Zuora, enable the support for the Plaid account validation solution on your tenant. You can request it through the Specialized Payment Connections service. In your request, include the following information:
- Tenant ID
- Product to enable:
- Auth
- Balance
- Both
- For Balance, specify one or more payment sources from the following options for Plaid to check:
- Payment Run
- API operations
- UI
- Specify how to process payments if the available balance information is not returned by Plaid:
- Do not process payments
- Process payments if the following condition is met:
Current Balance >= N times of the payment amount (You can define N)
- In Zuora, set up an ACH Payment Page 2.0. When configuring the hosted payment page, select Enable Account Validation for this specific ACH HPM Page in the Account Validations section. With this setting selected, the Auth flow is applied to the payment method creation. You do not need to configure any page fields. For detailed instructions on setting up Payment Pages 2.0, see Configure Bank Transfer type Payment Pages 2.0.
Set up notifications for account validation events
Setting up notifications allows you to proactively address issues that might impact payment processing. For example, if a bank account balance is insufficient, you can inform your customers to take corrective action, ensuring the next payment attempt succeeds. Similarly, if customer credentials have expired, you can notify the customer to re-authenticate before the next scheduled payment.
To receive notifications for bank account authentication and balance check events, complete the following steps:
- Define a custom event. Configure the related fields as described in the following table:
Field Authentication Balance check Base Object PaymentTransactionLog PaymentTransactionLog Set Conditions PaymentTransactionLog.Gateway == 'Plaid'
AND
PaymentTransactionLog.GatewayResponseCode == <Plaid_error_code>
For the available Plaid error codes, see Plaid's document.
PaymentTransactionLog.GatewayResponseCode == 'Plaid_InSufficientFunds' For detailed instructions, see Manage custom events and custom scheduled events.
- Add a new callout or email template for the notification. In the Related Event field, select the custom event created in step 1. For detailed instructions, see Manage email and callout templates.
- Add a new notification. In the Related Event field, select the custom event created in step 1. For detailed instructions, see Manage Notifications.
Related tasks
- To export data about Plaid account validation, use Data Source Export or Data Query on the Payment Method Transaction Log object.
- If you want to manually implement the integration with Zuora's support for Plaid Balance, you can use the Retrieve the balance of a bank account API operation.