Omnichannel icon

Payment-linked loyalty program

Offer a loyalty program without a separate loyalty card or app.

You can use customer recognition to make your existing loyalty program more frictionless for your customers by removing the need for a traditional loyalty card or app. In this tutorial, we'll explain how you can link your loyalty system to their customer profile. When they make a payment in your online or physical store, you can automatically recognize them, and award them with points, discounts, or a reward.

When you offer a payment-linked loyalty, you also give your customers an extra incentive to provide you their contact details, which you can also use to create a customer profile.

Requirements

To use payment-linked loyalty, make sure that:

  1. You can already create customer profiles and recognize returning customers across your sales channels.
  2. You have a loyalty system that keeps track of customer registration, as well as other data such as points balance and rewards eligibility.

Online loyalty

When your customer makes a purchase in your web or in-app store, attempt to recognize them, and check whether they have already enrolled in your loyalty program.

From here, you can either ask them to register for your loyalty program, or check whether they are eligible for a loyalty reward, before continuing with the transaction.

Step 1: Recognize customer

Before making a purchase, your customer will provide you with their contact details, such as an email address or phone number (for example, when creating or signing in to their account, or through your guest checkout).

To recognize whether this is a returning customer:

Step 2: Request customer input

After you have determined if they are a returning customer, query your loyalty system database using the shopperEmail and check their loyalty program status. Next, present a relevant message in your UI:

  • If they are not a member of your loyalty program, this message should ask them to register.
  • If they are already a member, you could inform them how close they are to receiving a reward or, if they have enough points, ask them whether they want to redeem their reward.

Step 3: Continue with payment

Continue with the purchase by initiating a payment. Here is how you can make a payment for a customer shopperEmail john_smith@example.com with a correspondingshopperReference ShopperID-A16729.

  1. Make a POST /payments request.

    The response includes:

    • pspReference: our unique identifier for this payment.
    • resultCode: Authorised

    The following example shows a successful response with a PSP reference of 881468919096134D.

    {
        "pspReference": "881468919096134D",
        "resultCode": "Authorised"
    }
  2. In your loyalty system database, update the loyalty points in your record forshopperEmail john_smith@example.com.

When you have set up a loyalty system for your online transactions you can do the same for in-person transactions.

In-person loyalty

There are two flows you can use to perform payment-linked loyalty using your point-of-sale integration.

  • Synchronous: using data you receive from Adyen before the payment is initiated.

    With this flow, you use the data that you receive from Adyen to query your loyalty system database. You then present loyalty information, such as a points balance or a personalized message, to your customer while they are making their purchase.

  • Asynchronous: using data you receive from a webhook after the payment has been processed.

    This flow requires less integration work, but you will not be able to present real-time loyalty information to your customer. You update your loyalty system at a later time with the information that you receive from webhooks.

To implement any of these flows, select a tab below: