Stripe ACH

From WHMCS Documentation

About this Module

- We added this module in WHMCS 7.9. - In WHMCS 8.9, we updated this module to use Stripe's PaymentIntents API instead of the deprecated Stripe API.

The Stripe ACH payment gateway module is available in WHMCS.

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

Adding the Stripe ACH Payment Gateway

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

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 the appropriate location for your version of WHMCS:
    • For WHMCS 8.0 and later, go to Configuration () > Apps & Integrations or Addons > Apps & Integrations.
    • For WHMCS 7.10 and earlier, go to Setup > Products/Services > Payment Gateways and choose All Payment Gateways.
  4. Click Stripe ACH.
  5. Check Show on Order Form to display this payment method in the Client Area during checkout.
  6. Enter your Stripe credentials.
    • If you currently also use the Stripe payment gateway, you can check Use Stripe Configuration to use your existing API keys.
    • You can find your credentials in the Stripe portal.
      Stripe ACH Configuration in WHMCS 8.9 and later.
    • Do not enter a value for the Webhook Secret Key. The system generates this automatically.
      • The Stripe ACH module requires a valid webhook and secret key in order for payments to be recognized and automatically applied 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.0 or earlier, contact Plaid support and ask them to enable public_key on your Plaid account.
  7. Click Save Changes.

Test Mode

This module does not support test mode.

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.</div>

Payment Workflow

This module supports automated recurring and on-demand billing.

ACH payments can take up to 5 days to process. The invoice will be placed in Payment Pending until the payment has cleared.

When making a payment, customers are able to select 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. Personal bank information is submitted directly and the system never stores it in your local WHMCS installation.

The system uses the Stripe API 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, 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 the appropriate location for your version of WHMCS:

  • For WHMCS 8.6 and later, go to Configuration () > System Settings > Payment Gateways.
  • For WHMCS 8.0 and later, go to Configuration () > System Settings > Payment Gateways and choose Manage Existing Gateways.
  • For WHMCS 7.10 and earlier, go to Setup > Products/Services > Payment Gateways and choose Manage Existing Gateways.

See the Getting Started steps above to ensure all the configuration is complete.

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 you entered correctly 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 the Production Secret.
  3. Go to the appropriate location for your version of WHMCS:
    • For WHMCS 8.6 and later, go to Configuration () > System Settings > Payment Gateways.
    • For WHMCS 8.0 and later, go to Configuration () > System Settings > Payment Gateways and choose Manage Existing Gateways.
    • For WHMCS 7.10 and earlier, go to Setup > Products/Services > Payment Gateways and choose Manage Existing Gateways.
  4. Select Production for Plaid Environment.
  5. Paste it into Plaid Secret.
  6. Click Save Changes.

See the Getting Started steps above to ensure all the configuration has been fully completed.

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].

See the Getting Started steps above to ensure all the configuration has been fully completed.

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. This has the added benefit of reducing your liabilities because you do not need to store a client's full bank account details.

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.

Server Modules
cPanel/WHM - DirectAdmin - Plesk - Helm 3 - Helm 4 - Ensim - InterWorx - WebsitePanel - Cloudmin
Lxadmin - Virtualmin Pro - XPanel - HyperVM - SolusVM - Cloudmin - WHMSonic - VPS.Net
CentovaCast - SCPanel - MediaCP - GameCP - TCAdmin - Reseller Central - Auto Release - Heart Internet

Registrar Modules
Enom - ResellerClub - Nominet - OpenSRS - ResellOne - OnlineNIC - PlanetDomain - Affordable Domains
TPP Wholesale - TPPInternet - Stargate - Namecheap - NetEarthOne - Bizcn - InternetBS - GMO Internet
12Register - Registercom - DotDNS - WebNIC - Dot.TK - HexoNet - Realtime Register - Registereu
RRPProxy - ResellerCamp - TransIP - Heart Internet - IPMirror - NetRegistry - OVH - VentraIP Wholesale
Email - 101Domain

Fraud Modules
MaxMind - VariLogiX FraudCall - Telesign

Gateway Modules
2CheckOut - AsiaPay - Auth.net Echeck - Authorize.net - Authorize.net CIM - Bank Transfer - BidPay
BluePay - BluePay Echeck - BluePay Remote - Boleto - CashU - CC Avenue - ChronoPay - Direct Debit
EMatters - E-Path - eProcessingNetwork - eWAY Tokens - F2B - Finansbank - GarantiBank - Gate2Shop
Inpay - InternetSecure - IP.Pay - Kuveytturk - Modulo Moip - Mail In Payment - Merchant Partners
Merchant Warrior - IDEALMollie - Moneris - Moneris Vault - Skrill 1-Tap - NaviGate - NETbilling
Netregistry Pay - NoChex - Offline Credit Card - Optimal Payments - PagSeguro - Payflow Pro - Pay Junction
Paymate AU and NZ - Payment Express - PayPal - PayPal Card Payments - PayPal Express Checkout
PayPal Payments - PayPal Payments Pro - PayPoint.net (SecPay) - Payson - Planet Authorize - ProtX VSP Form
PSIGate - Quantum Gateway - Quantum Vault - SagePay - SagePay Tokens v2 - SecurePay
SecurePay AU - Secure Trading - TrustCommerce - USA ePay - WorldPay - WorldPay Invisible