docs
  1. Storefront
  2. Checkout
  3. Loyalty Programs

Loyalty Programs

SCAYLE Checkout supports the interface and infraestructure for integrating any third-party loyalty programs directly into the payment step via APIs. This means tenants can implement loyalty cards of their choice – such as PAYBACK or other provider-backed programs—to allow customers to collect (earn) and burn (redeem) points during the checkout process. This functionality enables customers to:

  • Register or subscribe to a loyalty program during checkout,
  • Enter an existing membership number to collect loyalty points,
  • And, where supported, use loyalty points to partially or fully pay for the order.

While SCAYLE Checkout facilitates the input and transmission of loyalty data, it does not handle the underlying business logic for earning or redeeming points.

For earning points, SCAYLE relies on the calculation factor configured in the SCAYLE Panel for each loyalty program. This factor is multiplied by the order total to determine how many points a customer will receive after order confirmation.

For redeeming points, SCAYLE uses the conversion factor provided by the tenant to calculate the monetary value of a customer’s loyalty balance during checkout. For example, if a customer has 1,500 points and the conversion factor is set to 0.01, those points would equal 15.00 EUR (1,500 × 0.01).

All other loyalty logic—such as promotional code validation, bonus point calculation, or reward application—must be handled entirely by the middleware or the external loyalty provider.

User Flow

If a loyalty program is configured, the customer will see a dedicated loyalty section on the payment step of the checkout. Depending on the Loyalty Program configuration, this section provides options to either register for the program or enter an existing membership number.

Loyalty Program module in the Checkout

Registration

First-time users can register for a loyalty or membership program directly within the checkout flow using a dedicated registration form. Once completed, the newly registered loyalty account is linked to the order.

Earning Loyalty Points

Existing members can enter their loyalty card number to collect points with their purchase. Once entered, SCAYLE can validate and optionally verify the number through your middleware and the loyalty provider. Similarly to the registration, you will also find the attached card in the state response.

Customers can opt for removing the attached loyalty card from the input field. Once detached, the order will not earn points under the removed card.

After validation, the card balance will be checked. Based on the response, customers may use points to fully or partially pay for their order, depending on your loyalty provider’s logic. Users have the option to choose how many loyalty points they want to redeem during checkout.

Redeeming Loyalty Points

Full redemption

If a customer’s loyalty points are equal to or greater than the order total, the checkout can be completed without requiring any additional payment method.

Partial redemption

Partial redemption is supported, allowing customers to use only a portion of their available points and save the rest for future purchases.
When points are applied, the checkout state response reflects the updated total purchase price and the number of loyalty points deducted.

After all optional loyalty actions are completed, the checkout continues as usual. Loyalty data (card number, promo code, etc.) is included in the order submission and forwarded to your backend or middleware.

Excluding Products from a Loyalty Program

Some products in your catalog may need to be excluded from loyalty point calculations—both when earning and when redeeming points. You configure this at the product level using attributes in the SCAYLE Panel. Because a shop can have one or multiple loyalty programs enabled at the same time, the configuration lets you exclude a product from a single program or from several of them.

Setup in SCAYLE Panel

Follow these steps to exclude a product from one or more loyalty programs:

1. In the SCAYLE Panel, navigate to Settings ➜ Product structure ➜ Atrributes and create a new attributeGroup. The group must be named exactly loyaltyCardExclusion. Configure the group as follows:

  • Group: select Product Level
  • Entity Level: select Product
  • Under Attribute Structure, enable:
    • Visible for enhancement process
    • Editable on enhancement process
    • Defining for Product Level
    • Show on the preview of the Product Page

Click on Save to apply the changes.

Creating the loyaltyCardExclusion attribute group

2. Open the Attributes tab inside the loyaltyCardExclusion group and click on + Add Attribute. Create an attribute whose name matches the exact name of the loyalty program. The Checkout uses this attribute name to identify which loyalty program the product is excluded from.

Adding and attribute named after the loyalty program

If you want a product excluded from multiple loyalty programs, create one attribute per program inside the same group, each named after the corresponding loyalty program.

4. Add the attribute group to the relevant product category. Go to Settings ➜ Product structure ➜ Categories and search for the desired category. Click + Add Attribute Group and link the loyaltyCardExclusion group. If you have multiple loyalty programs enabled, you can optionally disable individual attributes for this category. Click Add Attribute Group to save your changes.

Linking the loyaltyCardExclusion group to a product category

Once added, every product within the modified category receives the loyaltyCardExclusion attribute automatically.

You can optionally remove the attribute for an individual product from within its properties:

After the cache is reloaded, the changes you made in the SCAYLE Panel take effect in the Checkout.

Behavior in Calculations

When a basket contains products marked with the loyaltyCardExclusion attribute for a given loyalty program:

  • Calculations of granted loyalty points exclude these items from the total order amount.
  • Calculations of redeemed loyalty points exclude these items from the total order amount.

This logic cannot be changed.

Behavior in the Checkout UI

The loyalty program module on the Checkout UI is rendered based on the contents of the basket:

  • If a basket contains both eligible and excluded products, the loyalty program module is rendered, and customers can attach a card or redeem points based on the eligible items only.
  • Whenever the basket is created or updated and contains only products to be excluded from the loyalty program, the Checkout UI does not render the loyalty program module.

Supported Payment Methods

If you want to configure loyalty point redemption, please note that it is only supported with specific payment providers. The following methods allow partial payments with loyalty points:

  • Klarna (direct integration and through Adyen integration)
  • PayPal Instant Capture (direct integration)
  • Riverty
  • Gift Cards

If your preferred payment option is not listed, please reach out to your SCAYLE Account Manager for further guidance.

Loyalty point redemption with PayPal Instant Capture is not supported for recurring payments.