Configuration
To activate the subscription features, several preliminary steps are required to ensure the subscription options are displayed correctly in the shop and the subsequent orders can be triggered without issues.
Note: Using this Add-on requires additional configurations by our implementation teams, please let your SCAYLE Account Manager know in case you would like to use this Add-on so they can initiate the configuration process.
Subscription Attributes
The product attributes are used in order to define which products allow subscriptions, what delivery intervals are available for the different subscription products, and which discounts should apply to subscriptions. To create attribute groups and add them to product categories, navigate to Settings > Product Structure > Attributes
in the SCAYLE Panel.
For further information on attributes and how to set them up, see Attributes.
Attribute Groups
Please adhere to the naming convention below to ensure subscription options are correctly displayed in the Product Detail Page in your shop.
If you would like to be able to set different values for each shop country, e.g. a product should be available for subscriptions in your German shop, but that same product shouldn't offer subscriptions in your Austrian shop, please set the Attributes can be overwritten in shop countries flag to true when creating the attribute groups.
New attribute groups need to be created for:
Attribute Group | Attributes | Details | Not Translatable | Attributes can be overwritten |
---|---|---|---|---|
(Simple Attribute Group) | true , false | The subscription eligibility attribute determines whether a product can be subscribed to or not. The subscription component in the Product Detail Page is only shown if the attribute is set to true . | ✅ Does not need to be translatable | ✅ Set if needed |
(Simple Attribute Group) | e.g. 3 months , 6 weeks , 2 months | Defining the subscription interval attribute group will determine which intervals will be shown in the subscription options in the Product Detail Page of a product in the shop. Please set Multi-Select to true for this attribute so more than one interval option can be shown to the customer in your shop. | ❌ Needs to be translatable | ✅ Set if needed |
(Simple Attribute Group) | e.g. No minimum term , 12 months , 24 months | Defining the subscription term will determine what the minimum term is for a subscription, so how long the subscription will run before the customers have the option to cancel it. | ❌ Needs to be translatable | ✅ Set if needed |
(Simple Attribute Group) | e.g. Immediate cancellation , Monthly cancellation after minimum term | Defining the subscription cancellation policy will determine when a customer can cancel their subscription. | ❌ Needs to be translatable | ✅ Set if needed |
(Simple Attribute Group) | e.g. 5 , 10 , 20 | ❌ Needs to be translatable | ✅ Set if needed | |
(Simple Attribute Group) | % | ❌ Needs to be translatable | ✅ Set if needed | |
(Simple Attribute Group) | e.g. Discount | ❌ Needs to be translatable | ✅ Set if needed |
The Subscription_Subsequent_Discount
attribute needs to be created as an advanced attribute group made up of three simple attribute groups:
Please make sure to select Attribute Groups instead of Attributes when you define the component as this will allow you to set different values and value combinations for the different products.
Attribute Group | Attribute Groups | Details | Not Translatable | Attributes can be overwritten in shop countries |
---|---|---|---|---|
(Advanced Attribute Group) |
| Defining a subsequent discount attribute allows you to give customers an incentive to create a subscription by offering them a discount on the product from the second order onward (e.g. 15% subscription discount). The discount value defined in the attribute group is used for the subsequent subscription orders to calculate the price for the subscription order triggered by the system. | ❌ Needs to be translatable | ✅ Set if needed |
Add Attribute Groups to Categories
After the new attribute groups have been created and defined, they need to be added to the product categories that should allow subscriptions. To add an attribute group to a category, navigate to Settings > Product Structure > Categories
, select a product category and use +Add Related Attribute Group to add the respective subscription attribute groups.
As part of this process you can, for example, define the default selected interval for a category by setting a default attribute for the Subscription_Available_Intervals
attribute group. The defined default interval will be auto-selected in the Subscription component in the Product Detail Page in the shop.
Not all products within a category will automatically offer subscriptions options if the attribute groups are added to the category, as the subscription eligibility can still be enabled/disabled by setting the corresponding attribute in the Subscription_Eligibility
attribute group.
While master categories structure the product data in the backend, shop categories structure the product data in the front end. For more information on the distinction between master categories and shop categories, see Master Categories vs. Shop Categories.
Shop categories can be defined on the shop level, see Shop Categories.
Defining subscription options for products
Once the corresponding subscription attribute groups have been added to master categories and shop categories, the subscription options can be defined in more detail. You can update product data either globally (in the Products area) or for individual shops (in the Shops area).
As with other attributes, they can be defined via the Panel (either individually or in bulk) or via API.
The process outlined below will focus on updating product attribute data on shop level. Further information on how to update product attributes on a global level, see Update products data in bulk.
Attribute definition via Panel
To edit the subscription attribute values for a single product or variant, navigate to Shops > [Shop Name] > Products
and select the product that you would like to edit. Select the attribute - either on product level or by selecting the associated variant - and set the desired value.
Select Save and, if required, manually index the product or wait for the automated indexing process. Once the product is indexed, your changes will appear in the subscription component in the shop.
If you would like to edit several products at the same time, navigate to Shops > [Shop Name] > Products
and select the products you would like to edit from the list (either manually or by using a filter) and select Update.
Define which attribute group should be updated and set the target value. Select Proceed to update the selected products.
For more information on how to update product attributes in bulk, see Update products data in bulk
Attribute definition via API
To edit product attribute data via API, use the [POST]/products/{productIdentifier}/attributes
endpoint of the Admin API and follow the outlined process for attribute updates: Create or update attributes.
Setting subscription price
If you would like to offer your customers a discounted price for products when they create a subscription, there are two options that can be used and that can also be combined:
Offer discounted price for setting up a subscription
An initial discount on a product variant can be granted by creating a second price for a variant in the shop. In order for a product to have two different active prices in a shop at the same time, you need to decide on a promotionKey
and create a price linked to that key.
To create a new price for a product variant, use the [POST]/variants/{variantIdentifier}/prices
endpoint and set a promotionKey
in the request. For more information see Create or update product variant price.
The default promotionKey
used for subscription prices is subscription
. However, you can also set a unique key for your shop (e.g. initial_subscription_discount_1234
) when defining the variant prices. In this case, the key needs to be included in the setup of the PDP subscription component. Details on the setup of the subscription components in your shops can be found here: Integrations > Subscriptions.
If a key is defined, Storefront will request the variant price from the database using the promotionKey
and will display the discounted price for the subscription product.
To ensure convenience for your customers, the price for subscription items stays consistent throughout the duration of the subscription. In case you change the subscription price for a variant by altering the price linked to the defined promotionKey
, this will only affect subscriptions created after the change.
Subsequent Discounts
If you’d like to offer customers a discounted price from the first subsequent order (order created automatically by the system) onwards, this can be defined as part of the product attributes.
After following the configuration process for the variant attributes, you can set subsequent discounts for subscriptions. To define the discount, set the values for Subscription Discount Value
, Subscription Discount Unit
and Subscription Discount Text
either via the API or navigate to Products > Product > Variant
:
Subsequent discounts can be defined per variant and different subsequent discounts can be set for the same variant in different shop countries (depending on how the attributes was set up as part of the attribute creation for subscriptions).
Both initial discounts and subsequent discounts can be combined, but they can also be used individually to perfectly match your pricing strategy.
Payment Configuration
As subscriptions allow convenient ordering of products without requiring additional customer interaction, a payment method needs to be configured that allows continuous payment authorization.
If you would like your customers to explicitly consent to the creation of a subscription in the Checkout process, we recommend using the Dynamic Fields feature to add an additional checkbox in the order confirmation flow.
Paypal Billing Agreements
While we plan to enable further payment methods for subscriptions in the future, the only integrated payment method is currently Paypal Billing Agreements.
Get in contact with the payment service provider you use to offer payment via Paypal to set up Paypal billing agreements (also referred to as “Reference Transactions“).
For further information on the process of enabling payment methods, please contact your SCAYLE Account Manager for assistance.
Limit payment methods
Once a payment method with continuous payment authorization has been enabled, the available payment methods for orders including subscription products need to be limited via the Checkout Rule Engine:
- Navigate to
Shops > Storefront > Checkout Settings > Rule Engine
. - Select +ADD RULE or +ADD FIRST RULE.
- Complete the 3 sections on the New Rule page.
- General Info: Add a Name and Description for the rule.
- Click ADD CONDITION to add a new rule:
- Select the
items
collection from the list. - Select
items
>customData
>subscriptionDefinition
. - When the variable selection is complete, click ADD.
- Select the operator (e.g.,
=
,!=
,>
,<
,<=
,IS
,IS NOT
,IN
,NOT IN
) and corresponding values.
- Select the
- Results: Select
Payment Options
>{Payment Method}
>Disable Payment Method
) and disable all payment methods that don't offer continuous payment authorization.
For more information on how to add rules to the Checkout Rules Engine, see: Add Rules.
Once the customer confirms their subscription order, the selected payment method will be used to pay for the subsequent subscription orders and the continuous payment authorization allows automatic deduction of the subscription value making subscription payments easy for your customers.
Shipping Costs
In case you would like to offer subscription orders free of shipping costs, you can also define this via the Rule Engine. Simply follow the same path structure as for the payment methods, but select Shipping Options
in the Results and deactivate shipping options that are not free shipping.
Terms & Conditions
Please ensure that your terms and conditions are updated to cover the subscription use-case and specifically the usage of continuous payment authorization.
Subscription Emails
As subscriptions require emails to be sent to the customer, the Add-on triggers additional emails to the customer for the subscription creation and subscription cancellation.
As the emails informing the customer about the creation and cancellation of their subscriptions are currently handled by the Add-on directly, please contact your SCAYLE Account Manager for assistance in setting up the templates.
Additional emails for subscription updates (e.g. status or interval changes) will be available in the future.