Skip to content

Subscription

Florian Bender edited this page Jun 13, 2023 · 5 revisions

Overview

Mollie offers you to sell your products based on subscriptions. These can be sold based on either daily, weekly or monthly recurrences.

All you need to do is, to configure your products to be a subscription type and let your customers pay for it. Mollie itself will take care of renewing subscriptions and charging your customers. Your shop is then notified once this happens, and a new order is created automatically through the plugin in Shopware.

Read more about how to setup subscriptions with a few easy steps and learn more about all additional advanced features from the plugin.

Prepare Products

Before you can sell subscriptions, you first need to configure your products to be a subscription product. Just open your products (or variants) in the Shopware Administration and select the Mollie tab. You will see 4 different settings for subscriptions:

Configuration Description
Subscription Product This is an easy toggle to activate the product to be a subscription product. Just activate it.
Repeat Payment every Here you have to specify the interval value. This is a number and is used in combination with the interval unit. A sample would be to have every "4" weeks, or "2" months.
Interval Unit This is the unit for the value you used to repeat the payment. Select between "days", "weeks" and "months".
Number of repetitions This optional number value allows you to automatically finish the subscription after a number of repetitions. If you don't want to limit it, just leave this empty.

Save your product data and you are ready to sell your first subscription.

Please note, we need to support Shopware standard and headless as good as possible. Therefore we defined that a product needs to be a type "subscription" so that it all works inside the core. This does also mean that it cannot be sold as a one-time payment anymore. You need an additional product or a variant for this. We're always happy to hear your feedback! We're here to improve this plugin!

The Checkout

If a customer adds a subscription product to the cart, there will be an information text, that not all payment methods are available. Only a handful of payment methods are supported for subscriptions. This is the list:

  • iDEAL
  • Credit Card
  • SOFORT
  • eps
  • Bancontact
  • Belfius
  • Giropay
  • PayPal

As bank-based payment methods like SOFORT, iDeal, eps, etc. require consumer interaction, all subsequent payments will be done as SEPA Direct Debit payments. Only the first payment is created through an online authorization.

Also, mixed carts are not possible (subscription + non-subscription). This is because in combination with Shopware rules, it can happen that shipping costs and more would change when renewing the order the first time. Because, as you know, only the subscription item in the cart would be renewed, and it's just not possible to determine the correct amount that your customer would need to purchase on that level of details. And therefore we have chosen this way, so that it will always be renewed in the same way as the initial order has been done.

As soon as the customer has purchased the first subscription, there is nothing more than a simple order in Shopware. But as soon as a successful webhook is received from Mollie, the plugin will ask Mollie to finalize the subscription in the Mollie Dashboard. This is the mandatory step to start the automatic renewal with the interval that you have configured.

The Administration

All subscriptions can be seen in the administration, no matter if they are pending, active or even suspended. As soon as they are confirmed with a successful payment of the initial order, they are also sent to the Mollie Dashboard. If this was successful, the Mollie ID (sub_xxx) and Customer ID will be visible in the list in the Administration.

In addition to this, all orders in the Shopware Administration will show you if they are a part of a subscription. This can either be seen in the details of an order, or even in the order overview within our new Mollie columns.

Every subscription has a detail view that helps you to manage that subscription. You have links to customers, the initial order, as well as options to cancel, pause, resume or skip subscriptions (if enabled in the plugin configuration).

The bottom of the detail page, shows a history for the current subscription. This helps you to identifiy everything that has been done with it.

The Storefront

Your customers can easily manage their subscriptions in their account in the Shopware storefront. This new page lists all subscriptions and allows you to update the payment method, change billing and shipping addresses, cancel a running subscription, or even pause, resume or skip it (depending on plugin configuration).

Update Payment Method

Customers can update their payment method by using the context menu button of a subscription in the storefront. This will bring them to the Mollie payment page. If the payment of 0,00 (EUR) is successful, the new mandate will be used for upcoming payments for this subscription.

The renewal process

Mollie will automatically charge your customer and notify the shop about a renewal by using a webhook of your shop (plugin). The plugin will verify a few things and create a new order based on the initial order for this subscription. As soon as this is done, it will forward the request to the original webhook where payment updates are received. This allows us to have a single source of truth when it comes to validation of a payment status and things that should happen.

In other words, only the order-creation process that a customer would do happens automatically, the rest is all the same as with non-subscription orders!

One thing to keep in mind is, that renewed orders are NO orders in Mollie (ord_xxxx). They are only transactions (tr_xxx). Orders that only have a transaction (tr_xxx) cannot be shipped in Mollie. Also the refund manager does only execute amount-refunds because no line items are known inside the Mollie Dashboard. This is a limitation by Mollie itself, so we cannot do anything against it at the moment.

Advanced Features

Renewal Reminders Events

It's possible to notify your customers prior to a renewal of their subscriptions. Use this to reduce the number of refunds while increasing the customer experience.

The plugin provides an automatic schedules task that runs about every hour, as well as a custom CLI command that you can start on your own. This will search for all subscriptions that will be renewed soon. The days in prior can be configured within the plugin configuration.

Once a reminder has been done, Flow Builder and Business Events will be fired, where you can start things like E-Mails or other business related actions. Afterwards the subscription will be marked as "reminded" and the next reminder happens again only before the next renewal. You can see the "last reminded" date and time in the list of subscriptions in the administration of Shopware.

E-Mail Templates (Renewal Reminder)

E-Mails are usually sent as Business Events in Shopware, although this will soon be deprecated (Flow Builder does now exist). We have prepared a custom email template for the "Mollie Subscription Reminder" use case for you. This exists in multiple languages and is already prepared with some nice samples and data that you can use.

Just assign the matching event and configure your email template and it should already work. If it's not working, please check your email setup in Shopware, and also verify if the renewal event was triggered correctly in the plugin.

Flow Builder Events

The Mollie plugin supports a new list of triggers to work with Subscriptions in the Flow Builder.

Trigger Description
Started Is fired as soon as a new subscription is started.
Renewal Reminder A renewal reminder event is fired if either the CLI command or scheduled task detects a subscription where a renewal reminder should happen.
Cancelled This trigger is fired if the customer cancels the subscription in the Storefront.
Ended This is fired when a renewal of a subscription happens for the last time. This is in combination if a number of repetitions that is configured for your subscription product.

Allow customers to edit address for running subscriptions

In the plugin configuration of Mollie, you can decide if customers are allowed to update the billing and shipping address of running subscriptions.

This will then affect orders that are created after the update.

If activated, the storefront shows buttons next to the addresses of a subscription in the customer area.

Please note, it's not possible to update the country of a subscription due to likely changes of tax related things. Only the destination in that country can be adjusted. This also means that shipping might cost more after such a change, while the customer is still charged the same price as before in Shopware! Please keep that in mind!

Allow customers to pause and resume running subscription

The plugin configuration allows you to unlock the pause and resume features for subscriptions.

If enabled your customers (and also administration users) can pause a running subscription. Once paused, it's also possible to resume it again.

Such a change in the subscription interval, causes a new subscription (ID) to be generated inside Mollie. The previous once is technically cancelled.

Allow customers to skip running subscriptions

The plugin configuration also has an option to allow customers (or admin users) to skip a running subscription.

This cancels the current subscription, skips 1 interval, and creates a new subscription in Mollie with a starting date after this skipped interval.

At the moment, only the "skip once" feature is possible.

Skip subsription renewal if payment fails

Usually every new renwal attempt on the Mollie subscription side, creates a new order in Shopware. This also means, that failed payments also lead to new orders.

In this case, your customers can easily complete the payment in their Shopware account.

If you do not want to use that approach, you can avoid new orders being created on failed payment (renewal) attempts. In this case, only successful payments lead to new Shopware orders.

Latest Notice Period before renewal

Set a notice period to restrict cancellations of subscriptions within a few days before the actual renewal. It can be used to avoid that a subscription is cancelled, while you already prepare the shipping and other things that might be required. This depends on your terms of conditions and should not be configured without it!

An example: If a subscription renews on Friday and you use "2", then it can be cancelled with latest Wednesday. Use "0" to always allow cancellations.

Subscription Indicator

This will show an indicator along with the interval description on the detail page of a product. It can be enabled in the plugin configuration.

Rules

The plugin comes with 2 available rule conditions that you can use to figure out if either a product is a subscription product or if a cart has subscription items.

Just build a new rule and search for the "Mollie" options.

Clone this wiki locally