A Cozmoslabs Product

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

This version of the Stripe payment gateway is now deprecated and cannot be enabled anymore for new users. Stripe is now available in the free version and users should use that version.

Old users of this integration should migrate as soon as possible.

The documentation for the Stripe Connect gateway which supports additional payment methods like iDEAL, Bancontact, Giropay, can be found here.

Stripe Features

Install the Stripe Add-on

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

After purchasing a premium version of Paid Member Subscriptions, the .zip file will be available for download under your account page by clicking the version Download button.

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

Alternatively, you can install the premium version 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.

After the installation of the Pro, or Agency version, in order to activate The Stripe Add-on, go to Dashboard -> Paid Member Subscriptions -> Add-ons -> Stripe Add-on and click activate.

Notes – For Stripe add-on to work as expected, you’ll also need to have the following:

  • Stripe SSL Certificate Requirements – If you’re using Stripe to process Credit Cards Payments, you must have an SSL certificate installed on your domain. All interactions between your server and Stripe must use TLS v1.2
  • If you are looking to process payments with an Indian Merchant account in Stripe, additional steps are required. Click here to learn more

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:

The gateways are similar, but Stripe Connect offers more features like additional payment gateways for the user so in addition to credit / debit card payments, the user can also pay using payment gateways like iDEAL, Bancontact, Giropay and many more.

The documentation for Stripe Connect can be found here: https://www.cozmoslabs.com/docs/paid-member-subscriptions/payment-gateways/stripe-connect/

Other Paid Member Subscriptions Payments Settings that we can setup:

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:

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.

Automatic Payment Retry

Starting with Paid Member Subscriptions 2.2.3, a new Automatic Payment Retry option is available. By enabling this feature, when a payment made through this payment gateway fails, the plugin will attempt to take the payment again after 3 days for a maximum of 3 retries, after which the subscription will remain expired.

This option is disabled by default and it only works with Plugin Scheduled Payments done through the Stripe or PayPal Express (with Reference Transactions enabled) payment gateways.

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.

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.

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.

The Free Trial for a particular subscription can only be used one time by the member. If he abandons his subscription and tries to purchase it again, the trial will not be granted anymore and he will be charged immediately.

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

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:

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.

Update Credit Card Details

Your customers can update the payment details for a recurring subscription at any time using the account page. They can see which credit card they are using for a specific subscription and are able to update it in case it expired or they just want to change it.
When the next recurring payment for the customer is triggered, the new card will automatically be charged.

The credit card update is done very easily by the customer, he is only asked to provide the details for his new card. In case the Invoices or Tax add-ons are active, the customer can also update his existing Billing Details.

How to process a refund

Refunds are an unavoidable part of your membership business. To process a refund manually follow the steps below:

Locate the Member

Go to Paid Member Subscriptions-> Members-> and search for the member who asked you for a refund. You can enter the account email address to locate the member. After you find the member click on the “Edit Member” button.

Edit the Member

After clicking on “Edit Member” the following page will open, click on “View details”.

Then the payments page will open, from here you can modify the status of the payment from Completed to Refunded.

Process the refund on the Stripe website

Please check the following page for more information: https://stripe.com/docs/refunds

Change the Member Status

Now, we need to modify the member status. Please go to Paid Member Subscriptions -> Members-> search for the user to whom you refunded money-> click Edit Member.

Then click Edit on the Subscriptions.

Modify the status from Active to Expired and click “Save Subscriptions”.

The Ultimate Membership Bundle

Combine the power of Profile Builder with Paid Member Subscriptions to set up user registration, memberships, and recurring revenue.

Get 25% off with the bundle

Help & Support

We’re here to help you every step of the way.

Open a Support Ticket