-- HikaShop version -- : 6.5.2
-- Joomla version -- : 6.1.3
-- PHP version -- : 8.4.25
Hello,
We use HikaShop (latest version, 6.5.2) + HikaSerial/HikaSubscription (latest version, 6.1.1) for a magazine subscription business, and we have a workflow question about automating something we currently do manually.
Our setup:
- Product A ("New customer"): sold to first-time subscribers. It creates a subscription (Plan A) and, via the Group Subscriber action, puts the customer in Group A. Group A gives access to 1 year of magazine issues (current year only).
- Product B ("Renewal"): when an existing customer renews, we currently manually move them to a different subscription setup: we assign Product B, which is meant to link them to Group B instead. Group B gives access to 2 years of issues (current year + previous year).
Right now, every time a Product A customer renews, a staff member manually switches them over to the Group B / Plan B setup so they get 2-year access. We would like this to happen automatically, without manual intervention, the first time (or every time) a Product A subscription is renewed.
Questions:
1. Is there a native way, using the Plan relation types (Creation / Creation then Renewal / Renewal or Creation / Renewal) and the Group Subscriber plugin, to have a renewal product point to a different Plan/Group than the one used at initial creation? From the documentation, it looks like a subscription stays tied to the Plan it was created with, so a "Renewal" product would only extend that same Plan rather than switch it.
2. If this isn't natively supported, is there a documented plugin trigger/hook we could use to build a small custom plugin that detects "this order is a renewal of an existing subscription" and then automatically changes the customer's group / re-associates the subscription with a different Plan? We noticed hooks like getSubscriptionsRenewals in the changelog — would that (or another trigger) be the right place to act on this?
We have a local test environment (WAMP server) where we can safely try out any suggested configuration or custom plugin before applying it to our live site.
Any guidance on the best approach (native configuration vs. custom plugin, and which hook to use) would be very helpful.
Thank you!