Stripe ACH

The Stripe™ ACH payment gateway module is available in WHMCS.

  • For other Stripe options, see Stripe and Stripe SEPA.
  • In WHMCS 8.9, we updated this module to use Stripe’s PaymentIntents API instead of the deprecated Stripe API.

Supported Features

Type: Token

One-TimeRecurringRefundsReversals
✖️
3D SecureRemote Update CardRemote Delete CardAddPayMethod API
✖️✖️✖️

Adding the Stripe ACH Payment Gateway

We removed support for Plaid in this module in WHMCS 8.9.

Configuring Stripe ACH in WHMCS 8.9 and later.

To set up the Stripe ACH payment gateway in WHMCS:

  1. If you use WHMCS 8.8 or earlier, activate Plaid support:
    1. Make certain that you have activated ACH in your Stripe account.
    2. If you have not already, create a Plaid account.
    3. Log in to the Plaid control panel.
    4. Go to Team Settings > Integrations.
    5. Click Enable next to the Stripe integration and follow the on-screen instructions.
  2. Log in to the WHMCS Admin Area.
  3. Go to Configuration () > Apps & Integrations or Addons > Apps & Integrations.
  4. Click Stripe ACH.
  5. Check Show on Order Form to display this payment method in the Client Area during checkout.
  6. Configure a display name. We recommend Credit Card.
  7. Generate publishable and restricted API keys using the WHMCS app in the Stripe App Marketplace.
  8. Copy and paste the API keys into WHMCS.
    If you used Stripe prior to October 2024, you must update Secret Stripe API Key to use a restricted API key instead of the previous secret key. For more information, see Restricted API Key Requirement below.
    • If you currently also use the Stripe payment gateway, you can check Use Stripe Configuration to use your existing API keys.
    • Do not enter a value for the Webhook Secret Key. The system generates it automatically.
      • The Stripe ACH module requires a valid Webhook and Secret Key in order to recognize payments and automatically apply them to invoices.
      • If you modify the secret key for the webhook at Stripe, you must also update it in WHMCS.
    • If you use WHMCS 8.8 or earlier, contact Plaid support and ask them to enable public_key on your Plaid account.
  9. Click Save Changes.

Test Mode

This payment gateway module does not include a manual Test Mode setting. Instead, Stripe will detect whether you are using a live account or a test account using the API keys that you enter.

Restricted API Key Requirement

If you used this module prior to October 2024, you must replace the old secret key in your Stripe configuration with a restricted API key.

In January 2024, Stripe announced that it will require new secure authentication methods beginning on October 29, 2024.

If you use any Stripe payment gateway modules (Stripe, Stripe ACH, or Stripe SEPA), you must ensure that you have configured it to use a restricted API key for Secret Stripe API Key.

You can retrieve publishable and restricted API keys using the WHMCS app in the Stripe App Marketplace.

For steps and more information, see Add Restricted API Keys to Stripe.

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 properly configure the currency of your Stripe account in Configuration () > System Settings > Currencies with a valid exchange rate to allow WHMCS to be able to convert the fee into your other currencies.

Payment Workflow

This module supports automated recurring and on-demand billing.

ACH payments can take up to five days to process. The invoice status will be Payment Pending until the payment clears.

When making a payment, customers can choose to use a previously-stored bank account or enter a new one. Customers never leave your WHMCS installation during checkout or adding or removing a new bank account. The system never stores personal bank information in your local WHMCS installation.

The system uses the Stripe API for refunds and obtaining transaction information.

Troubleshooting

error

This error indicates invalid credentials or an incomplete Plaid configuration while attempting to make a payment.

To resolve it, check for the following potential problems:

The Plaid Client ID, Public Key, and Secret combination is rejected.

Ensure that the API keys have copied correctly from your account into WHMCS at Configuration () > System Settings > Payment Gateways.

Then, check to ensure that you have completed all of the necessary configuration steps for the module.

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 you entered Plaid Secret correctly and that it corresponds to the Plaid Environment setting.

To use Plaid in production mode to process real payments:

  1. Log in to your Plaid account and go to Team Settings > Keys.
  2. Copy Production Secret.
  3. In WHMCS, go to Configuration () > System Settings > Payment Gateways.
  4. In WHMCS 8.5 and earlier, click the Manage Existing Gateways tab.
  5. Select Production for Plaid Environment.
  6. Paste it into Plaid Secret.
  7. Click Save Changes.
  8. Check to ensure that you have completed all of the necessary configuration steps for the module.

The Stripe integration is not enabled in your Plaid account.

To use Stripe ACH in WHMCS 8.8 or earlier, you must link Plaid to your Stripe account. For steps to activate the Stripe integration with your Plaid account, see Stripe’s documentation.

Then, check to ensure that you have completed all of the necessary configuration steps for the module.

Invalid Remote Token For Gateway:

A Invalid Remote Token For Gateway error at Billing > Gateway Log indicates that the invoice’s associated client does not currently have a valid Stripe ACH pay method available.

You cannot use local bank account pay methods to make a capture attempt. Instead, Stripe ACH requires storing the bank details in their system and then WHMCS stores a remote token for them.

To resolve this error:

  1. Go to the Summary tab of the client’s profile.
  2. Delete the local bank account pay method.
  3. Ask the customer to log in to the Client Area and pay the invoice by clicking Pay Invoice.

This will initiate the payment via Stripe ACH and create the necessary tokens for accepting future automated payments.

Last modified: October 29, 2024