How Subscriptions Work

Mavenseed integrates with two different eCommerce vendors; Stripe, and PayPal (via Braintree currently). Each vendor is very different in how they support subscriptions, but we've worked to bridge the gaps where we can, with regards to varying feature sets.

The Process

Select Plan

Your customer visits and is presented with any that you have created, and who's status is set to active.

Create Account

When your customer selects a plan, the page is reloaded, but this time with a form to create an account.

After your customer submits the form, a couple of different things happen:

A customer is created in your site, and on Stripe. Why?

  • Stripe requires this step be completed prior to payment

  • Stripe is the default payment provider

  • PayPal is an optional PRO plugin

  • At this point in the process we don't know how the customer will pay

  • a subscription is created with a status of pending

A subscription is created in your site with a status of Pending.

The subscription is only created on your site, not on Stripe. The actual subscription creation on Stripe (or PayPal) happens with the following screen (prompting for payment).

  • Stripe requires this step to be completed prior to payment

Nerd Alert!

The Create Account and Payment used to be in one form. But we found that, especially during times of peak traffic, for the form submission would take just a split second longer than it should to finish completing. Because of this delay, the webhook notification for the payment being received by Stripe would arrive before that process finishes.

We surmise this is why Stripe advises collecting payment on a 2nd step, after the subscription and customer are already created.

Pay for Subscription

After creating an account, the customer is presented with the payment screen. From here they can select PayPal (if you have purchased this PRO plugin), and/or supply a coupon code for the subscription.

If your customer doesn't complete this step, then the subscription will show with a status of pending within your site.

Last updated