Stripe Payment Gateway

Paid Member Subscriptions Pro - Stripe - Thumbnail

 
Stripe Add-on allows you to offer credit and debit card payments directly on your website and this way your users do have not leave your website to complete the payment, resulting in a better experience for the user, and more successful conversions for you.
 
 

Stripe Product Availability – Check Stripe products availability in your country
Stripe System Status – Check if Stripe System is Online

Please take note that we only support Credit Card and Debit Card payments through Stripe, we currently do not support the other Payment Methods they offer through the Sources API

Stripe Features

Install the Stripe Add-on

Stripe is a Pro add-on, available with a Paid Member Subscriptions Pro license only.

After purchasing the add-on, the .zip file will be available for download under your account page by clicking the “Add-ons Download” button.

Paid Member Subscriptions Pro - Account Page - Download Add-ons

Once downloaded, you can install the add-on as a normal WordPress plugin, by uploading the .zip file in your WordPress Admin -> Plugins -> Add New -> Upload Plugin.

Alternatively, you can install the Stripe add-on by extracting the folder found inside the archive and uploading the entire folder via FTP to your /wp-content/plugins folder found inside your WordPress install.

Notes – For Stripe add-on to work as expected, you’ll also need to have the following plugins and features to be installed and activated on your site:

Stripe Settings

Choosing the right gateway

Once the add-on is activated, navigate to Paid Member Subscriptions -> Settings -> Payments where you’ll find Stripe listed among the Active Payment Gateways.

You’ll have two gateway options:

  • Stripe
  • Stripe (Payment Intents)

The gateways are similar, but Stripe (Payment Intents) supports payments made with additional authentication (3D Secure, 3D Secure 2) making it SCA compliant. You can only select one gateway out of the two.

If your business is located in the European Economic Area (EEA), you serve customers in the EEA and you accept debit or credit cards you are required to use the Stripe (Payment Intents) gateway in order for payments to be processed correctly.

If your business is located somewhere else, but you are starting to see transactions being declined due to `Authentication` errors, you should switch to the Stripe (Payment Intents) gateway as well. Click here for info about migrating to this gateway.

Other Paid Member Subscriptions Payments Settings that we can setup:

  • Currency – Select your currency. Please note that some payment gateways can have currency restrictions
  • Currency Position – Select whether the currency symbol should appear before the price or after the price
  • Test Mode – By checking this option you will be able to use Paid Member Subscriptions with Test Accounts from your payment processors
  • Active Payment Gateways – Select which Payment Gateways are active on your domain
  • Default Payment Gateway – Select which Payment Gateway is selected by default inside the Registration form
  • Renewal – Select renewal type from “Customer opts in for automatic renewal”, “Always renew automatically” or “Never renew automatically”. The Subscription Renewal feature can override this option

This is how the Paid Member Subscriptions Registration Form looks like after we activate the Stripe Payment Gateway:

Renewal (Recurring Payments)

You can setup the Stripe Payment Gateway to process recurring payments on your domain. To use the Renewal feature go to Paid Member Subscriptions -> Settings -> Payments -> Renewal.

The Renewal option settings:

  • Customer opts in for automatic renewal – If this option is selected the user will be able to decide if he wants to make a One Time Payment or a Recurring Payment. To make a recurring payment he will need to check inside the Registration form the “Automatically renew subscription” checkbox
  • Always renew automatically – If this option is selected all payments will be Recurring
  • Never renew automatically – If this option is selected all payments will be One Time Payments

Paid Member Subscriptions Pro - Stripe - Renewal

Starting with Paid Member Subscription v1.5.0 you can setup the Renewal feature based on Subscription Plan. The Renewal option setup inside the Subscription Plan will overwrite the Renewal option setup in the Settings page.

Paid Member Subscriptions - Subscription Plans - Renewal

Sign-up Fee

Starting with Paid Member Subscriptions Pro v1.5.0 you can setup Sign-up Fees for your Subscription Plans. The Sign-up Fee represents the amount that you can charge people upfront when subscribing to a Subscription Plan.

To setup the Sign-up Fee option go to Paid Member Subscriptions -> Subscription Plans -> Edit your Subscription plan -> Setup Sign-up Fee.

Based on the example below users will need to pay $70 for the Gold plan and also the $10 Sign-up Fee. Users will pay the Sign-Up Fee only once and doesn’t take in consideration the Renewal option.

Paid Member Subscriptions - Subscription Plans - Sign-up Fee

Free Trial

Starting with Paid Member Subscriptions Pro v1.5.0 you can setup Free Trials for your Subscription Plans. The Free Trial represents the amount of time before charging the first Recurring Payment. The Sign-up Fee applies regardless of the Free Trial.

To setup the Free Trial option go to Paid Member Subscriptions -> Subscription Plans -> Edit your Subscription plan -> Setup Free Trial.

Paid Member Subscriptions - Subscription Plans - Free Trial

Based on the example above users will receive a 1 Month Free Trial if they purchase the Silver Plan. After the expiration of the Subscription Plan users will be able to renew manually the plan from their Account.

If you setup the Renewal option to “Always renew automatically” the Subscription Plan will renew automatically.

Entering your Stripe API Credentials

In order to be able to make payments through Stripe and to use all the Stripe Features you will need to add your Stripe API credentials. Go to Paid Member Subscriptions -> Settings -> Payment Gateways -> Stripe to add your Stripe API Credentials (Stripe Secret and Publishable Keys).

Note – When using Paid Member Subscriptions in Live Mode use your Live Stripe API Credentials and when using Paid Member Subscriptions in Test Mode use your Test Stripe API Credentials

Paid Member Subscriptions Pro - Stripe - API Credentials

Stripe Live and Test API Credentials

You will find your Live and Test API Credentials inside your Stripe Account. After you login go to API and there you should see the Test and Live API Credentials. Also make sure you are using the latest API Version.

Paid Member Subscriptions Pro - Stripe - Account

Adding an SSL certificate

An SSL certificate is used to establish a secure encrypted connection.

In order to use the Stripe Add-on you must have an SSL certificate installed on your site.

Online SSL Certificate Checkerhttps://www.ssllabs.com/ssltest/

You can obtain security certificates for free instead of paying for traditional SSL certificates (which cost ~ 80$+/year) and install them much easier using Let’s Encrypt. It is a free, automated and open certificate authority that issues domain-validated certificates.

More and more hosting companies (like Site Ground or Kinstaquick tutorial) offer the ability to install let’s encrypt certificates in just a couple of clicks directly from their dashboard.

TLS v1.2

The most secure protocol for sharing information on the web today is Transport Layer Security (TLS) version 1.2. Stripe is enabling support for TLS 1.2 for all secure connections and in 2017 will start requiring its use.

You will need to verify that your environment supports TLS 1.2 and if necessary make appropriate updates. Stripe is updating its services to require TLS v1.2 for all HTTPS connections and all TLS v1.0 and TLS v1.1 API connections will be refused.

As the Stripe SSL Certificate Requirements says, all interactions between your server and Stripe must use TLS v1.2. Please contact your hosting and tell them to update the TLS of your SSL Certificate to v1.2. Also tell them that there is an issue with SSLv3 that is preventing Stripe to work correctly. A suggestion would be to disable SSLv3 in order to see if the payments are processed correctly.

Add https in WordPress

After you install your SSL Certificate on your domain please go to your website -> Login as Admin -> Access the dashboard -> Settings -> General and make sure you add https inside WordPress Address (URL) / Site Address (URL).

Also we recommend to use a free plugin like Really Simple SSL – It automatically detects your settings and configures your website to run over https.

Paid Member Subscriptions Pro - PayPal Pro and PayPal Express Checkout - Add https

Strong Customer Authentication

Strong Customer Authentication (SCA) is a new European regulatory requirement coming into effect on September 14, 2019, as part of the PSD2 regulation, put in place to help reduce fraud and make online payments more secure.

Card payments will require a different user experience, namely 3D Secure, in order to meet SCA requirements. Transactions that don’t follow the new authentication guidelines may be declined by your customers’ banks.

To learn more about SCA please read this guide: https://stripe.com/ie/guides/strong-customer-authentication

If your business is located in the European Economic Area (EEA), you serve customers in the EEA and you accept debit or credit cards you are required to use the Stripe (Payment Intents) gateway in order for payments to be processed correctly.

If your business is located somewhere else, but you are starting to see transactions being declined due to `Authentication` errors, you should switch to the Stripe (Payment Intents) gateway as well.

Migrating to the Stripe (Payment Intents) gateway

You need to have installed version 1.9.3 or above of the core Paid Member Subscriptions plugin and version 1.2.9 or above of the Stripe add-on in order for the gateway to be available.

If you are already using the regular Stripe gateway and wish to migrate, there are two things you need to do:

  • go to PMS -> Settings -> Payments and enable the Stripe (Payment Intents) gateway
  • update your Stripe API Version to the latest one. To do this, go to your Stripe Dashboard page

Afterwards, the plugin will process future payments through the new API.

Your users don’t have to re-enter their payment details, but due to the new regulations put in place, their next payment after you switch the gateway might require additional authentication. If that’s the case, the plugin will send them an email with a link they need to follow in order to resume the subscription. Learn more about this process

Payment Authentication

On Session

When the user is on session and authentication is required, after pressing the submit button of a form, a popup will be displayed in which the user needs to complete the authentication process.

The above is an example of the popup using a Test payment, the popup will look differently based on the type of card used, issuing bank and type of authentication required.
The authentication will be performed using either 3D Secure or 3D Secure 2.

To test this on your website you can use the following test credit card number: 4000002500003155. More test credit card numbers for SCA can be found here.

Off Session

A payment is considered off session when it’s made by the plugin without the user being available on the website. All recurring payments are off session payments.

When authentication is required for an off-session payment the plugin will send the user an email with an URL they need to click in order to return back to the website so the plugin can authenticate the payment.

After they return to the website, the plugin will show a message and after a short while the Payment Authentication popup shown above will appear where they will need to authenticate the payment in order for the subscription to continue.

Customize the Payment Authentication email

The email that is sent to the user can be customized by going to the PMS -> Settings -> Emails -> User Emails page.

Processing a payment with Stripe

We will test the payments by using Paid Member Subscriptions in Test Mode. Go to Paid Member Subscriptions -> Settings -> Payments -> Check “Test Mode”. For testing purposes we need to use one of the following credit cards:

Number – CVV 111 Brand
4242424242424242
4000056655665556
5555555555554444
5200828282828210
378282246310005
6011111111111117
30569309025904
3530111333300000
Visa
Visa (debit)
Mastercard
Mastercard (debit)
American Express
Discover
Diners Club
JCB

One Time Payment

Inside our Registration form we display 3 Subscription Plans: Bronze, Silver and Gold and the Renewal option is set to “Customer opts in for automatic renewal”.

Recurring Payment

When the Renewal option is set to “Customer opts in for automatic renewal”, in order to setup a recurring subscription, the user will need to check the “Automatically renew subscription” checkbox.

Free Trial Payment

The checkout experience for payments with Free Trials is similar to the regular one, the difference appears on the admin side where you will not see a payment appearing when the user finishes the registration process.

In order to find information about the user you will need to go to the PMS -> Members page.