The ACH Payment Gateway module enables direct debit payments via Braintree inside WHMCS. Your environment must meet the requirements listed below for reliable operation, secure API communication, and proper decoding of the encoded module files. Our developers have tested only these configurations; other setups may work but are unsupported.

This guide assumes your server and PHP installation already satisfy the baseline WHMCS system requirements. These specifications exist to guarantee compatibility with Braintree APIs, prevent TLS-related handshake failures, and ensure the PHP environment can handle cryptographic operations and XML responses without error.

#Core System Requirements

The base requirements cover language version, WHMCS release, SSL library capabilities, and the loader needed to run protected code. Running below these levels frequently causes fatal errors on activation, transaction failures, or silent declines when communicating with the processor.

  • Clear understanding of using WHMCS as well as uploading, installing and configuring addons and gateways
  • PHP 5.6 or higher
  • WHMCS 7.2 or higher (we do not support alpha, beta or release candidate builds)
  • OpenSSL (or any SSL library) w/ TLS 1.1+ support
  • Ioncube loader v10.1.x or higher

#PHP Extension Requirements

Specific extensions must be compiled into PHP and enabled. cURL handles all outbound requests to Braintree, DOM processes returned XML, Hash generates required signatures, and OpenSSL supplies encryption routines. Missing any of these will prevent the module from initializing or completing transactions.

  • cURL w/ TLS 1.1+ support
  • DOM
  • Hash
  • OpenSSL

#Braintree Merchant Account Requirements

The module depends on a live Braintree merchant account configured for ACH direct debit. Even with a perfect server setup, payments will be rejected if the account has not been underwritten for bank account withdrawals. ACH is restricted to US bank accounts and requires additional verification steps on Braintree's side.

  • A Braintree Merchant Account - If you do not have one, you may sign up here
  • Verify that your Braintree Merchant account accepts ACH (direct debit) payments

More information on Braintree's ACH Direct Debit payment option can be found at https://www.braintreepayments.com/features/ach-direct-debit

#Testing Your Configuration

We provide a PHP script that inspects your PHP version, loaded modules, WHMCS release, TLS support, and ionCube loader in one pass. Download it from https://billing.aspnix.com/dl.php?type=d&id=138, place it in your WHMCS root, and run it through a browser. Any failing checks are clearly flagged.

bash
php -v
php -m | grep -E 'curl|openssl|dom|hash'

After the test script confirms compliance, install the module and configure the Braintree credentials inside WHMCS. Re-test with a sandbox account before going live. Common pitfalls include cURL compiled without modern TLS, an ionCube loader older than v10.1, or a Braintree account without ACH permissions enabled.