Payment Gateways
Contents
Setting Up Gateway Modules
You can configure payment gateways in Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways. Each gateway has its own specific API requirements in order to process transactions, which vary from gateway to gateway. However, all gateways have three core options:
- Show on Order Form — Whether to display the payment gateway on the order form as an option, subject to product group gateway restrictions.
- Visible Name — The gateway's name throughout the system and to clients (for example, an Authorize.net gateway could use the visible name Credit Card).
- Convert To For Processing — When using multiple gateways, some gateways may not accept all the currencies you offer on your site. For those that don’t, you can choose a currency here for WHMCS to convert to before sending to them. For example, if using Google Checkout with a UK account but offering prices in GBP and USD, you would need to select GBP in the Convert To box. This will use the rates in Configuration () > System Settings > Payments > Currencies to do the conversion. You can set this to auto-update daily.
Supported Gateway Modules
The following is a list of all the payment gateways that WHMCS includes by default. Merchant Gateways store credit card information securely in the WHMCS database. Third Party Gateways take the client to the provider's website to process payments off-site. Tokenisation Gateways can perform repeat billing by storing the original transaction details or a reference number and not the full credit card number. This reduces your PCI liabilities.
For tokenisation gateways, the client will need to pay an invoice manually, using their credit card details, before the system transmits information to the merchant provider, creating a profile in their systems. They then send back a token to WHMCS to use for managing the card detail update requests via the client area and recurring payments.
The type of payment gateway that you select influences which invoice notification email template it sent. Third Party Gateways will send the "Invoice Created" email template, while Merchant and Tokanisation Gateways will send the "Credit Card Invoice Created" email template. This allows you to customise the payment instructions to clients for the different payment processes.
The type of payment gateway also influences the behaviour of the Attempt Capture button on the invoice page in the admin area. For Third Party Gateways, the system will deactivate the button because the client needs to click the payment button on the invoice to send payment. For Merchant Gateways and Tokanisation Gateways, the button will be active and staff can click Attempt Capture to instantly capture payment from the client's credit card.
Any gateways showing in blue below indicate that further information relating to the setup and use of that gateway is available by clicking on the name.
It is also possible to create your own gateway modules for WHMCS if you want to integrate with a gateway that WHMCS doesn't offer by default. For more information, see our Developer Resources.
Merchant Gateways
Tokenisation Gateways
For token type gateways, which store a token to use for processing credit card payments through the merchant gateway module, the system won't add the token to WHMCS until someone has submitted a payment through the module. The system will store the credit card details in the database directly until the client makes a payment on an invoice through one of the token type gateway modules. After the payment is complete, the system fetches the token and replaces the credit card details in the database. Storage of the credit card details can also happen when the client updates their credit card details or when they place an order and it does not process the payment immediately.
Accept.js by Authorize.net | Authorize.net CIM | Bluepay Remote | ||
EWAY Rapid 3.1 | Moneris Vault | PayPal Pro Reference Payments | ||
Quantum Vault | SagePay Tokens | Stripe | ||
Stripe ACH | Stripe SEPA | WorldPay FuturePay |
Third Party Gateways
Deactivating Gateway Modules
If you no longer wish to use a particular payment gateway, clicking the red (Deactivate) link beside the name will gracefully remove the gateway from the system. This will prevent any further payments using this gateway and automatically reassign any products, services, invoices, and transactions from to that payment method to another option. When you click the deactivate link, a window will appear and prompt the user to select an alternative payment gateway, to which you should change any currently-assigned items.
Test Credit Card Numbers
Gateways often have test modes where you can use test card numbers. The common test card numbers are below and should generate successful test transactions, but they can vary from gateway to gateway. You may use any expiration date in the future.
4007000000027 - Visa Test Card 4012888818888 - Visa Test Card II 4000000000000002 - Visa Test Card III 5424000000000015 - MasterCard Test Card 370000000000002 - American Express Test Card 6011000000000012 - Discover Test Card 3088000000000017 - JCB Test Card (Use expiration date 0905) 38000000000006 - Diners Club/Carte Blanche Test (Use expiration date 0905)
Troubleshooting
The documentation for troubleshooting problems processing payments with WHMCS are in two sections: Gateway Specific Troubleshooting and General Troubleshooting. We first recommend checking the General Troubleshooting section, which explains how to check and correct problems that can occur with many different payment gateways.
If that does not contain the solution to the problem, the next stop should be the dedicated page of the documentation relating to your payment gateway. Many contain Troubleshooting sections which explain errors that relate specifically to that payment gateway.