Subscription Limit: One Subscription Per Email Address

In the context of typical website usage, if an account or subscription is already associated with an email address, it would not be possible for an individual to register on the site or subscribe to another subscription using the same email address. The UM Stripe Extension limits the subscription to one email per subscription and requires the use of a unique and valid email address for each subscription. 

Limiting subscriptions to one email per user offers multiple advantages. It enhances user identity verification and accountability by tying each subscription to a unique email address. This measure also prevents abuse of promotional offers and free trials by discouraging the creation of duplicate accounts. Additionally, it contributes to a more secure authentication process, as users typically need access to their registered email accounts for security-related procedures. Furthermore, this policy ensures fair resource allocation and simplifies user account management and support. Ultimately, it improves the user experience by reducing confusion and login issues associated with managing multiple accounts under the same email address.

Limit Customers to 1 Subscription

To limit customers to 1 subscription per email address, do the following steps below:

  1. Go to Stripe Dashboard>Settings>Payments>Checkout and Payment links
  2. In the Subscription section,enable the 'Limit customers to 1 subscription'. For test mode, choose the 'Test mode' option. For the live site, select 'Your website' and input your site's login URL into the designated field.
  3. Save your settings.

Situations and Resolutions

In this section of the article, we delve into various Situations & Resolutions, presenting potential scenarios you might encounter. Here, we offer comprehensive solutions and answers to address the challenges or questions that may arise.

Situation 1: User "John Doe" registers to your site with the email address  johndoe@um.net  and has successfully subscribed to your Basic subscription plan, so now he has an active subscription.

While he was logged in, he decided that he wanted to upgrade his subscription. So he went to the subscription page and subscribed to the Premium Plan via the Subscribe URL.

When he clicked the button with the Premium Plan subscribe URL, he was redirected to the Already Subscribed Page because he already had an existing subscription. 

Resolution 1:
If you don't restrict 1 email to 1 subscription, this is how the Stripe extension handles the process and generates a Stripe customer and WP Account:

  • When using the Register form with Stripe plans, a user will be created with a Stripe customer account with the email address field in the Email field. If there's no email field in the UM Register form, a generated email address will be supplied to the Stripe checkout. If the dedicated Stripe billing predefined field is added to the Register form, it will be used to create a Stripe customer account - this separates the Billing Email and WP Account email on registration.
  • When an existing WP account tries to checkout via the Stripe button, Payment Link, or Direct Checkout URL, a Stripe Customer account will be generated using their primary email address that's registered to their WP account( user_email from the wp_users table )
  • When a new user is added to the WP Admin > Users, they will be created with a Stripe customer account and link both accounts together.


Situation 2: An unregistered user named "Jane Doe" attempted to subscribe to a plan via the subscription URL. However, upon reaching the checkout page, she entered the email address 'johndoe@um.net', which is already registered under the account of user John Doe. Consequently, Jane will be unable to complete the registration or subscription process using this email address, as it is already associated with an existing subscription. Instead, she will receive an error message indicating that the email address already has an active subscription.

Resolution 2:

  • All existing and logged-in users will not get any new email address, when using the Stripe checkout shortcode for button or direct URL, it will generate a Stripe customer and different email on the Stripe dashboard if there's none, if there's already a Stripe customer account assigned to the WP user account, it will be used for the checkout process
  • Additional info, when you create a user in the WP Admin > Users screen, it will also create a Stripe customer on account creation and the Stripe customer and WP Account will be linked together