109

Product support

Read the plugin support instructions.

Categories

This plugin helps you to setup recurring invoices (that users can optionally pay online). If you want to bill a customer's credit card monthly or annually automatically, you should look at the Offline.Cashier plugin. It includes a component that allows you to check if a registered user has a valid subscription with Stripe.

You can use this plugin to setup recurring invoices for the Responsiv.Pay plugin or my own Briddle.Invoice plugin and optionally restrict access to a page or a page section based on these subscriptions.

Monetize your content with subscriptions

You can create an unlimited number of membership plans (year, month, week, day) and users can subscribe to these plans (or you can subscribe them). All subscriptions are automagically terminated at the end of their billing cycle and a new subscription is generated for the following cycle (year, month).

The user receives a mail that their subscription will be renewed and a new invoice is created using either the Responsiv.Pay plugin or my own Briddle.Invoice plugin. Both plugins support online payments. Custom implementations are also possible by extending this plugin with your own cronjob component and subscribe component or by hooking into events.

My Briddle.Omnipay plugin also offers an integration with Stripe. You could implement your own custom billing solution for this plugin using Stripe's Token Billing. However, if you only want to use Stripe, you should look at the Offline.Cashier plugin.

Features

I want you to get excited about this plugin and I understand that that will only happen if you can really make it your own.

STATUS FEATURE
YES THOROUGHLY SUPPORTED
YES CONCISE DOCUMENTATION
YES MULTILINGUAL
YES PERMISSIONS
YES EXTENDABLE (USING briddle.members.beforeRenew and briddle.members.afterRenew EVENTS)
YES ACCESS COMPONENT (any subscription or a specific subscription, also usable to show or hide links to specific subscriptions)
YES CRONJOB COMPONENT
YES MAIL CUSTOMERS THEIR SUBSCRIPTION IS RENEWED
YES AUTOMAGICALLY TERMINATE SUBSCRIPTIONS AT THE END OF THEIR BILLING CYCLE
YES AUTOMAGICALLY CREATE NEW SUBSCRIPTIONS FOR ACTIVE SUBSCRIPTIONS AT THE END OF THEIR BILLING CYCLE
YES AUTOMAGICALLY CREATE NEW INVOICE (using the FREE 3rd-party Responsiv.Pay plugin or my new Briddle.Invoice plugin) FOR RENEWED SUBSCRIPTIONS
YES SUPPORT FOR YOUR OWN CUSTOM BILLING SOLUTION (credit and debit tables provided)
YES EITHER ACTIVATE SUBSCRIPTIONS BEFORE THEY ARE PAID OR REQUIRE PAYMENT FIRST
YES ALLOW INDIVIDUAL SUBSCRIPTIONS TO RENEW WITHOUT CREATING AN INVOICE
YES SWITCH OFF AUTO-RENEWING AT THE END OF THE CURRENT BILLING CYCLE
YES USE A DEFAULT SCHEDULER

You can complement and extend this plugin with various other (free and paid) plugins. See the documentation tab for more information.

Support

Please use the Support Forum (on the left side of the page for any theme or plugin) or send me a message. I also offer design and development services. You can visit my website for more information. Do not use reviews to ask for support.

IMPORTANT NOTICE! All my activities on October CMS are suspended indefinitely after my second burn-out. I do not offer any support or updates

Why is this a paid plugin?

Someting that is free has little or no perceived value. Users do not commit to free products and only use them untill something else that looks nice and is free comes along. When I invest my time in the development of a new plugin or theme I commit to supporting and maintaining it. I ask my customers to do the same. I do not make money from this plugin by advertisements, upgrades or additional services like hosting or setup. I simply sell the software.

Did you know that only about 30% of my plugins are paid (70% of my plugins are free) and that 30% of your purchase or donation goes to help fund the October Project?

My plugins take many hours to develop (10-120+) and even more hours to document and maintain. My paid plugins have to pay for both this time and the time I am spending on free plugins and less successfull paid plugins. This means that it will take even a successfull plugin years to become profitable. Please consider buying an extended license if you want me to continue to maintain these plugins for the very small fee I ask in return or hire me for adding functionality that you feel is missing but valuable.

Like this plugin?

Did you know that only about 30% of my plugins are paid (70% of my plugins are free) and that 30% of your purchase goes to help fund the October Project? If you purchase this plugin, you can help me to develop it further, provide support for it or make new plugins.

My other plugins include:

Hello, I am Wiego. Please start by reading the whole documentation! If you have any questions, find a bug or experience difficulties getting the plugin to work please use the Support Forum. Only leave a Review if you are happy with the plugin or are still unhappy with the plugin after reaching out to me in the Support Forum. Thank you! Wiego

Why is this a paid plugin?

Someting that is free has little or no perceived value. Users do not commit to free products and only use them untill something else that looks nice and is free comes along. When I invest my time in the development of a new plugin or theme I commit to supporting and maintaining it. I ask my customers to do the same. I do not make money from this plugin by advertisements, upgrades or additional services like hosting or setup. I simply sell the software.

Did you know that only about 30% of my plugins are paid (70% of my plugins are free) and that 30% of your purchase or donation goes to help fund the October Project?

My plugins take many hours to develop (10-120+) and even more hours to document and maintain. My paid plugins have to pay for both this time and the time I am spending on free plugins and less successfull paid plugins. This means that it will take even a successfull plugin years to become profitable. Please consider buying an extended license if you want me to continue to maintain these plugins for the very small fee I ask in return or hire me for adding functionality that you feel is missing but valuable.

Table of contents

Installation

You need an account on octobercms.com to install this plugin.

  1. Sign in and click on the Add to Project button on the product page for the plugin in the marketplace.
  2. Select the project you wish to add the plugin to (or create one).
  3. Make sure you install any 3rd-party plugins this plugin depends on
  4. Make sure you have attached this project to your website in the backend of your website in order to pull in the new plugin (Settings > Updates & Plugins). Don't worry, attaching or detaching your website to a project will never delete anything!
  5. Make sure you allow short_open_tag

Getting started

Please note that this plugin requires some other (free) plugin!

  1. Add Briddle.Members to a project and attach it to your website (This plugin requires RainLab.User, RainLab.UserPlus, and the User Plus plugin requires RainLab.Location and RainLab.Notify so add those first). Also add Responsiv.Pay if you want to use the default billing system component. All these plugins are free. Alternatively you can add my own paid plugin Briddle.Invoice to handle invoicing.
  2. Make sure you allow short_open_tag (this is the default PHP configuration) and setup a cronjob
  3. Configure the settings in Settings > Users > Members

Access component

Please note that the default configuration activates subscriptions by default (without being paid). You can require payment in Settings > Users > Members

Simply place the component on the pages you wish to make members-only. You can allow any member or a specific membership in the component settings.

You can either bounce users without a proper membership or use this component to hide sections on your page from them by using:

{% for access in componentName.access %}
    {% if access.name == 'gold' %}
        Visible for gold members only
    {% endif %}
{% endfor %}

Screenshot

Subscribe component

Please note that this component requires a signed-in user

Simply place the component on the page you wish to use. You can specify the number of days payments are due and the percentage VAT in the component settings. Make sure you create a partial success.htm to mark a membership as active.

<i class="fa fa-check"></i>

Screenshot

Screenshot

Cronjob component

This plugin now uses the command scheduler of October CMS by default but this can be disabled. The cronjob component allows you to code your own integration but requires a traditional cronjob on your server instead of using the command scheduler of October CMS.

Simply place the component on the page you wish to use (e.g. /cronjobs). You can specify the number of days payments are due and the percentage VAT in the component settings.

Run a cronjob daily like:

wget -O - https://www.yoursite.com/cronjobs >/dev/null 2>&1

Custom billing solutions

Please study the code in the Subscription modelif you want to implement your own billing solution!

Although this plugin supports both the FREE Responsiv.Pay plugin and my own Briddle.Invoice plugin you can also choose to implement your own billing solution and 2 tables are included for this purpose (briddle_members_credit and briddle_members.debit). You can extend this plugin with your own cronjob and subscribe components.

Screenshot

Available events

The following events are available to extend the functionality of this plugin:

STATUS EVENT
YES briddle.members.beforeRenew
YES briddle.members.afterRenew
YES eloquent.creating: Briddle\Members\Models\Subscription
YES eloquent.created: Briddle\Members\Models\Subscription
YES eloquent.saving: Briddle\Members\Models\Subscription
YES eloquent.saved: Briddle\Members\Models\Subscription
YES eloquent.updating: Briddle\Members\Models\Subscription
YES eloquent.updated: Briddle\Members\Models\Subscription
YES eloquent.deleting: Briddle\Members\Models\Subscription
YES eloquent.deleted: Briddle\Members\Models\Subscription
YES eloquent.creating: RainLab\User\Models\User
YES eloquent.created: RainLab\User\Models\User
YES eloquent.saving: RainLab\User\Models\User
YES eloquent.saved: RainLab\User\Models\User
YES eloquent.updating: RainLab\User\Models\User
YES eloquent.updated: RainLab\User\Models\User
YES eloquent.deleting: RainLab\User\Models\User
YES eloquent.deleted: RainLab\User\Models\User

Available permissions

As always you can set permissions for this plugin in Settings > Administrators > Members

  • Manage memberships
  • Manage subscriptions
  • Manage credit (optional)
  • Manage debit (optional)

Available languages

This plugin can be translated in any language

This plugin supports the following languages out of the box:

  • english
  • dutch
  • german

Renewal mail

Please note that the renewal mail does not include the actual invoice. You can use the invoice_id parameter to link to your website.

The default configuartion will email customers before their subscription ends using the mail template briddle.members::mail.renew.

Inside this template you can use the following variables:

  • {{ name }}
  • {{ due }}
  • {{ invoice_id }}
  • {{ subscription_id }}

Support

Please use the Support Forum (on the left side of the page for any theme or plugin) or send me a message. I also offer design and development services. You can visit my website for more information. Do not use reviews to ask for support.

IMPORTANT NOTICE! All my activities on October CMS are suspended indefinitely after my second burn-out. I do not offer any support or updates

1.2.3

Added Dutch and German translations.

Dec 18, 2019

1.2.2

Added option for subscribers to switch off auto-renew in subscribe component.

Oct 21, 2019

1.2.1

Added option for subscribers to switch off auto-renew.

Oct 21, 2019

1.2.0

Updated table briddle_members_subscriptions and implemented renew switch

Oct 20, 2019

1.1.9

Some cleanup and restructuring. Also numerous bugfixes.

Oct 18, 2019

1.1.8

Updated table briddle_members_subscriptions

Oct 18, 2019

1.1.7

Settings page allows you to either activate subscriptions before they are paid or require payment

Oct 11, 2019

1.1.6

Access component now supports either bounce or conditions

Sep 12, 2019

1.1.5

Bugfix Briddle.Invoice integration

Aug 27, 2019

1.1.4

Bugfix

Aug 27, 2019

1.1.3

Added support for my new plugin Briddle.Invoice.

Aug 26, 2019

1.1.2

Fixed another bug in the newly added subscribe component. Testing is now completed.

Aug 15, 2019

1.1.1

Fixed a bug in the newly added subscribe component.

Aug 15, 2019

1.1.0

Added Subscribe component and fixed a bug in the cronjobs component.

Aug 15, 2019

1.0.9

Made Responsiv.Pay integration optional.

Aug 15, 2019

1.0.8

Updated table briddle_members_memberships

Aug 14, 2019

1.0.7

Updated table briddle_members_debits

Aug 14, 2019

1.0.6

Updated table briddle_members_credits

Aug 14, 2019

1.0.5

Created table briddle_members_debits

Aug 14, 2019

1.0.4

Created table briddle_members_credits

Aug 14, 2019

1.0.3

Created table briddle_members_memberships

Aug 14, 2019

1.0.2

Created table briddle_members_subscriptions

Aug 14, 2019

1.0.1

Initialize plugin.

Aug 14, 2019