This project integrates Drupal with Recurly, a subscription billing service that works in conjunction with your existing payment gateway / merchant account (see their about page for more details and their list of supported payment gateways around the world). They provide a very well-designed, feature rich back end through which you can manage accounts, create subscription plans with optional add-ons and coupons, manage account subscriptions, and more. Read more below about the types of recurring billing Recurly's service is geared toward to see if it's a fit for you.

This module uses their PHP client library (yay, GitHub) to provide various points of integration with Drupal core and a bundled plugin module integrating with Drupal Commerce. The extent to which we integrate is still being explored and may involve multiple levels of support based on some recent developments in Recurly's API.

Integration by Commerce Guys.

Understanding Recurly's subscriptions

Recurly offers enterprise level features for administering your subscription billing through their web application and is Level 1 PCI compliant. They provide a back end interface for full account management and subscription reporting and hosted front end pages for customers to purchase subscriptions and update their billing information after the fact. Their dunning management features include retrying failed payments and handling customer notifications. In short, Recurly offers everything that we've never really done well with native recurring billing solutions.

That said, there are still some limitations in their subscription model you should be aware of to ensure their service can accommodate your business model. These are briefly outlined below, and for each of these limitations their are workarounds you can implement via their API with a minimal amount of custom module development.

  • You can have any number of pre-defined subscription plans with varying prices and intervals, but a plan must exist (or be created via the API) before a customer can subscribe to it.
  • Each account can only be subscribed to a single plan, although Recurly does simplify the process of canceling and / or upgrading plans, including pro-rated credits or charges as the case may require.
  • Subscription plans are presumed to be open ended, so you cannot setup a subscription through their service alone to only recur a limited number of times.
  • Subscription plans can have optional Add-ons a customer can purchase that increase the amount of the recurring charge (e.g. extra tickets to go along with a monthly support plan). However, there is no way for the customer to adjust these Add-ons after the fact through the Hosted Account Page.

Additionally, you are not required to use Recurly's Hosted Payment / Account Pages at all. Using their API you can recreate any or all of the front end interface on your site to support your subscription plan needs.

Installation instructions

  1. Download and install the module Libraries API 7.x-1.0.
  2. Download the Recurly PHP client library into your site's sites/all/libraries/recurly directory (creating the libraries directory it if it doesn't already exist). Depending on how you download the library, you may need to move files out of subdirectories. It is important that the file recurly.php exists in the directory sites/all/libraries/recurly/library.
  3. Download and install this module.

Configuration

The primary configuration form can be found at Administration > Configuration > Web services > Recurly. Here you configure your site-wide API settings and manage the points of integration between Recurly and Drupal.

The module also defines a variety of permissions that govern what aspects of the administrative interface users should have access to and when they should be able to view account information for different users. If hosted payment pages are enabled, there are also permissions governing non-administrative user access to account management pages, including one that allows them to bypass login using their Recurly account's "hosted login token" returned by the Recurly API.

Integration roadmap

Listed below are various points of integration that have either been completed, are in progress, or are planned. If you'd like the module to do something not listed, file a feature request.

  • Settings form for account configuration - DONE
  • Settings form for toggling points of integration - DONE
  • Page listing all subscription plans - DONE
  • API support for linking to plan edit / purchase pages - DONE
  • Filter to support subscription links / forms - DONE
  • Field to link entities to subscription plans - IN PROGRESS
  • Display formatter to craft links to Hosted Payment Pages
  • Commerce Checkout integration for purchasing subscriptions
  • Pluggable push notification listener - DONE
  • Linking Drupal users to Recurly accounts - DONE
  • Showing Recurly account information on user profile pages - DONE
  • Push notification support to track new account creation - DONE
  • Local storage and display of subscription details for accounts
  • Push notification support to track payments by accounts

Support

Contact Commerce Guys for recurring subscription consulting, module support and development, and training.

Downloads

Version Downloads Date Links
7.x-1.x-dev tar.gz (15 KB) | zip (16.62 KB) 2011-Jun-21 Notes

Project Information


Maintainers for Recurly

  • rszrama - 20 commits
    last: 48 weeks ago, first: 52 weeks ago

Issues for Recurly

To avoid duplicates, please search before submitting a new issue.
All issues
Bug reports
nobody click here