How to create a Customer portal page

Learn how to configure a Customer portal page where customers can manage their subscriptions, update their credit card, upgrade/downgrade subscriptions, and download invoices.

Introduction

The Customer portal is a self-service page on your website for your customers where they can manage their subscriptions (review, cancel), update their default credit card, upgrade/downgrade subscriptions, and download invoices.

How it works

You can turn any page or post into the Customer portal by inserting a shortcode into the page.

You can choose from two authentication schemes (SaaS or Wordpress) depending on your customer/user configuration.

Customer portal with SaaS authentication

Use this authentication scheme if your website doesn’t have Wordpress users for customers.
Use the [fullstripe_customer_portal] shortcode.

The login flow is as follows:

1. Customer enters her email address

Customer portal - Enter email address

After submitting the email address, the plugin sends an email to the customer which contains a one-time login code.

2. Customer enters login code

Customer portal - Enter security code

3. Customer portal page is opened

Customer portal page of WP Full Stripe using SaaS authentication

Customer portal with Wordpress authentication

Use this authentication scheme if there is a Wordpress user for every customer. In this case the plugin uses the logged-in user’s email address to find the customer in Stripe.

Use the [fullstripe_customer_portal authentication="Wordpress"] shortcode.

The login flow is as follows:

No Wordpress user is logged in

The plugin displays: “You are not logged in”

Logged in Wordpress user doesn’t have a subscription

The plugin displays: “You haven’t made any payments yet”

Logged in Wordpress user has active subscription(s)

Customer portal page of WP Full Stripe using Wordpress authentication

Account selector for customers with multiple Stripe customers

The customer portal recognizes and handles the case when multiple Stripe customers exist with the email address of the customer.

In that case an account selector page is displayed, and the customer can pick the Stripe customer to manage:

The customer portal displays an account selector when multiple Stripe customers exist with the same email address

On the customer portal page, the customer can switch between Stripe customers by clicking on the “Select account” link:

The customer can switch between Stripe customers by clicking on the 'Select account' link on the customer portal page

Configuration

Customer portal settings

You can configure the customer portal on the “Full Stripe / Settings / Customer portal” page:

The customer portal settings can be configured on the 'Full Stripe / Settings / Customer portal' page

There are several options to customize the behavior of the customer portal:

Options to customize the behavior of the customer portal

What the options do:

  • Let customers cancel subscriptions?: If enabled, customers can cancel subscriptions individually or in bulk.
  • When to cancel subscriptions
    • Immediately: The subscription is canceled immediately
    • At period end: The subscription is canceled at the end of the recurring period. The customer can change her mind, and restart the subscription until the end of the period.
  • Let customers upgrade/downgrade subscriptions: Customers can change the subscription plan and/or quantity, depending on the configuration of the subscription form.
  • Show invoices to customers?: If enabled, invoices with payment amount greater than zero are shown to customers.

Email template for the one-time login code

When the Customer portal page is used in SaaS authentication mode, the plugin sends a one-time login code to the customer.

You can configure the contents of the email on the “Full Stripe / Settings / Email notifications / Templates” page in WP admin:

The email template settings for the Customer portal login code

The following placeholder tokens can be used in the email template:

  • %CUSTOMERNAME%
  • %CUSTOMER_EMAIL%
  • %CARD_UPDATE_SECURITY_CODE%
  • %CARD_UPDATE_SESSION_HASH%
  • %NAME%
  • %DATE

Troubleshooting

Page is reloaded after submitting the customer’s email address

This means that your website is cached.

Please exclude the Customer portal page from caching.

Still not finding the solution?

Our support team is happy to help you.

Contact support

Feature requests are always welcome!
We consider each feature request carefully, and examine how it fits the roadmap for the plugin.