Difference between revisions of "Payment Gateways"

From WHMCS Documentation

(Merchant Gateways)
(Custom Gateways)
 
(39 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
Payment gateway modules allow you to accept payments of many types directly within WHMCS.
 +
 +
You can access this feature 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'''.
 +
 +
== Activating a Payment Gateway ==
 +
 +
To activate a new payment gateway:
 +
 +
# Find the payment gateway:
 +
#* In WHMCS 8.6 and later, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[Apps and Integrations|Apps & Integrations]]'''.
 +
#* In WHMCS 8.0 to 8.6, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways'''.
 +
#* In WHMCS 7.10 and earlier, go to  '''Setup > Payments > Payment Gateways'''.
 +
# Click '''Activate'''.
 +
# Configure the payment gateway (see below).
 +
 
==Setting Up Gateway Modules==
 
==Setting Up Gateway Modules==
  
 
[[File:Videotutorial.png‎|center|link=https://www.youtube.com/watch?v=L0B6KbPaGKE&hd=1|Watch Video Tutorial]]
 
[[File:Videotutorial.png‎|center|link=https://www.youtube.com/watch?v=L0B6KbPaGKE&hd=1|Watch Video Tutorial]]
  
 +
Each gateway has its own specific 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 and client area, subject to product group gateway restrictions. Also controls adding new payment details via the [[Admin Area]] for merchant gateways.
 +
*'''Display 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 for '''Convert To'''. This will use the rates in '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Currencies]]''' or, prior to WHMCS 8.0, '''Setup > Payments > Currencies''', to do the conversion. You can set this to auto-update daily.
 +
** For more information, see [[Converting Invoices to a New Currency]].
 +
 +
==Supported Gateway Modules==
 +
 +
WHMCS includes the following payment gateways by default:
 +
 +
* '''Merchant Gateways''' store credit card information securely in the WHMCS database.
 +
* '''Third-Party Gateways''' direct the client to the provider's website to process payments off-site.
 +
* '''Tokenisation Gateways''' reduce PCI liabilities when they perform repeat billing by storing the original transaction details or a reference number and not the full credit card number. For more information, see [[Working with Tokenization]].
  
Payment gateways can be configured in '''Setup >> Payments >> Payment Gateways'''.  Each gateway has their own specific API requirements in order to process transactions so they will vary from gateway to gateway.  However, all gateways have 3 core options:
+
=== Remote Update Card ===
  
*'''Show on Order Form''' – Checking this box will mean it can be shown on the order form as an option – subject to product group gateway restrictions
+
For tokenisation gateways with the '''Remote Update Card''' feature, clients can enter their card details via the WHMCS Client Area. This is done via an interface that the payment gateway hosts directly or by paying an invoice. This creates a profile in the payment gateway's system that returns a token.  
*'''Visible Name''' – The name that is used for this gateway throughout the system and to clients (eg. gateway can be Authorize.net, visible name might be Credit Card)
 
*'''Convert To For Processing''' – This option is for when using multiple currencies.  It is possible that not every gateway you use will accept all the currencies you offer on your site and so 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 & USD, you would need to select GBP in the Convert To box.  This will use the rates set in '''Setup > Payments > Currencies''' to do the conversion which can be set to auto update daily.
 
  
==Supported Gateway Modules==
+
WHMCS uses this to manage the card detail update requests via the Client Area and recurring payments. This does not store the full card details on your server, and some token gateways never touch it.
  
The following is a list of all the payment gateways that are included in WHMCS by default. '''Merchant Gateways''' store credit card information securely in the WHMCS database whilst '''Third Party Gateways''' take the client to the provider's website to process payments off-site. '''Tokenisation Gateways''' are a happy medium where repeat billing is possible by storing the original transaction details or a reference number, not the full credit card number, thus reducing your PCI liabilities.
+
=== Email Templates ===
  
Please note that for tokenisation gateways, the client will need to pay an invoice manually using their credit card details before their information is transmitted to the merchant provider and a profile is created in their systems. They then send back a token to WHMCS which will be used 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 Templates|email template]] it sends.  
  
The type of payment gateway selected influences which invoice notification email template it sent; Third Party Gateways will send the "Invoice Created" email template, whilst 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.
+
Third-party gateways will send the '''Invoice Created''' email template, while merchant and tokenisation 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. With Third Party Gateways the button will be deactivated as 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.
+
=== Attempt Capture ===
  
Any gateways showing in blue below indicates further information relating to the setup & use of that gateway is available by clicking on the name.
+
The type of payment gateway also influences the behaviour when you click '''Attempt Capture''' on the invoice page in the Admin Area.  
  
It is also possible to create your own gateway modules for WHMCS should you want to integrate with a gateway that isn't offered by default. Please refer to our [https://developers.whmcs.com/ Developer Resources] section for more details.
+
* 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 tokenisation gateways, the button will be active and staff can click '''Attempt Capture''' to instantly capture payment from the client's credit card.
  
 
===Merchant Gateways===
 
===Merchant Gateways===
 
+
 +
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.
 +
 
{| width="100%" cellpadding="2" style="width:100%;" class="table table-striped"
 
{| width="100%" cellpadding="2" style="width:100%;" class="table table-striped"
 
|-
 
|-
Line 32: Line 63:
 
| width="33%" | [[BluePay]]
 
| width="33%" | [[BluePay]]
 
|-
 
|-
| [[CamTech]] || [[Cyberbit]] || [[eMatters]]
+
| [[eMatters]] || [[eProcessingNetwork]] || [[IP.Pay]]
 
|-
 
|-
| [[eProcessingNetwork]] || [[FastHosts]] || [[IMSP]]
+
| [[Kuveytturk]] || [[Merchant Partners]] || [[Moneris]]
 
|-
 
|-
| [[IP.Pay]] || [[Kuveytturk]] || [[LinkPoint]]
+
| [[Merchant Warrior]] || [[NaviGate]] || [[NETbilling]]
 
|-
 
|-
| [[Merchant Partners]] || [[Moneris]] || [[Merchant Warrior]]
+
| [[Netregistry Pay]] || [[Offline Credit Card]] || [[Optimal Payments]]
|-
 
| [[NaviGate]] || [[NETbilling]] || [[Netregistry Pay]]
 
|-
 
| [[NTPNow]] || [[Offline Credit Card]] || [[Optimal Payments]]
 
 
|-
 
|-
 
| [[Payflow Pro]] || [[Pay Junction]] || [[PayPal Payments Pro]]
 
| [[Payflow Pro]] || [[Pay Junction]] || [[PayPal Payments Pro]]
Line 52: Line 79:
 
| [[SecurePay AU]] || [[TrustCommerce]] || [[USA ePay]]
 
| [[SecurePay AU]] || [[TrustCommerce]] || [[USA ePay]]
 
|-
 
|-
| [[WorldPay Invisible]] ||  ||  
+
| [[WorldPay Invisible]] ||  ||
 
|}
 
|}
  
 
===Tokenisation Gateways===
 
===Tokenisation Gateways===
 
   
 
   
For token type gateways, which store a token to use for processing credit card payments through the merchant gateway module, the token will not be added into WHMCS until a payment has been submitted through the module. This will lead to the credit card details being stored in the database directly until the client makes a payment on an invoice through one of the token type gateway modules. Once the payment is made, the token is then fetched and replaces the credit card details within the database. Storage of the credit card details can also happen when the client updates their credit card details or when placing an order and it does not process the payment immediately.
+
Tokenisation gateways 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 the system does not process the payment immediately.
 +
 
 +
<div class="docs-alert-warning">
 +
If you use a mix of both tokenized and non-tokenized payment gateways, customers can choose the desired [[Pay Methods|payment method]] when adding one via the Client Area. This determines whether to store the card locally encrypted in the WHMCS database or remotely with the tokenized payment gateway.
 +
</div>
 
   
 
   
{| width="100%" cellpadding="2" style="width:100%;"
+
{| width="100%" cellpadding="2" style="width:100%;" class="table table-striped"
 
|-
 
|-
 
| width="33%" | [[Accept.js by Authorize.net]]
 
| width="33%" | [[Accept.js by Authorize.net]]
Line 65: Line 96:
 
| width="33%" | [[BluePay#BluePay_Remote|Bluepay Remote]]
 
| width="33%" | [[BluePay#BluePay_Remote|Bluepay Remote]]
 
|-
 
|-
| [[Moneris#Moneris_Vault|Moneris Vault]] || [[PayPal_Website_Payments_Pro#Reference_Payments|PayPal Pro Reference Payments]] || [[Quantum Vault]]
+
| [[EWAY Rapid 3.1]] || [[Moneris#Moneris_Vault|Moneris Vault]] || [[PayPal_Website_Payments_Pro#Reference_Payments|PayPal Pro Reference Payments]]
 
|-
 
|-
| [[SagePay#SagePay_Tokens|SagePay Tokens]] || [[WorldPay#FuturePay_Specific_Items|WorldPay FuturePay]] || [[EWAY Rapid 3.1]]
+
| [[Quantum Vault]] || [[SagePay#SagePay_Tokens|SagePay Tokens]] || [[Stripe]]
 
|-
 
|-
| [[Stripe]]
+
| [[Stripe ACH]] || [[Stripe SEPA]] ||  [[WorldPay#FuturePay_Specific_Items|WorldPay FuturePay]] ||  ||
 
|}
 
|}
  
 
===Third Party Gateways===
 
===Third Party Gateways===
 
+
{| width="100%" cellpadding="2" style="width:100%;"
+
{| width="100%" cellpadding="2" style="width:100%;" class="table table-striped"
 
|-
 
|-
 
| width="33%" | [[2CheckOut]]
 
| width="33%" | [[2CheckOut]]
| width="33%" |  
+
| width="33%" | [[Authorize.net#Echeck_Module|Authorize.net Echeck]]
| width="33%" |  
+
| width="33%" | [[Bank Transfer]]
 
|-
 
|-
| [[Authorize.net#Echeck_Module|Authorize.net Echeck]] || [[Bank Transfer]] ||  
+
| [[BluePay|BluePay Echeck]] || [[Boleto]] || [[BitPay]]
 
|-
 
|-
| [[BluePay|BluePay Echeck]] || [[Boleto]] || [[CC Avenue]]
+
| [[CashU]] || [[CC Avenue]] || [[ChronoPay]]
 
|-
 
|-
| [[CashU]] || [[ChronoPay]] || [[Direct Debit]]  
+
| [[F2B|Cobrança - F2b]] || [[Direct Debit]] || [[e-Path]]
 
|-
 
|-
| [[F2B|Cobrança - F2b]] || [[Forte]] ||
+
| [[Forte]] || [[Gate2Shop]] || [[GoCardless]]
 
|-
 
|-
| [[e-Path]] || || [[Gate2Shop]]
+
| [[IDEALMollie|iDeal via Mollie]] || [[inpay]] || [[Mail In Payment]]
 
|-
 
|-
| || || [[iDEALMollie|iDEAL via Mollie]]
+
| [[Modulo Moip]] || [[NoChex]] || [[PagSeguro]]
 
|-
 
|-
| [[inpay]] || [[Mail In Payment]] || [[Modulo Moip]]
+
| [[Paymate AU and NZ]] || [[Payment Express]] || [[PayPal]]
 
|-
 
|-
| || [[Skrill_1-Tap]] || [[SlimPay]]
+
| [[PayPal Basic]] || [[PayPal Express Checkout]] || [[PayPoint|PayPoint.net (SecPay)]]
 
|-
 
|-
| [[NoChex]] || [[PagSeguro]] || [[PayPal]]
+
| [[Planet Authorize]] || [[Skrill]] || [[Skrill 1-Tap]]
 
|-
 
|-
| [[PayPal Express Checkout]] || [[PayPoint|PayPoint.net (SecPay)]] || [[Payson]]
+
| [[SlimPay]] || [[Finansbank|Turkish Finansbank]] || [[GarantiBank|Turkish Garanti Bank]]
 
|-
 
|-
|  [[Paymate_AU_and_NZ]] || [[Payment Express]] || [[Paymex]]
+
| [[WorldPay]]
|-
 
|  [[Payza]] || [[Planet Authorize]] ||
 
|-
 
| [[Finansbank|Turkish Finansbank]] || [[GarantiBank|Turkish Garanti Bank]] || [[WorldPay]]
 
 
|}
 
|}
 +
 +
=== Viewing Balances and Transactions ===
 +
 +
<div class="docs-alert-success">We added this feature in WHMCS 8.2.</div>
 +
 +
You can view payment gateway balances for [[Stripe]], [[PayPal Basic]], [[PayPal Payments]], and [[PayPal Card Payments]] at '''Billing > [[Transactions]]''' in the WHMCS Admin Area. This lets you check your financial details sooner and stay aware of trends and changes.
 +
 +
* The displayed balances remain in the cache for a specific amount of time and will then automatically refresh. You can also manually refresh them.
 +
* When you click on a transaction in this list, additional information will display for that transaction.
 +
* Balances display by default for admins with the '''Full Administrator''' role. To make this information available to other admins, assign the '''View Gateway Balances''' permission to the desired role.
 +
 +
<div class="docs-alert-success">If you use [[Stripe]], you can also view balances in the Admin Area Dashboard widget.</div>
 +
 +
<div class="docs-alert-info">For information about displaying balances in custom development, see our [https://developers.whmcs.com/payment-gateways/displaying-balances Developer Documentation].</div>
 +
 +
===Custom Gateways===
 +
 +
You can 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 [https://developers.whmcs.com/ Developer Documentation].
  
 
==Deactivating Gateway Modules==
 
==Deactivating Gateway Modules==
  
[[File:Deactivate.png|thumb|Deactivate Gateway]]
+
When you stop using a payment gateway, make certain to deactivate it. Deactivation prevents new payments using this gateway and will automatically reassign any products, services, invoices, transactions, and pay methods to the new payment gateway.
Should 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 being made using this gateway and automatically reassign any products/services/invoices assigned to that payment method to another option. Upon clicking the deactivate link, a popup window will appear prompting for the selection of the alternative payment gateway to which any currently assigned items should be changed to.
+
 
 +
To deactivate a payment gateway, click '''Deactivate'''. The system will prompt you to select an alternative payment gateway.
 +
 
 +
Change any currently-assigned items to this gateway.
 +
 
 +
===Migrating Payment Gateways===
 +
 
 +
For instructions to stop using one payment gateway and switch to another, see [[Migrating Payment Gateways]].
  
 
==Test Credit Card Numbers==
 
==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.
+
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
 
  4007000000027 - Visa Test Card
Line 126: Line 180:
  
 
==Troubleshooting==
 
==Troubleshooting==
The documentation for troubleshooting problems processing payments with WHMCS are split into two sections; Gateway Specific Troubleshooting. and General Troubleshooting. We first recommend checking the [[Payment_Processing_Issues|General Troubleshooting]] section which explains how to check and correct problems which can occur with many different payment gateways.
 
  
If that does not contain the solution to the problem, the next stop should be the [[Payment_Gateways#Merchant_Gateways|dedicated page]] of the documentation relating to your payment gateway. Many contain Troubleshooting sections which explain errors that relate specifically to that payment gateway.
+
For help to troubleshoot payment gateways, see [[Payment_Processing_Issues|General Troubleshooting]] and the [[Payment_Gateways#Merchant_Gateways|documentation for your specific gateway]].

Latest revision as of 16:55, 7 February 2024

Payment gateway modules allow you to accept payments of many types directly within WHMCS.

You can access this feature at Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.

Activating a Payment Gateway

To activate a new payment gateway:

  1. Find the payment gateway:
    • In WHMCS 8.6 and later, go to Configuration () > Apps & Integrations.
    • In WHMCS 8.0 to 8.6, go to Configuration () > System Settings > Payment Gateways.
    • In WHMCS 7.10 and earlier, go to Setup > Payments > Payment Gateways.
  2. Click Activate.
  3. Configure the payment gateway (see below).

Setting Up Gateway Modules

Watch Video Tutorial

Each gateway has its own specific 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 and client area, subject to product group gateway restrictions. Also controls adding new payment details via the Admin Area for merchant gateways.
  • Display 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 for Convert To. This will use the rates in Configuration () > System Settings > Currencies or, prior to WHMCS 8.0, Setup > Payments > Currencies, to do the conversion. You can set this to auto-update daily.
    • For more information, see Converting Invoices to a New Currency.

Supported Gateway Modules

WHMCS includes the following payment gateways by default:

  • Merchant Gateways store credit card information securely in the WHMCS database.
  • Third-Party Gateways direct the client to the provider's website to process payments off-site.
  • Tokenisation Gateways reduce PCI liabilities when they perform repeat billing by storing the original transaction details or a reference number and not the full credit card number. For more information, see Working with Tokenization.

Remote Update Card

For tokenisation gateways with the Remote Update Card feature, clients can enter their card details via the WHMCS Client Area. This is done via an interface that the payment gateway hosts directly or by paying an invoice. This creates a profile in the payment gateway's system that returns a token.

WHMCS uses this to manage the card detail update requests via the Client Area and recurring payments. This does not store the full card details on your server, and some token gateways never touch it.

Email Templates

The type of payment gateway that you select influences which invoice notification email template it sends.

Third-party gateways will send the Invoice Created email template, while merchant and tokenisation 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.

Attempt Capture

The type of payment gateway also influences the behaviour when you click Attempt Capture 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 tokenisation gateways, the button will be active and staff can click Attempt Capture to instantly capture payment from the client's credit card.

Merchant Gateways

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.

AsiaPay Authorize.net BluePay
eMatters eProcessingNetwork IP.Pay
Kuveytturk Merchant Partners Moneris
Merchant Warrior NaviGate NETbilling
Netregistry Pay Offline Credit Card Optimal Payments
Payflow Pro Pay Junction PayPal Payments Pro
Planet Authorize PSIGate Quantum Gateway
Secure Trading SagePay SecurePay
SecurePay AU TrustCommerce USA ePay
WorldPay Invisible

Tokenisation Gateways

Tokenisation gateways 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 the system does not process the payment immediately.

If you use a mix of both tokenized and non-tokenized payment gateways, customers can choose the desired payment method when adding one via the Client Area. This determines whether to store the card locally encrypted in the WHMCS database or remotely with the tokenized payment gateway.

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

2CheckOut Authorize.net Echeck Bank Transfer
BluePay Echeck Boleto BitPay
CashU CC Avenue ChronoPay
Cobrança - F2b Direct Debit e-Path
Forte Gate2Shop GoCardless
iDeal via Mollie inpay Mail In Payment
Modulo Moip NoChex PagSeguro
Paymate AU and NZ Payment Express PayPal
PayPal Basic PayPal Express Checkout PayPoint.net (SecPay)
Planet Authorize Skrill Skrill 1-Tap
SlimPay Turkish Finansbank Turkish Garanti Bank
WorldPay

Viewing Balances and Transactions

We added this feature in WHMCS 8.2.

You can view payment gateway balances for Stripe, PayPal Basic, PayPal Payments, and PayPal Card Payments at Billing > Transactions in the WHMCS Admin Area. This lets you check your financial details sooner and stay aware of trends and changes.

  • The displayed balances remain in the cache for a specific amount of time and will then automatically refresh. You can also manually refresh them.
  • When you click on a transaction in this list, additional information will display for that transaction.
  • Balances display by default for admins with the Full Administrator role. To make this information available to other admins, assign the View Gateway Balances permission to the desired role.
If you use Stripe, you can also view balances in the Admin Area Dashboard widget.
For information about displaying balances in custom development, see our Developer Documentation.

Custom Gateways

You can 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 Documentation.

Deactivating Gateway Modules

When you stop using a payment gateway, make certain to deactivate it. Deactivation prevents new payments using this gateway and will automatically reassign any products, services, invoices, transactions, and pay methods to the new payment gateway.

To deactivate a payment gateway, click Deactivate. The system will prompt you to select an alternative payment gateway.

Change any currently-assigned items to this gateway.

Migrating Payment Gateways

For instructions to stop using one payment gateway and switch to another, see Migrating Payment Gateways.

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

For help to troubleshoot payment gateways, see General Troubleshooting and the documentation for your specific gateway.