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 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:
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:
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.
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.
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.
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.
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
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.
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 Checker – https://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.
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.
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.
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.
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
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.
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.
The email that is sent to the user can be customized by going to the PMS -> Settings -> Emails -> User Emails page.
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|
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”.
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.
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.
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.
Refunds are an unavoidable part of your membership business. To process a refund manually follow the steps below:
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.
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.
Please check the following page for more information: https://stripe.com/docs/refunds
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”.