Difference between revisions of "Stripe ACH"

From WHMCS Documentation

Line 1: Line 1:
<div class="docs-alert-info"><i class="fa fa-question-circle"></i> This page describes a Payment Gateway Module in version 7.9 and above.</div>
+
== About this Module ==
__TOC__
+
 
 +
<div class="docs-alert-success">
 +
We added this module in WHMCS 7.9.
 +
</div>
 +
 
 +
The Stripe ACH payment gateway module is available in WHMCS.
 
{{gateways
 
{{gateways
 
| type = token
 
| type = token
Line 8: Line 13:
 
| deletecc = yes
 
| deletecc = yes
 
}}
 
}}
 +
== Adding the Stripe ACH Payment Gateway ==
 +
 +
To set up the Stripe ACH payment gateway in WHMCS:
  
==Getting Started==
+
# 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 '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Payment Gateways]]''' or, prior to WHMCS 8.0, '''Setup > Products/Services > Payment Gateways'''.
 +
# Choose the '''All Payment Gateways''' tab.
 +
# 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 gateway.png|thumb|Stripe ACH Configuration in WHMCS]]
 +
#* Do not enter a value for the Webhook Secret Key, it will be generated automatically.
 +
#** The Stripe ACH module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.
 +
#** If you modify the secret key for the webhook at Stripe, you must also update it in WHMCS.
 +
#*Newer Plaid accounts provide <tt>link_tokens</tt> values instead of <tt>public_key</tt> values. 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'''.
  
To activate and configure the Stripe ACH module for use, follow the steps below.
+
=== Test Mode === 
  
<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>
+
This module does not support test mode.
<div class="docs-alert-warning">
 
<span class="title">Activate ACH at Stripe</span><br />
 
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
 
</div>
 
  
# Begin by logging into the [https://dashboard.plaid.com/team/integrations Plaid control panel] and navigate to ''Team Settings > Integrations''
+
== Transaction Fees ==
# Click ''Enable'' next to the Stripe integration and follow the on-screen instructions through to completion
 
# Once Plaid and Stripe are successfully linked, log in to your WHMCS Administration Area
 
# Navigate to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways''' or, prior to WHMCS 8.0, '''Setup > Payments > Payment Gateways'''.
 
# 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. 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.
 
#* These can be found inside the Stripe portal at https://dashboard.stripe.com/account/apikeys [[File:Stripe ach gateway.png|thumb|Stripe ACH Configuration in WHMCS]]
 
# 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
 
<div class="docs-alert-info">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.
 
<br />
 
When using WHMCS 8.1.0+ no changes are required to the Plaid account.</div>
 
  
# Customise the Display Name as desired
+
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>
# 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.
+
==Payment Workflow==
  
<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 '''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>
+
This module supports automated recurring and on-demand billing.  
  
===Webhook Secret Key===
+
ACH Payments can take up to 5 days to process. The invoice will be placed in Payment Pending until the payment has cleared.
  
The Stripe ACH module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.
+
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.
  
Should the Secret Key for the Webhook be modified at Stripe, this must be updated within the WHMCS Stripe ACH module configuration:
+
The Stripe API is used for refunds and obtaining transaction information.
 
 
* 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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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==
 
 
 
# Automated recurring and on-demand billing is supported.
 
# 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.
 
  
 
==Troubleshooting==
 
==Troubleshooting==
Line 108: Line 95:
  
 
This will initiate the payment via Stripe ACH and create the necessary tokens for accepting future automated payments.
 
This will initiate the payment via Stripe ACH and create the necessary tokens for accepting future automated payments.
 +
 +
{{modules}}

Revision as of 19:26, 1 April 2022

About this Module

We added this module in WHMCS 7.9.

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

To set up the Stripe ACH payment gateway in WHMCS:

  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.
  6. Log in to the WHMCS Admin Area.
  7. Go to Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Products/Services > Payment Gateways.
  8. Choose the All Payment Gateways tab.
  9. Click Stripe ACH.
  10. Check Show on Order Form to display this payment method in the Client Area during checkout.
  11. 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
    • Do not enter a value for the Webhook Secret Key, it will be generated automatically.
      • The Stripe ACH module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.
      • If you modify the secret key for the webhook at Stripe, you must also update it in WHMCS.
    • Newer Plaid accounts provide link_tokens values instead of public_key values. If you use WHMCS 8.0 or earlier, contact Plaid support and ask them to enable public_key on your Plaid account.
  12. 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/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.

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:

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