Difference between revisions of "Stripe"

From WHMCS Documentation

(Setup)
Line 19: Line 19:
 
#* These can be found inside the Stripe portal at https://dashboard.stripe.com/account/apikeys
 
#* These can be found inside the Stripe portal at https://dashboard.stripe.com/account/apikeys
 
# Customise the Display Name as desired, we recommend ''Credit Card''
 
# Customise the Display Name as desired, we recommend ''Credit Card''
 +
# Enable Apple Pay if required
 +
# Customise the Statement Descriptor if required
 
# Click '''Save Changes''' to complete the setup
 
# Click '''Save Changes''' to complete the setup
  
Line 26: Line 28:
  
 
<div class="docs-alert-warning">Stripe is a tokenised gateway. As a result, the "Disable Credit Card Storage" option found under ''General Settings > Security'' should not be enabled.</div>
 
<div class="docs-alert-warning">Stripe is a tokenised gateway. As a result, the "Disable Credit Card Storage" option found under ''General Settings > Security'' should not be enabled.</div>
 +
 +
==Apple Pay==
 +
When enabled, Apple Pay allows access to payment details that users have stored in their Wallet. If they're using Safari on their iPhone or iPad, when they tap "Buy with Apple Pay" on your site, they'll be shown a modal payment sheet. If they're using Safari on their Mac, and have an iOS device in range, they'll be prompted on their device to authorize the payment, which will then be sent to the browser.
 +
 +
===Enabling Apple Pay in Live===
 +
To use Apple Pay with a live API key, it is required to register with Apple all of your web domains that will be showing an Apple Pay button. This includes both top-level domains (e.g. whmcs.com) and subdomains (e.g. shop.whmcs.com).
 +
 +
# Download this [https://stripe.com/files/apple-pay/apple-developer-merchantid-domain-association domain association file] and host it at /.well-known/apple-developer-merchantid-domain-association on your site. For example, if you're registering https://example.com, make that file available at https://example.com/.well-known/apple-developer-merchantid-domain-association.
 +
# Next, tell Stripe to register the domain with Apple. This is done by going to [https://dashboard.stripe.com/account/apple_pay the Apple Pay tab] in the Account Settings of Stripe Dashboard
  
 
==Payment Workflow==
 
==Payment Workflow==

Revision as of 14:33, 30 November 2016

This page describes a feature available in version 7.1 and above

Supported Features

Type One Time Recurring Refunds 3D Secure
Token Yes Yes Yes No
Remote Update Card Remote Delete Card AddPayMethod API
Yes Yes No

The WHMCS Official Stripe module was introduced in WHMCS 7.1.

Stripe is a tokenised gateway. As a result, customers personal credit card information is submitted to and stored remotely by Stripe. Using a tokenised gateway is recommended for security and reduced liability.

Setup

Stripe Module Settings
  1. Begin by activating the Stripe module in Setup > Payments > Payment Gateways
  2. Stripe uses API keys for authentication. Upon activation, you will be asked to enter the Secret and Publishable API Keys.
  3. Customise the Display Name as desired, we recommend Credit Card
  4. Enable Apple Pay if required
  5. Customise the Statement Descriptor if required
  6. Click Save Changes to complete the setup

Stripe is now active and ready for use.

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 the Stripe account in Setup > Payments > Currencies to allow WHMCS to successfully convert the fee to other currencies.
Stripe is a tokenised gateway. As a result, the "Disable Credit Card Storage" option found under General Settings > Security should not be enabled.

Apple Pay

When enabled, Apple Pay allows access to payment details that users have stored in their Wallet. If they're using Safari on their iPhone or iPad, when they tap "Buy with Apple Pay" on your site, they'll be shown a modal payment sheet. If they're using Safari on their Mac, and have an iOS device in range, they'll be prompted on their device to authorize the payment, which will then be sent to the browser.

Enabling Apple Pay in Live

To use Apple Pay with a live API key, it is required to register with Apple all of your web domains that will be showing an Apple Pay button. This includes both top-level domains (e.g. whmcs.com) and subdomains (e.g. shop.whmcs.com).

  1. Download this domain association file and host it at /.well-known/apple-developer-merchantid-domain-association on your site. For example, if you're registering https://example.com, make that file available at https://example.com/.well-known/apple-developer-merchantid-domain-association.
  2. Next, tell Stripe to register the domain with Apple. This is done by going to the Apple Pay tab in the Account Settings of Stripe Dashboard

Payment Workflow

The Stripe module on Checkout
  1. Automated recurring and on-demand billing is supported.
  2. When making a payment, customers are able to select to use a previously stored card or enter a new one.
  3. Customers can update their credit card at any time from the client area.
  4. Admin level users with the necessary permissions can also perform card updates from the admin area.
  5. Customers never leave your WHMCS installation during checkout or updating their card.
  6. Personal card information is submitted directly to Stripe and is never stored in your local WHMCS installation.
  7. The Stripe API is used for refunds and obtaining transaction information.
  8. The stripe.js library is used for payments and card updates.

Migrating to Stripe

Our Stripe module supports migrating credit card details stored locally within WHMCS to the Stripe tokenisation system. This allows for a seamless transition from another merchant gateway provider to Stripe.

For an existing client with a credit card stored locally, the first time a payment capture is attempted for an invoice using Stripe, the credit card details will be submitted to Stripe and a token created and stored. Any card details stored locally for that client will be removed.

To migrate all of your credit card processing to Stripe, follow the steps below:

  1. Navigate to Setup > Payments > Payment Gateways
  2. Ensure the Stripe module has been activated
  3. Select the Deactivate link for your previous merchant gateway provider
  4. When prompted to choose a replacement gateway to switch users of the previous gateway module to, select Stripe
  5. Click OK to complete the process
Note: Existing credit card details stored locally will be sent to Stripe and converted to a token the first time a payment is attempted for a client using the Stripe module. Until that time, credit card details will remain stored locally within WHMCS.

Migrating from a 3rd Party Stripe Module

The Official WHMCS Stripe module uses the Stripe "cus_" reference to capture payments - e.g. cus_9MvIb7UlgJfJTn. For any 3rd party module which also uses this reference, the official module can replace it.

To verify if your current Stripe module uses the "cus_" reference, navigate to a client you know to have an active Stripe token and click the Credit Card Information link on the Client Summary page. Verify the token listed there has the "cus_" prefix.

To convert to the Official Stripe module, activate the module as described above. Then deactivate your previous Stripe module, and when prompted, select the new Stripe module to update and switch existing customers to.