How to create a Customer portal page?

When you create a membership subscription page, you establish a key resource for your members.

The customer portal is designed for membership sites to provide members with a convenient self-service hub. Here, your members can independently manage their subscriptions, update payment information, and access invoices, giving them control over their membership details.

How it works?

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

How the customer portal works, described in the linked sections:


Customer portal with SaaS authentication

Use this authentication scheme if your website doesn’t have WordPress users for customers.


WP Full Pay doesn’t create WordPress users by default. If you’re using WP Full Members then Wordpress users are created as part of the subscription process.


Use the [fullstripe_customer_portal]  shortcode.


SaaS authentication login flow


1. Customer enters her 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

3. Customer portal page is opened

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.


WordPress authentication login flow


Logged-out visitor opens the customer portal page

The plugin redirects the user to the login page of WordPress.

Logged in WordPress user doesn’t have a Stripe customer

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

Logged in WordPress user has active subscription(s)


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:

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


Stripe customers without data in WordPress

The customer portal works also for Stripe customers that don’t have data in the WordPress database at all.

Email address case (in)sensitivity

During the login process, the customer portal matches the entered email address against the email address of Stripe customers.

Email address matching rules differ based on where data is available about the Stripe customer:

  • For customers in the WordPress database, email address matching is NOT case-sensitive
  • For customers only in Stripe, email address matching is case-sensitive

Configuration

Customer portal settings

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

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

What these options do:

Setting Description
Customers can manage / subscriptions Displays the list of non-canceled subscriptions of the customer and the possible actions.
Customers can manage / invoices Displays all non-zero invoices.
Customers can upgrade/downgrade subscriptions Enables upgrading/downgrading subscriptions.
Customers can cancel subscriptions Enables canceling subscriptions one by one or in bulk.
When to cancel subscriptions

Controls the cancellation behavior:

Immediately or At period end.

Display settings / scroll pane into view Enables scrolling the customer portal pane into view when the page is opened or reloaded.

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 following placeholder tokens can be used in the email template:

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

Customize the customer portal with WordPress filters

There are certain aspects of the customer portal that can be changed programmatically by using WordPress filters.

The following sections introduce these filters and contain references to implementation details.


Tell the customer portal the subscription plans offered for upgrade/downgrade

Customers can upgrade/downgrade subscriptions on the customer portal (if enabled).

By default, the customer portal offers the subscriptions plans of the form that the initial purchase of the subscription was made on. However, if you’re using a pricing table then the subscription plans are spread across several subscription forms, so this approach doesn’t work.

You can tell the customer portal which plans to offer for upgrade/downgrade by implementing the fullstripe_get_upgrade_downgrade_plans filter.


Add new sections to the customer portal page

You can use WordPress filters to add new sections to the customer portal.

The filters receive the email address and the Stripe customer id of the logged in customer as parameters. Based on these data, your filter can fetch data from the database or from external sources, and display data to the customer.

You can add sections to the top and bottom of the customer portal. Please refer to the fullstripe_customer_portal_header and fullstripe_customer_portal_footer filters for more information.

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.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us