Configure Stripe subscriptions

Configure Stripe subscriptions

You will need first to configure the Stripe Checkout payment gateway in order to use the Subscriptions feature.

Please follow the Stripe checkout configuration guide by clicking here

If you are using version older then 2.4.0, you will need to manually configure your webhook, see below, otherwise continue with the guide below.

Stripe Products

If you haven’t created your products and billing plans, you should create via the Stripe Dashboard, Perfex CRM will fetch the billing plans directly from Stripe and will display them while creating/editing subscription.

There is no option to add billing plans via Perfex CRM admin area, you should always add the billing plans via Stripe Dashboard.

Subscription Statuses

There are 8 subscription statuses in Perfex CRM, 5 are the default Stripe subscription statuses and one additional status is added Future.

You can read the lifecycle for subscriptions and statuses at by clicking here

Future – The additional Perfex CRM status Future means that the customer subscribed but the first billing date is in future, as an example if the customer subscribes on 2018-05-18 and you configured First Billing Date to be 2018-05-25, the subscription is active but the customer will be billed at the future date.

Perfex CRM subscriptions for Stripe do not support trial subscriptions

Create New Subscription

In order to create new subscriptions, from the main menu click Subscriptions then New Subscription.

Billing Plan

Select billing plans for this subscription, the billing plans will be fetched from your Stripe account.

Quantity

Configure quantity if it’s necessary, otherwise leave it to 1

First Billing Date

This is the first billing date field, leave blank to use the date when the customer is subscribed to the subscription. This field must be a future date, if you select a date and the date is passed but the customer is not yet subscribed, the date when the customer will subscribe will be used.

Note that Stripe does not support the creation of subscriptions in past dates.

Subscription Name

Add subscription name, shown to the customer too, in most cases this will be your product name.

Description

You can add an additional description for this subscription, also visible to the customer.

Customer

Select customer for this subscription.

Currency

The currency will be auto-selected based on base currency or customer currency, you can’t manually change the  currency, more info about currencies can be found by clicking here

Always use the same currency in Perfex CRM and Stripe billing plan currency

This means that you can’t have currency EUR and select billing plan configured in Stripe with USD currency.

Tax

You can select tax for the subscription.

The taxes are fetched directly from Stripe, if you haven’t configured your taxes in Stripe, you should do this via Stripe dashboard by navigating to Billing->Tax Rates

Terms and Conditions (from v.2.40)

You can also add custom terms and conditions for the subscription, the terms and conditions will be shown at the bottom of the subscription preview area just before the customer subscribes to the subscription

Send a subscription to a customer

After you configure the subscription successfully, you may want to send the subscription to the customer, note that the subscriptions in Perfex CRM are related to the primary contact of the customer.

To send the subscription to the primary contact you can click on the top left email envelope button, additionally, if you want to view how the subscription will look, click on View Subscription button.

You may want to take a look at Setup->Email Templates, to adjust the subscriptions email templates.

Show subscriptions to customers area

If you want to show or hide subscriptions in customers area, you can navigate to Setup->Settings->Subscriptions and set Show subscriptions in customers area to Yes.

Subscribe to subscription

In order customer to subscribe to a subscription, you must send the subscription to the customer primary contact and include the subscription link in the email via the built-in email feature for subscription or send the subscription link manually.

After the customer access the subscription he/she can review the subscription and subscribe by clicking on the subscribe button.

Perfex CRM Subscription Subscribe

Canceling Subscription

To get familiar with canceling the subscription, please read more the official Stripe documentation by clicking here

Canceling from the admin area

If you want to cancel subscription directly from the admin area, you can open the subscription and click on the cancel button, you will be able to see 2 options:

  • Cancel
  • Cancel at the end of the billing period

If you click Cancel, the subscription will be canceled immediately, if you click Cancel at the end of billing period, the subscription will be canceled based on the end billing period and also, in this case, you can reactive the subscription, but if you cancel it immediately, there is no option to reactivate.

Cancelling from customers area.

The primary contact also can cancel the subscription via the customers area, the options are identical like in the admin area.

Credit Card Token

Perfex CRM will store the Stripe customer id in the database for future payments.

Credit card token is token provided by Stripe related to the credit card that subscribed to the subscription, Perfex CRM does not store the credit card number in the database, the credit card token and last 4 digits are fetched directly from Stripe servers via API.

The primary contact can update the credit card anytime he/she want by logging into the customers area and navigating from the top Profile menu -> Credit Card.

Sometimes your customers need to change the card info that they have on record with your business, whether that’s just to swap in a preferred card, or because the card issuer sent a replacement. Stripe takes care of updating expiring cards for you, and also attempts to update saved card details when a customer’s physical card is replaced, but in rare cases, if Stripe is unable to update the card details automatically, the contact must update the credit card manually via the customers area.

Perfex CRM Update Stripe Card Token

Reusing the credit card token

The credit card token for this customer will be used or future subscription too, as example once the customer subscribe to the subscription, in Stripe, Perfex CRM will create customer and this credit card token will be linked to this customer, also the customer id from Stripe will be stored in Perfex CRM database for future payments.

The next time you create a subscription for this customer, the customer won’t need to enter his credit card details again, he/she can just click a button and will be subscribed in no time.

Testing Subscriptions

If you want to test the subscriptions, you need to configure Stripe testing keys and read the following guide: https://stripe.com/docs/testing

In this guide, you can get familiar with how the testing works and also there is a list of test credit cards.

Also, before switching to production mode, while testing, if you subscribed to any test subscription, make sure to delete those subscriptions from Perfex CRM admin area.

Configure Stripe checkout webhook for subscriptions (applicable for Perfex CRM versions below 2.4.0)

While you are in Setup->Settings->Payment Gateways->Stripe Checkout, you will need to configure the webhook for Stripe Subscriptions.

Each installation will have unique webhook protection key, you will able to see yours in the Stripe Checkout Webhook Key field

In Stripe Dashboard navigate to Developers->Web hooks and click add a new endpoint.

The webhook URL will be like:

Replace [WEBHOOK_KEY] with your actual webhook key.

Perfex CRM will generate a unique key for each installation, you can either use this key or manually add any key in alphanumeric you want, in case you decide to change the webhook key and you already have configured the webhook in Stripe, you will need to update the webhook key in Stripe dashboard too.

Test your webhook

It’s very important to make sure that your webhook is configured properly, otherwise, the subscription feature may not work properly.

Once you configure the webhook via Stripe dashboard, click on the configured webhook URL and click on the top right button Send test webhook then a popup modal will be shown, just click on the bottom right button Send test webhook

Keep in mind that the “Send test webhook” button is only available when you have toggled to view test data, once you test the webhook URL while test data is toggled on, switch off test data and configure the same webhook URL in your live account.

Test Webhook in Stripe

If the webhook is configured properly at the bottom you should see this response:

Stripe test webhook response

Important Notes

  • Do not edit the subscription directly from Stripe dashboard, if you want to perform edit you can do this via Perfex CRM admin dashboard.
  • Perfex CRM subscriptions only work with 1 line item (billing plan/product), do not add multiple subscription products via the Stripe dashboard to avoid unnecessary results.
  • Once the customer is subscribed to a subscription, the subscription can’t be deleted, mark them as canceled instead (applicable for subscriptions created in LIVE mode)
    • Related Articles

    • Configure email with Google OAuth 2.0

      Starting from version 3.0.5, you can configure a general Google email using OAuth 2.0, to do this on your our CRM installation follow the steps below. Go to the Google Developer Console. Create a new project. You can also select an existing project. ...
    • Email/SMTP Configuration

      You will need to configure SMTP settings for Our CRM if you want to send e.q. invoices, estimates, overdue reminders etc… the SMTP config will act as a general email from Our CRM for all emails that will be sent. In order to configure the send email ...
    • Create Menu Items

      If you are creating your custom modules, probably you will want to create menu items that will be shown on admin area sidebar or clients area navigation. With Our CRM you can easily achieve this with few lines of code. The code samples below, should ...
    • Allowed file extensions

      For the support feature allowed file extensions are separated from the global system allowed file extensions. To configure the support ticket file extensions navigate to Setup->Settings->Support-> Allowed file extensions. The file extensions added ...
    • Link Estimate To Project

      Go to Menu -> Sales -> Estimates and click Create New Estimate Select customer. A drop-down with projects will be shown below the customers select field (if no projects associated with the selected customer the dropdown with projects wont be shown) ...