Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Download commerce_recurring-8.x-1.0-beta4.tar.gztar.gz
62.27 KB
MD5: ff5b37f9131b322bc42ce5afdfb26120
SHA-1: 9ce0f293905aebef624dcd1ace03fc17f0aeb786
SHA-256: dfc25afa897559bb47be2890fe176c6dc9da623c9b9c305254b75d28b7184a8f
Download commerce_recurring-8.x-1.0-beta4.zipzip
129.82 KB
MD5: 2fabc28108f191799e1eaaa6370987fe
SHA-1: 8913786c0cd5d836625afb33dd231d4069e7c4e9
SHA-256: 44a8fe4dbb1c9014282c2e26534ce8e36f53e4dde698a9195fd6863a9427ef34
Release notes
Adds support for free trials, and scheduling subscription changes. Cancellations are now fully functional. Requires Commerce 2.12
Contributors (16)
bojanz, jsacksick, porchlight, czigor, gsquirrel, dawehner, wizonesolutions, josebc, joachim, heddn, a.dmitriiev, brunodbo, bibishani, lisastreeter, franksj, msankhala
Changelog
Issues: 37 issues resolved.
Changes since 8.x-1.0-beta3:
Bug
- #3038991 by bojanz: Prorating logic is not correct for prepaid subscriptions
- #3033334: Require Commerce 2.12.
- #2990753: Improvements to SubscriptionForm.
- #2984454 by josebc, joachim, jsacksick, bojanz, heddn: RecurringOrderClose doesn't catch all exceptions
- #2969172 by a.dmitriiev, bojanz: Fix rolling interval billing period generation for non monthly intervals.
- #2984703 by jsacksick: RecurringOrderManager::renewOrder() needs to handle the case when no subscriptions exist anymore.
- #3024480 by bibishani, jsacksick: Make the billing_schedule field required on subscriptions.
- #3017259 by jsacksick: branch tests are failing
- #2983547 by joachim, bojanz: Subscription entity missing local tasks for view/edit
- #2990413 by joachim, msankhala: selectPaymentMethod() takes the earliest payment method, not the latest as documented
- #2951634 by bojanz: Broken dependencies on several fields
Feature
- #2919600 by jsacksick, bojanz, porchlight, gsquirrel, dawehner, wizonesolutions: Support scheduling subscription changes (e.g. cancellations)
- #3027950 by brunodbo, jsacksick: Support free trials without requiring a payment method.
- #2919596 by jsacksick, bojanz: Add support for free trials
- #2927164 by lisastreeter: Add code for activating pending subscriptions
Task
- #3039395 by bojanz: Improve the tests, move from hourly to monthly intervals
- #3039362 by bojanz: RecurringOrderManager::startTrial() should check whether a trial is allowed
- #3039357 by bojanz: Stop using deprecated code in BillingScheduleForm
- #3029058 by jsacksick, bojanz, porchlight: Complete the free trial implementation
- #3038990 by czigor: Tests are failing on Drupal 8.7
- #3038960 by bojanz, jsacksick: Rename RecurringOrderManager's ensureOrder() to startRecurring()
- #3037925 by bojanz: Update for State Machine 1.0-rc1
- #3037988 by bojanz: Subscription::preSave() should populate the trial_end / starts fields when needed
- #3037426: Introduce a RecurringJobTypeBase with common dependencies and dunning helpers
- #3031934 by jsacksick: Hide the recurring order type from the order add form.
- #3031965 by jsacksick: Add functional tests for the subscription admin.
- #3031937 by jsacksick: Add a composer.json & update the functional tests.
- #2929985 by lisastreeter, jsacksick: Add getCurrentOrder() and getCurrentBillingPeriod() to Subscription.
- #2952020 by franksj: Remove static create() method from Cron class
- #3008450: The cron query needs to disable access checking