Stripe ACH

From WHMCS Documentation

Revision as of 23:38, 19 January 2022 by John (talk | contribs) (Invalid Remote Token For Gateway:)

This page describes a Payment Gateway Module in version 7.9 and above.

Supported Features

Type One Time Recurring Refunds 3D Secure
Token Yes Yes Yes No
Remote Update Card Remote Delete Card AddPayMethod API
No Yes No

Getting Started

To activate and configure the Stripe ACH module for use, follow the steps below.

Plaid and Stripe have partnered in order to offer frictionless money transfers without the need to ever handle an account or routing number. Using Plaid allows you to instantly authenticate a customer's account and automatically generate a Stripe bank account token. The WHMCS Stripe ACH integration requires Plaid. If you do not have a Plaid account, you can sign up at https://dashboard.plaid.com/signup

Activate ACH at Stripe
Before payments can be processed via Stripe ACH, it is necessary to activate ACH capabilities on your Stripe account. This guide demonstrates the process: https://plaid.com/docs/stripe/#step1

  1. Begin by logging into the Plaid control panel and navigate to Team Settings > Integrations
  2. Click Enable next to the Stripe integration and follow the on-screen instructions through to completion
  3. Once Plaid and Stripe are successfully linked, log in to your WHMCS Administration Area
  4. Navigate to Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.
  5. Select the All Payment Gateways tab
  6. Locate Stripe ACH and click to activate it
  7. Stripe ACH uses API keys for authentication. Upon activation, you will be asked to enter the Secret and Publishable API Keys. If you currently have the Stripe gateway configured you can check the box for "Use Stripe Configuration" to use the same API keys as the existing Stripe gateway without needing to enter them again.
  8. Do not enter a value for the Webhook Secret Key, it will be generated automatically.
  9. Stripe ACH uses Plaid to validate bank information entered by clients. You will need to enter your Plaid Client ID, Public Key and Secret
When using newer Plaid accounts, 'link_tokens' are provided instead of 'public_key', you will need to contact Plaid support and request public_key is enabled on your Plaid account if you are also using a version of WHMCS prior to 8.1.0.


When using WHMCS 8.1.0+ no changes are required to the Plaid account.
  1. Customise the Display Name as desired
  2. Customise the Statement Descriptor if desired (maximum of 22 characters)
  3. Click Save Changes to complete the setup process.

Stripe ACH is now active and ready for use.

Transaction Fees: Stripe returns transaction fees in the default currency of the Stripe account. If you have a different default currency in WHMCS, you must ensure you have configured the currency of your Stripe account in Configuration () > System Settings > Currencies or, prior to WHMCS 8.0, Setup > Payments > Currencies along with a valid exchange rate to allow WHMCS to be able to convert the fee into your other currencies.

Webhook Secret Key

The Stripe ACH module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.

Should the Secret Key for the Webhook be modified at Stripe, this must be updated within the WHMCS Stripe ACH module configuration:

  • Log in to your Stipe account, navigate to Developers > Webhooks page
  • Click on the webhook for the stripe_ach.php URL (there should only be one)
  • In the Signing Secret section click Click to reveal
  • Copy the secret and log in to the WHMCS Admin Area
  • Navigate to the Manage Existing Gateways tab at Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.
  • Paste the value into the Stripe ACH WebHook Endpoint Secret field.
  • Click Save Changes

Subsequent payment notifications will be passed to WHMCS successfully once again.

Payment Workflow

  1. Automated recurring and on-demand billing is supported.
  2. ACH Payments can take up to 5 days to process. The invoice will be placed in Payment Pending until the payment has cleared.
  3. When making a payment, customers are able to select to use a previously stored bank account or enter a new one.
  4. Customers never leave your WHMCS installation during checkout or adding/removing a new bank account.
  5. Personal bank information is submitted directly to Stripe/Plaid and is never stored in your local WHMCS installation.
  6. The Stripe API is used for refunds and obtaining transaction information.

Troubleshooting

error

A simple message error when attempting to make payment indicates invalid credentials or incomplete Plaid configuration. To resolve it, please check the following points:

1. The Plaid Client Id, Public Key and Secret combination is being rejected.

Ensure the API Keys have been correctly copied from your account into WHMCS in the Manage Existing Gateways tab at Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.

Please review the #Getting Started steps above to ensure all the configuration has been fully completed.

2. The Sandbox/Development Secret is being used in a live move or vice versa. Plaid issues individual Secrets for use with the Sandbox, Developer and Live environments. Ensure that the Plaid Secret entered correctly corresponds to the Plaid Environment setting.

To use Plaid in production mode to process real payments:

  • Log in to your Plaid account, navigate to Team Settings > Keys
  • Copy the Production Secret
  • In the WHMCS Admin, navigate to the Manage Existing Gateways tab at Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.
  • Use the Plaid Environment dropdown to select the Production option
  • Paste it into the Plaid Secret field
  • Click Save Changes

Please review the #Getting Started steps above to ensure all the configuration has been fully completed.

3. The Stripe integration is not enabled in your Plaid account. To use Stripe ACH, Plaid must be linked to your Stripe account.

Follow these steps to activate the Stripe integration with your Plaid account: https://plaid.com/docs/stripe/#step1 Please review the #Getting Started steps above to ensure all the configuration has been fully completed.

Invalid Remote Token For Gateway:

Seeing the error Invalid Remote Token For Gateway: in the Billing > Gateway Log indicates the Client Account to which the invoice belongs does not currently have a valid Stripe ACH Pay Method available. Locally Stored Bank Account Pay Methods cannot be used to make a capture attempt. Instead Stripe ACH requires the bank details to be stored in their system and WHMCS stores a remote token for it. This has the added benefit of reducing your liabilities as you do not need to store a client's full bank account details.

To resolve:

  • Navigate to the Client Account's Summary tab.
  • Delete the local Bank Account Pay Method.
  • Ask the customer to login to their client area and pay the invoice by clicking the "Pay Invoice" button.

This will initiate the payment via Stripe ACH and create the necessary tokens against which future automated payments can be taken.