Difference between revisions of "Stripe ACH"

From WHMCS Documentation

(Created page with "{{gateways | type = token | recurring = yes | onetime = yes | refunds = yes | deletecc = yes }} ==Getting Started== To activate and configure the Stripe ACH module for use,...")
 
(The Plaid Client ID, Public Key, and Secret combination is rejected.)
 
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
== About this Module ==
 +
 +
<div class="docs-alert-success">
 +
- We added this module in WHMCS 7.9.
 +
- In WHMCS 8.9, we updated this module to use Stripe's <tt>PaymentIntents</tt> API instead of the deprecated Stripe API.
 +
</div>
 +
 +
The Stripe ACH payment gateway module is available in WHMCS.
 
{{gateways
 
{{gateways
 
| type = token
 
| type = token
Line 7: Line 15:
 
}}
 
}}
  
==Getting Started==
+
== Adding the Stripe ACH Payment Gateway ==
 +
 
 +
<div class="docs-alert-warning">
 +
We removed support for Plaid in this module in WHMCS 8.9.
 +
</div>
 +
 +
To set up the Stripe ACH payment gateway in WHMCS:
 +
 
 +
# If you use WHMCS 8.8 or earlier, activate Plaid support:
 +
## Make certain that you have [https://plaid.com/docs/stripe/#step1 activated ACH in your Stripe account].
 +
## If you have not already, [https://dashboard.plaid.com/signup create a Plaid account].
 +
## Log in to the [https://dashboard.plaid.com/team/integrations Plaid control panel].
 +
## Go to '''Team Settings > Integrations'''.
 +
## Click '''Enable''' next to the Stripe integration and follow the on-screen instructions.
 +
# Log in to the WHMCS Admin Area.
 +
# Go to the appropriate location for your version of WHMCS:
 +
#* For WHMCS 8.0 and later, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > Apps & Integrations''' or '''Addons > [[Apps and Integrations|Apps & Integrations]]'''.
 +
#* For WHMCS 7.10 and earlier, go to '''Setup > Products/Services > [[Payment Gateways]]''' and choose '''All Payment Gateways'''.
 +
# Click '''Stripe ACH'''.
 +
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout.
 +
# 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 [https://dashboard.stripe.com/account/apikeys the Stripe portal]. [[File:stripe-ach-configuration.png|thumb|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 <tt>public_key</tt> on your Plaid account.
 +
# 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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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 [https://dashboard.plaid.com/account/keys|Plaid account] into the appropriate location for your version of WHMCS:
 +
* For WHMCS 8.6 and later, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Payment Gateways]]'''.
 +
* For WHMCS 8.0 and later, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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|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:
  
To activate and configure the Stripe ACH module for use, follow the steps below.
+
# Log in to your [https://dashboard.plaid.com/account/keys Plaid account] and go to '''Team Settings > Keys'''.
 +
# Copy the '''Production Secret'''.
 +
# Go to the appropriate location for your version of WHMCS:
 +
#* For WHMCS 8.6 and later, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Payment Gateways]]'''.
 +
#* For WHMCS 8.0 and later, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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'''.
 +
# Select '''Production''' for '''Plaid Environment'''.
 +
# Paste it into '''Plaid Secret'''.
 +
# Click '''Save Changes'''.
  
<div class="docs-alert-info">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</div>
+
See the [[#Getting Started|Getting Started]] steps above to ensure all the configuration has been fully completed.
  
# Begin by navigating to ''Setup > Payments > Payment Gateways''
+
==== The Stripe integration is not enabled in your Plaid account. ====
# Select the All Payment Gateways tab
 
# Locate '''Stripe ACH''' and click to activate it
 
# Stripe ACH uses API keys for authentication. Upon activation, you will be asked to enter the Secret and Publishable API Keys.
 
#* These can be found inside the Stripe portal at https://dashboard.stripe.com/account/apikeys [[File:Stripe-ach-config.png]]
 
# Do not enter a value for the Webhook Secret Key, it will be generated automatically.
 
# Stripe ACH uses Plaid to validate bank information entered by clients. You will need to enter your Plaid Client ID, Public Key and Secret
 
#* These can be found inside the Plaid portal at https://dashboard.plaid.com/account/keys
 
# Customise the Display Name as desired
 
# Customise the Statement Descriptor if desired (maximum of 22 characters)
 
# Click '''Save Changes''' to complete the setup process.
 
  
Stripe ACH is now active and ready for use.
+
To use Stripe ACH in WHMCS 8.8 or earlier, you must link Plaid to your Stripe account.
  
<div class="docs-alert-info">'''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 ''Setup > Payments > Currencies'' along with a valid exchange rate to allow WHMCS to be able to convert the fee into your other currencies.</div>
+
For steps to activate the Stripe integration with your Plaid account, see [https://plaid.com/docs/stripe/#step1 Stripe's documentation]].
  
===Webhook Secret Key===
+
See the [[#Getting Started|Getting Started]] steps above to ensure all the configuration has been fully completed.
  
The Stripe SEPA module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.
+
===Invalid Remote Token For Gateway: ===
  
Should the Secret Key for the Webhook be modified at Stripe, this must be updated within the WHMCS Stripe SEPA module configuration.
+
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.
  
==Payment Workflow==
+
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:
 +
 
 +
# Go to the '''[[Clients:Summary Tab|Summary]]''' tab of the client's profile.
 +
# Delete the local bank account pay method.
 +
# 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.
  
# Automated recurring and on-demand billing is supported.
+
{{modules}}
# 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/removing a new bank account.
 
# Personal bank information is submitted directly to Stripe/Plaid and is never stored in your local WHMCS installation.
 
# The Stripe API is used for refunds and obtaining transaction information.
 

Latest revision as of 12:22, 14 April 2024

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