Loyalty cards

Implementation is OPTIONAL

General Flow

  • Smarts shows available loyalty cards in app.

  • Client will select card and fill required fields to link loyalty cards.

  • Merchant will verify loyalty card and send loyalty card information to Smarts

  • Smarts will send loyalty card information along with request to get client based prices and offers.

  • Bonus point system can be used in app and payment process.


  • Create and configure new loyalty card in Smarts manager UI.

    • Choose loyalty card type (Default, Bonus, ... etc)

    • Choose stores where this card can be used

    • Choose validation methods.

      • Currently available: identification code, card number, phone, email

  • Implement required SDK methods for loyalty card verification


You only need to create a new class, implement LoyaltyCardAdapter interface and fill all required methods. API endpoints for loyalty card services are created automatically and secured with token.

It is important to add @Component annotation on top of the class. There is no restriction for class name or location in your project. Our SDK will find your implementation based on the interface (DI).

import ee.smarts.common.v1.Exceptions.LoyaltyCardException;
import ee.smarts.common.v1.requests.LoyaltyCardBonusRequest;
import ee.smarts.common.v1.requests.LoyaltyCardRegistrationRequest;
import ee.smarts.common.v1.responses.LoyaltyCardBonusResponse;
import ee.smarts.common.v1.responses.LoyaltyCardRegistrationResponse;
import ee.smarts.starter.adapter.LoyaltyCardAdapter;
import org.springframework.stereotype.Component;

public class LoyaltyCardAdapterImpl implements LoyaltyCardAdapter {

    public LoyaltyCardRegistrationResponse register(LoyaltyCardRegistrationRequest request) throws LoyaltyCardException {
        // implement this method
        return null;

    public LoyaltyCardBonusResponse getLoyaltyCardBonus(LoyaltyCardBonusRequest request) throws LoyaltyCardException {
        // implement this method
        return null;

Last updated